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.ValueCategoryNested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
IASTNode.CopyStyle -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ASTNodePropertyFIELD_NAMErepresents the relationship between aIASTFieldReferenceand itsIASTNamefield name.static final ASTNodePropertyFIELD_OWNERrepresents the relationship between aIASTFieldReferenceand itsIASTExpressionfield owner.Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTExpression
EMPTY_EXPRESSION_ARRAYFields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
r_declaration, r_definition, r_reference, r_unclearFields 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.booleanReturns 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, isLValueMethods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
getRoleForNameMethods 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_OWNERrepresents the relationship between aIASTFieldReferenceand itsIASTExpressionfield owner. -
FIELD_NAME
FIELD_NAMErepresents the relationship between aIASTFieldReferenceand itsIASTNamefield 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: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
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
-