Package 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.- Restriction:
- This interface is not intended to be implemented by clients.
- Restriction:
- This interface is not intended to be extended by clients.
-
-
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 Modifier and Type Field Description 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.IASTImplicitDestructorNameOwner
IMPLICIT_DESTRUCTOR_NAME
-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTImplicitNameOwner
IMPLICIT_NAME
-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description void
addNewTypeIdArrayExpression(IASTExpression expression)
Deprecated.the id-expressions are part of the type-idICPPASTNewExpression
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 ornull
.IASTExpression
getNewInitializer()
Deprecated.Replaced bygetInitializer()
IASTExpression
getNewPlacement()
Deprecated.Replaced bygetPlacementArguments()
IASTExpression[]
getNewTypeIdArrayExpressions()
Deprecated.the id-expressions are part of the type-id.IASTInitializerClause[]
getPlacementArguments()
Returns the additional arguments for the new placement, ornull
.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 bysetInitializer(IASTInitializer)
void
setNewPlacement(IASTExpression expression)
Deprecated.Replaced bysetPlacementArguments(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.IASTImplicitDestructorNameOwner
getImplicitDestructorNames
-
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTImplicitNameOwner
getImplicitNames
-
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.cpp.ICPPASTInitializerClause
getEvaluation
-
-
-
-
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.- Restriction:
- This field is not intended to be referenced by clients.
-
-
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, ornull
. A placement argument can be of typeICPPASTInitializerList
.- 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 ornull
.- 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 interfaceIASTExpression
- Specified by:
copy
in interfaceIASTInitializerClause
- Specified by:
copy
in interfaceIASTNode
- 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 interfaceIASTExpression
- Specified by:
copy
in interfaceIASTInitializerClause
- Specified by:
copy
in interfaceIASTNode
- Parameters:
style
-IASTNode.CopyStyle
create a copy with or without locations. Please seeIASTNode.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.- Restriction:
- This method is not intended to be referenced by clients.
-
addNewTypeIdArrayExpression
@Deprecated void addNewTypeIdArrayExpression(IASTExpression expression)
Deprecated.the id-expressions are part of the type-id- Restriction:
- This method is not intended to be referenced by clients.
-
getNewPlacement
@Deprecated IASTExpression getNewPlacement()
Deprecated.Replaced bygetPlacementArguments()
- Restriction:
- This method is not intended to be referenced by clients.
-
setNewPlacement
@Deprecated void setNewPlacement(IASTExpression expression)
Deprecated.Replaced bysetPlacementArguments(IASTInitializerClause[])
- Restriction:
- This method is not intended to be referenced by clients.
-
getNewInitializer
@Deprecated IASTExpression getNewInitializer()
Deprecated.Replaced bygetInitializer()
- Restriction:
- This method is not intended to be referenced by clients.
-
setNewInitializer
@Deprecated void setNewInitializer(IASTExpression expression)
Deprecated.Replaced bysetInitializer(IASTInitializer)
- Restriction:
- This method is not intended to be referenced by clients.
-
-