diff options
Diffstat (limited to 'third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/UnderlyingAST.java')
-rw-r--r-- | third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/UnderlyingAST.java | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/UnderlyingAST.java b/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/UnderlyingAST.java deleted file mode 100644 index dd646f110d..0000000000 --- a/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/cfg/UnderlyingAST.java +++ /dev/null @@ -1,125 +0,0 @@ -package org.checkerframework.dataflow.cfg; - -import com.sun.source.tree.ClassTree; -import com.sun.source.tree.LambdaExpressionTree; -import com.sun.source.tree.MethodTree; -import com.sun.source.tree.Tree; - -/** - * Represents an abstract syntax tree of type {@link Tree} that underlies a given control flow - * graph. - * - * @author Stefan Heule - */ -public abstract class UnderlyingAST { - public enum Kind { - /** The underlying code is a whole method */ - METHOD, - /** The underlying code is a lambda expression */ - LAMBDA, - - /** The underlying code is an arbitrary Java statement or expression */ - ARBITRARY_CODE, - } - - protected final Kind kind; - - public UnderlyingAST(Kind kind) { - this.kind = kind; - } - - /** @return the code that corresponds to the CFG */ - public abstract Tree getCode(); - - public Kind getKind() { - return kind; - } - - /** If the underlying AST is a method. */ - public static class CFGMethod extends UnderlyingAST { - - /** The method declaration */ - protected final MethodTree method; - - /** The class tree this method belongs to. */ - protected final ClassTree classTree; - - public CFGMethod(MethodTree method, ClassTree classTree) { - super(Kind.METHOD); - this.method = method; - this.classTree = classTree; - } - - @Override - public Tree getCode() { - return method.getBody(); - } - - public MethodTree getMethod() { - return method; - } - - public ClassTree getClassTree() { - return classTree; - } - - @Override - public String toString() { - return "CFGMethod(\n" + method + "\n)"; - } - } - - /** If the underlying AST is a lambda. */ - public static class CFGLambda extends UnderlyingAST { - - private final LambdaExpressionTree lambda; - - public CFGLambda(LambdaExpressionTree lambda) { - super(Kind.LAMBDA); - this.lambda = lambda; - } - - @Override - public Tree getCode() { - return lambda.getBody(); - } - - public LambdaExpressionTree getLambdaTree() { - return lambda; - } - - @Override - public String toString() { - return "CFGLambda(\n" + lambda + "\n)"; - } - } - - /** If the underlying AST is a statement or expression. */ - public static class CFGStatement extends UnderlyingAST { - - protected final Tree code; - - /** The class tree this method belongs to. */ - protected final ClassTree classTree; - - public CFGStatement(Tree code, ClassTree classTree) { - super(Kind.ARBITRARY_CODE); - this.code = code; - this.classTree = classTree; - } - - @Override - public Tree getCode() { - return code; - } - - public ClassTree getClassTree() { - return classTree; - } - - @Override - public String toString() { - return "CFGStatement(\n" + code + "\n)"; - } - } -} |