Eclipse CDT
7.0

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, ICPPASTNewExpression, ICPPASTPackExpansionExpression, ICPPASTSimpleTypeConstructorExpression, ICPPASTTypeIdExpression, ICPPASTTypenameExpression, ICPPASTUnaryExpression, IGNUASTCompoundStatementExpression, IGNUASTTypeIdExpression, IGNUASTUnaryExpression, IGPPASTBinaryExpression

public interface IASTExpression
extends IASTInitializerClause

This is the root class of expressions.


Nested Class Summary
static class IASTExpression.ValueCategory
           
 
Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
IASTNode.CopyStyle
 
Field Summary
static IASTExpression[] EMPTY_EXPRESSION_ARRAY
          Empty expression array.
 
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
 
Method Summary
 IASTExpression copy()
          Returns a mutable copy of the tree rooted at this node.
 IASTExpression copy(IASTNode.CopyStyle style)
          Returns a mutable copy of the tree rooted at this node.
 IType getExpressionType()
          Returns the type of the value the expression evaluates to.
 IASTExpression.ValueCategory getValueCategory()
          Returns the value category of this expression.
 boolean isLValue()
          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: 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

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

copy

IASTExpression 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 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

Eclipse CDT
7.0

Copyright (c) IBM Corp. and others 2004, 2012. All Rights Reserved.