Class UnderlyingAST
java.lang.Object
org.checkerframework.dataflow.cfg.UnderlyingAST
- All Implemented Interfaces:
org.plumelib.util.UniqueId
- Direct Known Subclasses:
UnderlyingAST.CFGLambda
,UnderlyingAST.CFGMethod
,UnderlyingAST.CFGStatement
Represents an abstract syntax tree of type
Tree
that underlies a given control flow
graph.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
If the underlying AST is a lambda.static class
If the underlying AST is a method.static class
If the underlying AST is a statement or expression.static enum
The kinds of underlying ASTs. -
Field Summary
Modifier and TypeFieldDescriptionprotected final UnderlyingAST.Kind
The kind of the underlying AST. -
Constructor Summary
ModifierConstructorDescriptionprotected
Creates an UnderlyingAST. -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.plumelib.util.UniqueId
getClassAndUid
-
Field Details
-
kind
The kind of the underlying AST.
-
-
Constructor Details
-
UnderlyingAST
Creates an UnderlyingAST.- Parameters:
kind
- the kind of the AST
-
-
Method Details
-
getUid
- Specified by:
getUid
in interfaceorg.plumelib.util.UniqueId
-
getCode
Returns the code that corresponds to the CFG. For a method or lamdda, this returns the body. For other constructs, it returns the tree itself (a statement or expression).- Returns:
- the code that corresponds to the CFG
-
getKind
-