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>
dimensions
The length of this list is the number of dimensions in the array.protected java.util.List<Node>
initializers
protected @Nullable com.sun.source.tree.NewArrayTree
tree
The 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.boolean
equals(@Nullable java.lang.Object obj)
Node
getDimension(int i)
java.util.List<Node>
getDimensions()
Node
getInitializer(int i)
java.util.List<Node>
getInitializers()
java.util.Collection<Node>
getOperands()
@Nullable com.sun.source.tree.Tree
getTree()
Returns theTree
in the abstract syntax tree, ornull
if no corresponding tree exists.int
hashCode()
java.lang.String
toString()
-
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:Node
Returns theTree
in the abstract syntax tree, ornull
if 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:Node
Accept method of the visitor pattern.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(@Nullable java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
getOperands
@SideEffectFree public java.util.Collection<Node> getOperands()
Description copied from class:Node
- Specified by:
getOperands
in classNode
- Returns:
- a collection containing all of the operand
Node
s of thisNode
-
-