Package org.eclipse.cdt.core.dom.ast
Interface IASTFieldReference
- All Superinterfaces:
IASTExpression
,IASTInitializerClause
,IASTNameOwner
,IASTNode
- All Known Subinterfaces:
ICPPASTFieldReference
This interface represents expressions that access a field reference. e.g. a.b => a
is the expression, b is the field name. e.g. a()->def => a() is the
expression, def is the field name.
- 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
Modifier and TypeFieldDescriptionstatic final ASTNodeProperty
FIELD_NAME
represents the relationship between aIASTFieldReference
and itsIASTName
field name.static final ASTNodeProperty
FIELD_OWNER
represents the relationship between aIASTFieldReference
and itsIASTExpression
field owner.Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTExpression
EMPTY_EXPRESSION_ARRAY
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
r_declaration, r_definition, r_reference, r_unclear
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptioncopy()
Returns a mutable copy of the tree rooted at this node.copy
(IASTNode.CopyStyle style) Returns a mutable copy of the tree rooted at this node.Returns the name of the field being dereferenced.Returns an expression for the object containing the field.boolean
Returns true of this is the arrow operator and not the dot operator.void
setFieldName
(IASTName name) Sets the name of the field.void
setFieldOwner
(IASTExpression expression) Sets the expression for the object containing the field.void
setIsPointerDereference
(boolean value) Sets whether or not this is a pointer dereference (default == no).Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTExpression
getExpressionType, getValueCategory, isLValue
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
getRoleForName
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 Details
-
FIELD_OWNER
FIELD_OWNER
represents the relationship between aIASTFieldReference
and itsIASTExpression
field owner. -
FIELD_NAME
FIELD_NAME
represents the relationship between aIASTFieldReference
and itsIASTName
field name.
-
-
Method Details
-
getFieldOwner
IASTExpression getFieldOwner()Returns an expression for the object containing the field.- Returns:
- the field owner
-
setFieldOwner
Sets the expression for the object containing the field.- Parameters:
expression
-
-
getFieldName
IASTName getFieldName()Returns the name of the field being dereferenced.- Returns:
- the name of the field (
IASTName
)
-
setFieldName
Sets the name of the field.- Parameters:
name
- the new name
-
isPointerDereference
boolean isPointerDereference()Returns true of this is the arrow operator and not the dot operator.- Returns:
- is this a pointer dereference
-
setIsPointerDereference
void setIsPointerDereference(boolean value) Sets whether or not this is a pointer dereference (default == no).- Parameters:
value
- the new value
-
copy
IASTFieldReference 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
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
-