Package org.eclipse.cdt.core.dom.ast
Interface IASTFieldReference
-
- All Superinterfaces:
IASTExpression
,IASTInitializerClause
,IASTNameOwner
,IASTNode
- All Known Subinterfaces:
ICPPASTFieldReference
public interface IASTFieldReference extends IASTExpression, IASTNameOwner
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
Fields Modifier and Type Field Description static ASTNodeProperty
FIELD_NAME
FIELD_NAME
represents the relationship between aIASTFieldReference
and itsIASTName
field name.static ASTNodeProperty
FIELD_OWNER
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IASTFieldReference
copy()
Returns a mutable copy of the tree rooted at this node.IASTFieldReference
copy(IASTNode.CopyStyle style)
Returns a mutable copy of the tree rooted at this node.IASTName
getFieldName()
Returns the name of the field being dereferenced.IASTExpression
getFieldOwner()
Returns an expression for the object containing the field.boolean
isPointerDereference()
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 Detail
-
FIELD_OWNER
static final ASTNodeProperty FIELD_OWNER
FIELD_OWNER
represents the relationship between aIASTFieldReference
and itsIASTExpression
field owner.
-
FIELD_NAME
static final ASTNodeProperty FIELD_NAME
FIELD_NAME
represents the relationship between aIASTFieldReference
and itsIASTName
field name.
-
-
Method Detail
-
getFieldOwner
IASTExpression getFieldOwner()
Returns an expression for the object containing the field.- Returns:
- the field owner
-
setFieldOwner
void setFieldOwner(IASTExpression expression)
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
void setFieldName(IASTName name)
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
IASTFieldReference 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
-
-