aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/node/ArrayCreationNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/node/ArrayCreationNode.java')
-rw-r--r--third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/node/ArrayCreationNode.java136
1 files changed, 0 insertions, 136 deletions
diff --git a/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/node/ArrayCreationNode.java b/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/node/ArrayCreationNode.java
deleted file mode 100644
index 5f277f2a0b..0000000000
--- a/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/node/ArrayCreationNode.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.checkerframework.dataflow.cfg.node;
-
-/*>>>
-import org.checkerframework.checker.nullness.qual.Nullable;
-*/
-
-import com.sun.source.tree.NewArrayTree;
-import com.sun.source.tree.Tree;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import javax.lang.model.type.TypeMirror;
-import org.checkerframework.dataflow.util.HashCodeUtils;
-
-/**
- * A node for new array creation
- *
- * <pre>
- * <em>new type [1][2]</em>
- * <em>new type [] = { expr1, expr2, ... }</em>
- * </pre>
- *
- * @author Stefan Heule
- * @author Charlie Garrett
- */
-public class ArrayCreationNode extends Node {
-
- /** The tree is null when an array is created for variable arity method calls. */
- protected /*@Nullable*/ NewArrayTree tree;
- /**
- * The length of this list is the number of dimensions in the array. Each element is the size of
- * the given dimension.
- */
- protected List<Node> dimensions;
-
- protected List<Node> initializers;
-
- public ArrayCreationNode(
- /*@Nullable*/ NewArrayTree tree,
- TypeMirror type,
- List<Node> dimensions,
- List<Node> initializers) {
- super(type);
- this.tree = tree;
- this.dimensions = dimensions;
- this.initializers = initializers;
- }
-
- public List<Node> getDimensions() {
- return dimensions;
- }
-
- public Node getDimension(int i) {
- return dimensions.get(i);
- }
-
- public List<Node> getInitializers() {
- return initializers;
- }
-
- public Node getInitializer(int i) {
- return initializers.get(i);
- }
-
- @Override
- public Tree getTree() {
- return tree;
- }
-
- @Override
- public <R, P> R accept(NodeVisitor<R, P> visitor, P p) {
- return visitor.visitArrayCreation(this, p);
- }
-
- @Override
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append("new " + type);
- if (!dimensions.isEmpty()) {
- boolean needComma = false;
- sb.append(" (");
- for (Node dim : dimensions) {
- if (needComma) {
- sb.append(", ");
- }
- sb.append(dim);
- needComma = true;
- }
- sb.append(")");
- }
- if (!initializers.isEmpty()) {
- boolean needComma = false;
- sb.append(" = {");
- for (Node init : initializers) {
- if (needComma) {
- sb.append(", ");
- }
- sb.append(init);
- needComma = true;
- }
- sb.append("}");
- }
- return sb.toString();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == null || !(obj instanceof ArrayCreationNode)) {
- return false;
- }
- ArrayCreationNode other = (ArrayCreationNode) obj;
-
- return getDimensions().equals(other.getDimensions())
- && getInitializers().equals(other.getInitializers());
- }
-
- @Override
- public int hashCode() {
- int hash = 0;
- for (Node dim : dimensions) {
- hash = HashCodeUtils.hash(hash, dim.hashCode());
- }
- for (Node init : initializers) {
- hash = HashCodeUtils.hash(hash, init.hashCode());
- }
- return hash;
- }
-
- @Override
- public Collection<Node> getOperands() {
- LinkedList<Node> list = new LinkedList<Node>();
- list.addAll(dimensions);
- list.addAll(initializers);
- return list;
- }
-}