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 ASTNodePropertyFIELD_NAMEFIELD_NAMErepresents the relationship between aIASTFieldReferenceand itsIASTNamefield name.static ASTNodePropertyFIELD_OWNERFIELD_OWNERrepresents the relationship between aIASTFieldReferenceand itsIASTExpressionfield 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 IASTFieldReferencecopy()Returns a mutable copy of the tree rooted at this node.IASTFieldReferencecopy(IASTNode.CopyStyle style)Returns a mutable copy of the tree rooted at this node.IASTNamegetFieldName()Returns the name of the field being dereferenced.IASTExpressiongetFieldOwner()Returns an expression for the object containing the field.booleanisPointerDereference()Returns true of this is the arrow operator and not the dot operator.voidsetFieldName(IASTName name)Sets the name of the field.voidsetFieldOwner(IASTExpression expression)Sets the expression for the object containing the field.voidsetIsPointerDereference(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_OWNERrepresents the relationship between aIASTFieldReferenceand itsIASTExpressionfield owner.
-
FIELD_NAME
static final ASTNodeProperty FIELD_NAME
FIELD_NAMErepresents the relationship between aIASTFieldReferenceand itsIASTNamefield 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: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 interfaceIASTExpression- Specified by:
copyin interfaceIASTInitializerClause- Specified by:
copyin interfaceIASTNode- Since:
- 5.1
-
copy
IASTFieldReference 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 interfaceIASTExpression- 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
-
-