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.
  • Field Details

    • 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 Details

    • 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

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