Class ArrayCreationNode

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

    public class ArrayCreationNode
    extends Node
    A node for new array creation.
       new type[1][2]
       new type[] = { expr1, expr2, ... }
     
    • Field Detail

      • tree

        protected final @Nullable com.sun.source.tree.NewArrayTree tree
        The tree is null when an array is created for variable arity method calls.
      • dimensions

        protected final java.util.List<Node> dimensions
        The length of this list is the number of dimensions in the array. Each element is the size of the given dimension. It can be empty if initializers is non-empty, as in new SomeType[] = { expr1, expr2, ... }.
      • initializers

        protected final java.util.List<Node> initializers
    • Constructor Detail

      • ArrayCreationNode

        public ArrayCreationNode​(@Nullable com.sun.source.tree.NewArrayTree tree,
                                 javax.lang.model.type.TypeMirror type,
                                 java.util.List<Node> dimensions,
                                 java.util.List<Node> initializers)
    • Method Detail

      • getDimensions

        public java.util.List<Node> getDimensions()
      • getDimension

        public Node getDimension​(int i)
      • getInitializers

        public java.util.List<Node> getInitializers()
      • getInitializer

        public Node getInitializer​(int i)
      • getTree

        public @Nullable 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
      • 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