aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/node/ClassNameNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/node/ClassNameNode.java')
-rw-r--r--third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/node/ClassNameNode.java120
1 files changed, 0 insertions, 120 deletions
diff --git a/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/node/ClassNameNode.java b/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/node/ClassNameNode.java
deleted file mode 100644
index c3e2471309..0000000000
--- a/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/node/ClassNameNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package org.checkerframework.dataflow.cfg.node;
-
-/*>>>
-import org.checkerframework.checker.nullness.qual.Nullable;
-*/
-
-import com.sun.source.tree.ClassTree;
-import com.sun.source.tree.IdentifierTree;
-import com.sun.source.tree.MemberSelectTree;
-import com.sun.source.tree.Tree;
-import java.util.Collection;
-import java.util.Collections;
-import javax.lang.model.element.Element;
-import javax.lang.model.type.TypeMirror;
-import org.checkerframework.dataflow.util.HashCodeUtils;
-import org.checkerframework.javacutil.InternalUtils;
-import org.checkerframework.javacutil.TreeUtils;
-
-/**
- * A node representing a class name used in an expression such as a static method invocation.
- *
- * <p>parent.<em>class</em> .forName(...)
- *
- * @author Stefan Heule
- * @author Charlie Garrett
- */
-public class ClassNameNode extends Node {
-
- protected final Tree tree;
- /** The class named by this node */
- protected final Element element;
-
- /** The parent name, if any. */
- protected final /*@Nullable*/ Node parent;
-
- public ClassNameNode(IdentifierTree tree) {
- super(InternalUtils.typeOf(tree));
- assert tree.getKind() == Tree.Kind.IDENTIFIER;
- this.tree = tree;
- this.element = TreeUtils.elementFromUse(tree);
- this.parent = null;
- }
-
- public ClassNameNode(ClassTree tree) {
- super(InternalUtils.typeOf(tree));
- assert tree.getKind() == Tree.Kind.CLASS
- || tree.getKind() == Tree.Kind.ENUM
- || tree.getKind() == Tree.Kind.INTERFACE
- || tree.getKind() == Tree.Kind.ANNOTATION_TYPE;
- this.tree = tree;
- this.element = TreeUtils.elementFromDeclaration(tree);
- this.parent = null;
- }
-
- public ClassNameNode(MemberSelectTree tree, Node parent) {
- super(InternalUtils.typeOf(tree));
- this.tree = tree;
- this.element = TreeUtils.elementFromUse(tree);
- this.parent = parent;
- }
-
- public ClassNameNode(TypeMirror type, Element element) {
- super(type);
- this.tree = null;
- this.element = element;
- this.parent = null;
- }
-
- public Element getElement() {
- return element;
- }
-
- public Node getParent() {
- return parent;
- }
-
- @Override
- public Tree getTree() {
- return tree;
- }
-
- @Override
- public <R, P> R accept(NodeVisitor<R, P> visitor, P p) {
- return visitor.visitClassName(this, p);
- }
-
- @Override
- public String toString() {
- return getElement().getSimpleName().toString();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == null || !(obj instanceof ClassNameNode)) {
- return false;
- }
- ClassNameNode other = (ClassNameNode) obj;
- if (getParent() == null) {
- return other.getParent() == null && getElement().equals(other.getElement());
- } else {
- return getParent().equals(other.getParent()) && getElement().equals(other.getElement());
- }
- }
-
- @Override
- public int hashCode() {
- if (parent == null) {
- return HashCodeUtils.hash(getElement());
- }
- return HashCodeUtils.hash(getElement(), getParent());
- }
-
- @Override
- public Collection<Node> getOperands() {
- if (parent == null) {
- return Collections.emptyList();
- }
- return Collections.singleton(parent);
- }
-}