Class ArrayCreationNode

java.lang.Object
org.checkerframework.dataflow.cfg.node.Node
org.checkerframework.dataflow.cfg.node.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 Details

    • 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 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 List<Node> initializers
  • Constructor Details

    • ArrayCreationNode

      public ArrayCreationNode(@Nullable com.sun.source.tree.NewArrayTree tree, TypeMirror type, List<Node> dimensions, List<Node> initializers)
  • Method Details

    • getDimensions

      public List<Node> getDimensions()
    • getDimension

      public Node getDimension(int i)
    • getInitializers

      public 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 String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(@Nullable Object obj)
      Overrides:
      equals in class Object
    • hashCode

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

      @SideEffectFree public 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