Class FieldAccessNode

  • All Implemented Interfaces:
    org.plumelib.util.UniqueId

    public class FieldAccessNode
    extends Node
    A node for a field access, including a method accesses:
       expression . field
     
    • Field Detail

      • tree

        protected final com.sun.source.tree.Tree tree
        The tree of the field access.
      • element

        protected final javax.lang.model.element.VariableElement element
        The element of the accessed field.
      • field

        protected final java.lang.String field
        The name of the accessed field.
      • receiver

        protected final Node receiver
        The receiver node of the field access.
    • Constructor Detail

      • FieldAccessNode

        public FieldAccessNode​(com.sun.source.tree.Tree tree,
                               Node receiver)
        Creates a new FieldAccessNode.
        Parameters:
        tree - the tree from which to create a FieldAccessNode
        receiver - the receiver for the resulting FieldAccessNode
      • FieldAccessNode

        public FieldAccessNode​(com.sun.source.tree.Tree tree,
                               javax.lang.model.element.VariableElement element,
                               Node receiver)
    • Method Detail

      • getElement

        public javax.lang.model.element.VariableElement getElement()
      • getReceiver

        public Node getReceiver()
      • getFieldName

        public java.lang.String getFieldName()
      • getTree

        public com.sun.source.tree.Tree getTree()
        Description copied from class: Node
        Returns the Tree in the abstract syntax tree, or null if no corresponding tree exists. For instance, this is the case for an ImplicitThisNode.
        Specified by:
        getTree in class Node
        Returns:
        the corresponding Tree or null
      • accept

        public <R,​P> R accept​(NodeVisitor<R,​P> visitor,
                                    P p)
        Description copied from class: Node
        Accept method of the visitor pattern.
        Specified by:
        accept in class Node
        Type Parameters:
        R - result type of the operation
        P - parameter type
        Parameters:
        visitor - the visitor to be applied to this node
        p - the parameter for this operation
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • isStatic

        public boolean isStatic()
        Determine whether the field is static or not.
        Returns:
        whether the field is static or not
      • equals

        public boolean equals​(@Nullable java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • getOperands

        @SideEffectFree
        public java.util.Collection<Node> getOperands()
        Description copied from class: Node
        Returns a collection containing all of the operand Nodes of this Node.
        Specified by:
        getOperands in class Node
        Returns:
        a collection containing all of the operand Nodes of this Node