Package org.eclipse.cdt.core.dom.ast
Interface IASTExpression
-
- All Superinterfaces:
IASTInitializerClause,IASTNode
- All Known Subinterfaces:
IASTArraySubscriptExpression,IASTBinaryExpression,IASTBinaryTypeIdExpression,IASTCastExpression,IASTConditionalExpression,IASTExpressionList,IASTFieldReference,IASTFunctionCallExpression,IASTIdExpression,IASTLiteralExpression,IASTProblemExpression,IASTTypeIdExpression,IASTTypeIdInitializerExpression,IASTUnaryExpression,ICASTTypeIdInitializerExpression,ICPPASTArraySubscriptExpression,ICPPASTBinaryExpression,ICPPASTCastExpression,ICPPASTDeleteExpression,ICPPASTExpression,ICPPASTExpressionList,ICPPASTFieldReference,ICPPASTFunctionCallExpression,ICPPASTLambdaExpression,ICPPASTLiteralExpression,ICPPASTNaryTypeIdExpression,ICPPASTNewExpression,ICPPASTPackExpansionExpression,ICPPASTSimpleTypeConstructorExpression,ICPPASTTypeIdExpression,ICPPASTTypenameExpression,ICPPASTUnaryExpression,IGNUASTCompoundStatementExpression,IGNUASTTypeIdExpression,IGNUASTUnaryExpression,IGPPASTBinaryExpression
public interface IASTExpression extends IASTInitializerClause
This is the root class of expressions.- 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 Modifier and Type Interface Description static classIASTExpression.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 IASTExpression[]EMPTY_EXPRESSION_ARRAYEmpty expression array.-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IASTExpressioncopy()Returns a mutable copy of the tree rooted at this node.IASTExpressioncopy(IASTNode.CopyStyle style)Returns a mutable copy of the tree rooted at this node.ITypegetExpressionType()Returns the type of the value the expression evaluates to.IASTExpression.ValueCategorygetValueCategory()Returns the value category of this expression.booleanisLValue()Returns whether this expression is an lvalue.-
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
-
-
-
-
Field Detail
-
EMPTY_EXPRESSION_ARRAY
static final IASTExpression[] EMPTY_EXPRESSION_ARRAY
Empty expression array.
-
-
Method Detail
-
getExpressionType
IType getExpressionType()
Returns the type of the value the expression evaluates to.
-
isLValue
boolean isLValue()
Returns whether this expression is an lvalue. LValues are for instance required on the left hand side of an assignment expression.- Since:
- 5.2
-
getValueCategory
IASTExpression.ValueCategory getValueCategory()
Returns the value category of this expression.- Since:
- 5.3
-
copy
IASTExpression copy()
Description copied from interface:IASTNodeReturns 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:
copyin interfaceIASTInitializerClause- Specified by:
copyin interfaceIASTNode- Since:
- 5.1
-
copy
IASTExpression copy(IASTNode.CopyStyle style)
Description copied from interface:IASTNodeReturns 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:
copyin interfaceIASTInitializerClause- Specified by:
copyin interfaceIASTNode- Parameters:
style-IASTNode.CopyStylecreate a copy with or without locations. Please seeIASTNode.CopyStylefor restrictions on copies with Locations.- Since:
- 5.3
-
-