Class CFCFGBuilder
java.lang.Object
org.checkerframework.dataflow.cfg.builder.CFGBuilder
org.checkerframework.framework.flow.CFCFGBuilder
A control-flow graph builder (see
CFGBuilder) that knows about the Checker Framework
annotations and their representation as AnnotatedTypeMirrors.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classA specialized phase-one CFG builder, with a few modifications that make use of the type factory. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanassumeAssertionsActivatedForAssertTree(BaseTypeChecker checker, AssertTree tree) Given a SourceChecker and an AssertTree, returns whether the AssertTree uses an @AssumeAssertion string that is relevant to the SourceChecker.static ControlFlowGraphbuild(CompilationUnitTree root, UnderlyingAST underlyingAST, BaseTypeChecker checker, AnnotatedTypeFactory factory, ProcessingEnvironment env) Build the control flow graph of some code.Methods inherited from class org.checkerframework.dataflow.cfg.builder.CFGBuilder
build, build, build, build, extendedNodeCollectionToStringDebug, printBlocks
-
Constructor Details
-
CFCFGBuilder
protected CFCFGBuilder()This class should never be instantiated. Protected to still allow subclasses.
-
-
Method Details
-
build
public static ControlFlowGraph build(CompilationUnitTree root, UnderlyingAST underlyingAST, BaseTypeChecker checker, AnnotatedTypeFactory factory, ProcessingEnvironment env) Build the control flow graph of some code. -
assumeAssertionsActivatedForAssertTree
public static boolean assumeAssertionsActivatedForAssertTree(BaseTypeChecker checker, AssertTree tree) Given a SourceChecker and an AssertTree, returns whether the AssertTree uses an @AssumeAssertion string that is relevant to the SourceChecker.- Parameters:
checker- the checkertree- an assert tree- Returns:
- true if the assert tree contains an @AssumeAssertion(checker) message string for any subchecker of the given checker's ultimate parent checker
-