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

public abstract class UnderlyingAST extends Object implements org.plumelib.util.UniqueId
Represents an abstract syntax tree of type Tree that underlies a given control flow graph.
  • Field Details

  • Constructor Details

    • UnderlyingAST

      protected UnderlyingAST(UnderlyingAST.Kind kind)
      Creates an UnderlyingAST.
      Parameters:
      kind - the kind of the AST
  • Method Details

    • getUid

      public long getUid(@UnknownInitialization UnderlyingAST this)
      Specified by:
      getUid in interface org.plumelib.util.UniqueId
    • getCode

      public abstract Tree 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

      public UnderlyingAST.Kind getKind()