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 Summary
Fields Modifier and Type Field Description protected java.util.List<Node>dimensionsThe length of this list is the number of dimensions in the array.protected java.util.List<Node>initializersprotected @Nullable com.sun.source.tree.NewArrayTreetreeThe tree is null when an array is created for variable arity method calls.
-
Constructor Summary
Constructors Constructor Description 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 Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <R,P>
Raccept(NodeVisitor<R,P> visitor, P p)Accept method of the visitor pattern.booleanequals(@Nullable java.lang.Object obj)NodegetDimension(int i)java.util.List<Node>getDimensions()NodegetInitializer(int i)java.util.List<Node>getInitializers()java.util.Collection<Node>getOperands()@Nullable com.sun.source.tree.TreegetTree()Returns theTreein the abstract syntax tree, ornullif no corresponding tree exists.inthashCode()java.lang.StringtoString()-
Methods inherited from class org.checkerframework.dataflow.cfg.node.Node
getBlock, getInSource, getTransitiveOperands, getType, getUid, isLValue, nodeCollectionToString, setBlock, setInSource, setLValue, toStringDebug
-
-
-
-
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 innew SomeType[] = { expr1, expr2, ... }.
-
initializers
protected final 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:NodeReturns theTreein the abstract syntax tree, ornullif no corresponding tree exists. For instance, this is the case for anImplicitThisNode.
-
accept
public <R,P> R accept(NodeVisitor<R,P> visitor, P p)
Description copied from class:NodeAccept method of the visitor pattern.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(@Nullable java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
getOperands
@SideEffectFree public java.util.Collection<Node> getOperands()
Description copied from class:Node- Specified by:
getOperandsin classNode- Returns:
- a collection containing all of the operand
Nodes of thisNode
-
-