Eclipse CDT
7.0

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.


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
static ASTNodeProperty FIELD_NAME
          FIELD_NAME represents the relationship between a IASTFieldReference and its IASTName field name.
static ASTNodeProperty FIELD_OWNER
          FIELD_OWNER represents the relationship between a IASTFieldReference and its IASTExpression 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.IASTNode
EMPTY_NODE_ARRAY
 
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
r_declaration, r_definition, r_reference, r_unclear
 
Method Summary
 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.IASTNode
accept, contains, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isActive, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent
 
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
getRoleForName
 

Field Detail

FIELD_OWNER

static final ASTNodeProperty FIELD_OWNER
FIELD_OWNER represents the relationship between a IASTFieldReference and its IASTExpression field owner.


FIELD_NAME

static final ASTNodeProperty FIELD_NAME
FIELD_NAME represents the relationship between a IASTFieldReference and its IASTName 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

Specified by:
copy in interface IASTExpression
Specified by:
copy in interface IASTInitializerClause
Specified by:
copy in interface IASTNode
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 interface IASTExpression
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.