org.eclipse.cdt.core.dom.ast.cpp

## Interface ICPPASTNewExpression

All Superinterfaces:
  IASTExpression, IASTImplicitDestructorNameOwner, IASTImplicitNameOwner, IASTInitializerClause, IASTNode, ICPPASTExpression, ICPPASTInitializerClause

    public interface ICPPASTNewExpression
    extends ICPPASTExpression, IASTImplicitNameOwner

This interface represents a new expression.

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTExpression

`IASTExpression.ValueCategory`

### Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`IASTNode.CopyStyle`

### Field Summary

Fields
`static ASTNodeProperty` `NEW_INITIALIZER`
`static ASTNodeProperty` `NEW_PLACEMENT`
`static ASTNodeProperty` `NEW_TYPEID_ARRAY_EXPRESSION` Deprecated. the id-expressions are part of the type-id.
`static ASTNodeProperty` `TYPE_ID`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTExpression

`EMPTY_EXPRESSION_ARRAY`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`EMPTY_NODE_ARRAY`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTImplicitDestructorNameOwner

`IMPLICIT_DESTRUCTOR_NAME`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTImplicitNameOwner

`IMPLICIT_NAME`

### Method Summary

All Methods Instance Methods Abstract Methods Deprecated Methods
`void` `addNewTypeIdArrayExpression(IASTExpression expression)` Deprecated. the id-expressions are part of the type-id
`ICPPASTNewExpression` `copy()` Returns a mutable copy of the tree rooted at this node.
`ICPPASTNewExpression` `copy(IASTNode.CopyStyle style)` Returns a mutable copy of the tree rooted at this node.
`IASTInitializer` `getInitializer()` Returns the initializer or `null`.
`IASTExpression` `getNewInitializer()` Deprecated. Replaced by `getInitializer()`
`IASTExpression` `getNewPlacement()` Deprecated. Replaced by `getPlacementArguments()`
`IASTExpression[]` `getNewTypeIdArrayExpressions()` Deprecated. the id-expressions are part of the type-id.
`IASTInitializerClause[]` `getPlacementArguments()` Returns the additional arguments for the new placement, or `null`.
`IASTTypeId` `getTypeId()` Get the type Id.
`boolean` `isArrayAllocation()` Returns true if this expression is allocating an array.
`boolean` `isGlobal()` Is this a ::new expression?
`boolean` `isNewTypeId()` Returns whether the the typeID a new type ID, which is the case when the type-id is provided without parenthesis.
`void` `setInitializer(IASTInitializer init)` Not allowed on frozen ast.
`void` `setIsGlobal(boolean value)` Not allowed on frozen ast.
`void` `setIsNewTypeId(boolean value)` Not allowed on frozen ast.
`void` `setNewInitializer(IASTExpression expression)` Deprecated. Replaced by `setInitializer(IASTInitializer)`
`void` `setNewPlacement(IASTExpression expression)` Deprecated. Replaced by `setPlacementArguments(IASTInitializerClause[])`
`void` `setPlacementArguments(IASTInitializerClause[] expression)` Not allowed on frozen ast.
`void` `setTypeId(IASTTypeId typeId)` Not allowed on frozen ast.

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTExpression

`getExpressionType, getValueCategory, isLValue`

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.cpp.ICPPASTInitializerClause

`getEvaluation`

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`accept, contains, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isActive, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent`

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTImplicitDestructorNameOwner

`getImplicitDestructorNames`

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTImplicitNameOwner

`getImplicitNames`

### Field Detail

#### NEW_PLACEMENT

    static final ASTNodeProperty NEW_PLACEMENT

#### TYPE_ID

    static final ASTNodeProperty TYPE_ID

#### NEW_INITIALIZER

    static final ASTNodeProperty NEW_INITIALIZER

#### NEW_TYPEID_ARRAY_EXPRESSION

    @Deprecated
    static final ASTNodeProperty NEW_TYPEID_ARRAY_EXPRESSION

Deprecated. the id-expressions are part of the type-id.

### Method Detail

#### isGlobal

    boolean isGlobal()

Is this a ::new expression?

#### isArrayAllocation

    boolean isArrayAllocation()

Returns true if this expression is allocating an array.

Since:
  5.1

#### getPlacementArguments

    IASTInitializerClause[] getPlacementArguments()

Returns the additional arguments for the new placement, or `null`. A placement argument can be of type `ICPPASTInitializerList`.

Since:
  5.2

#### getTypeId

    IASTTypeId getTypeId()

Get the type Id. The type-id includes the optional array modifications.

#### isNewTypeId

    boolean isNewTypeId()

Returns whether the the typeID a new type ID, which is the case when the type-id is provided without parenthesis.

#### getInitializer

    IASTInitializer getInitializer()

Returns the initializer or `null`.

Since:
  5.2

#### copy

    ICPPASTNewExpression copy()

Description copied from interface: `IASTNode`
Returns a mutable copy of the tree rooted at this node. The following postconditions hold:

     copy.getParent() == null
     copy.getPropertyInParent() == null
     copy.isFrozen() == false

Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.

Calling this method is equivalent to `copy(CopyStyle.withoutLocations)`.

Specified by:
  `copy` in interface `IASTExpression`
Specified by:
  `copy` in interface `IASTInitializerClause`
Specified by:
  `copy` in interface `IASTNode`
Since:
  5.1

#### copy

    ICPPASTNewExpression copy(IASTNode.CopyStyle style)

Description copied from interface: `IASTNode`
Returns a mutable copy of the tree rooted at this node. The following postconditions hold:

     copy.getParent() == null
     copy.getPropertyInParent() == null
     copy.isFrozen() == false

Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.

Specified by:
  `copy` in interface `IASTExpression`
Specified by:
  `copy` in interface `IASTInitializerClause`
Specified by:
  `copy` in interface `IASTNode`
Parameters:
  `style` - `IASTNode.CopyStyle` create a copy with or without locations. Please see `IASTNode.CopyStyle` for restrictions on copies with Locations.
Since:
  5.3

#### setIsGlobal

    void setIsGlobal(boolean value)

Not allowed on frozen ast.

#### setPlacementArguments

    void setPlacementArguments(IASTInitializerClause[] expression)

Not allowed on frozen ast.

Since:
  5.2

#### setTypeId

    void setTypeId(IASTTypeId typeId)

Not allowed on frozen ast.

#### setIsNewTypeId

    void setIsNewTypeId(boolean value)

Not allowed on frozen ast.

#### setInitializer

    void setInitializer(IASTInitializer init)

Not allowed on frozen ast.

Since:
  5.2

#### getNewTypeIdArrayExpressions

    @Deprecated
    IASTExpression[] getNewTypeIdArrayExpressions()

Deprecated. the id-expressions are part of the type-id.

#### addNewTypeIdArrayExpression

    @Deprecated
    void addNewTypeIdArrayExpression(IASTExpression expression)

Deprecated. the id-expressions are part of the type-id

#### getNewPlacement

    @Deprecated
    IASTExpression getNewPlacement()

Deprecated. Replaced by `getPlacementArguments()`

#### setNewPlacement

    @Deprecated
    void setNewPlacement(IASTExpression expression)

Deprecated. Replaced by `setPlacementArguments(IASTInitializerClause[])`

#### getNewInitializer

    @Deprecated
    IASTExpression getNewInitializer()

Deprecated. Replaced by `getInitializer()`

#### setNewInitializer

    @Deprecated
    void setNewInitializer(IASTExpression expression)

Deprecated. Replaced by `setInitializer(IASTInitializer)`