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

        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