Class CFCFGBuilder.CFCFGTranslationPhaseOne
java.lang.Object
com.sun.source.util.TreeScanner<Node,Void>
 
org.checkerframework.dataflow.cfg.builder.CFGTranslationPhaseOne
org.checkerframework.framework.flow.CFCFGBuilder.CFCFGTranslationPhaseOne
- All Implemented Interfaces:
- TreeVisitor<Node,- Void> 
- Enclosing class:
- CFCFGBuilder
A specialized phase-one CFG builder, with a few modifications that make use of the type
 factory. It is responsible for: 1) translating foreach loops so that the declarations of their
 iteration variables have the right annotations, 2) registering the containing elements of
 artificial trees with the relevant type factories, and 3) generating appropriate assertion CFG
 structure in the presence of @AssumeAssertion assertion strings which mention the checker or
 its supercheckers.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final BaseTypeCheckerThe associated checker.protected final AnnotatedTypeFactoryType factory to provide types used during CFG building.Fields inherited from class org.checkerframework.dataflow.cfg.builder.CFGTranslationPhaseOneannotationProvider, arithmeticExceptionType, arrayIndexOutOfBoundsExceptionType, assertionErrorType, assumeAssertionsDisabled, assumeAssertionsEnabled, classCastExceptionType, classCircularityErrorType, classFormatErrorType, ea, elements, env, iterableType, negativeArraySizeExceptionType, newArrayExceptionTypes, noClassDefFoundErrorType, nullPointerExceptionType, outOfMemoryErrorType, stringType, throwableType, treeBuilder, trees, types, uid, uncheckedExceptionTypes
- 
Constructor SummaryConstructorsConstructorDescriptionCFCFGTranslationPhaseOne(CFTreeBuilder builder, BaseTypeChecker checker, AnnotatedTypeFactory factory, boolean assumeAssertionsEnabled, boolean assumeAssertionsDisabled, ProcessingEnvironment env) 
- 
Method SummaryModifier and TypeMethodDescriptionprotected booleanShould assertions be assumed to be executed for a givenAssertTree? False by default.protected VariableTreecreateEnhancedForLoopArrayVariable(ExpressionTree expression, VariableElement variableElement) protected VariableTreecreateEnhancedForLoopIteratorVariable(MethodInvocationTree iteratorCall, VariableElement variableElement) voidhandleArtificialTree(Tree tree) Perform any actions required when CFG translation creates a new Tree that is not part of the original AST.Methods inherited from class org.checkerframework.dataflow.cfg.builder.CFGTranslationPhaseOneaddLabelForNextNode, addToConvertedLookupMap, addToConvertedLookupMap, addToLookupMap, assignConvert, binaryNumericPromotion, binaryPromotedType, box, commonConvert, conditionalExprPromotion, conversionRequiresNarrowing, convertCallArguments, extendWithClassNameNode, extendWithExtendedNode, extendWithNode, extendWithNodeWithException, extendWithNodeWithExceptions, getAssertionsEnabledVariable, getCurrentPath, getLabel, getProcessingEnvironment, getTypeMirror, insertExtendedNodeAfter, insertNodeAfter, insertNodeWithExceptionsAfter, isNumericOrBoxed, maybeGetTypeMirror, methodInvocationConvert, narrow, narrowAndBox, process, process, scan, stringConversion, translateAssertWithAssertionsEnabled, translateAssignment, translateAssignment, unaryNumericPromotion, unbox, uniqueName, visitAnnotatedType, visitAnnotation, visitArrayAccess, visitArrayType, visitAssert, visitAssignment, visitBinary, visitBindingPattern17, visitBlock, visitBreak, visitCase, visitCatch, visitClass, visitCompilationUnit, visitCompoundAssignment, visitConditionalExpression, visitContinue, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExpressionStatement, visitForLoop, visitIdentifier, visitIf, visitImport, visitInstanceOf, visitLabeledStatement, visitLambdaExpression, visitLiteral, visitMemberReference, visitMemberSelect, visitMethod, visitMethodInvocation, visitModifiers, visitNewArray, visitNewClass, visitOther, visitParameterizedType, visitParenthesized, visitPrimitiveType, visitReturn, visitSwitch, visitSwitchExpression17, visitSynchronized, visitThrow, visitTry, visitTypeCast, visitTypeParameter, visitUnary, visitUnionType, visitVariable, visitWhileLoop, visitWildcard, visitYield17, widen, withoutAssignmentMethods inherited from class com.sun.source.util.TreeScannerreduce, scan, visitBindingPattern, visitDefaultCaseLabel, visitExports, visitGuardedPattern, visitIntersectionType, visitModule, visitOpens, visitPackage, visitParenthesizedPattern, visitProvides, visitRequires, visitSwitchExpression, visitUses, visitYield
- 
Field Details- 
checkerThe associated checker.
- 
factoryType factory to provide types used during CFG building.
 
- 
- 
Constructor Details- 
CFCFGTranslationPhaseOnepublic CFCFGTranslationPhaseOne(CFTreeBuilder builder, BaseTypeChecker checker, AnnotatedTypeFactory factory, boolean assumeAssertionsEnabled, boolean assumeAssertionsDisabled, ProcessingEnvironment env) 
 
- 
- 
Method Details- 
assumeAssertionsEnabledForDescription copied from class:CFGTranslationPhaseOneShould assertions be assumed to be executed for a givenAssertTree? False by default.- Overrides:
- assumeAssertionsEnabledForin class- CFGTranslationPhaseOne
 
- 
handleArtificialTreeDescription copied from class:CFGTranslationPhaseOnePerform any actions required when CFG translation creates a new Tree that is not part of the original AST.- Overrides:
- handleArtificialTreein class- CFGTranslationPhaseOne
- Parameters:
- tree- the newly created Tree
 
- 
createEnhancedForLoopIteratorVariableprotected VariableTree createEnhancedForLoopIteratorVariable(MethodInvocationTree iteratorCall, VariableElement variableElement) - Overrides:
- createEnhancedForLoopIteratorVariablein class- CFGTranslationPhaseOne
 
- 
createEnhancedForLoopArrayVariableprotected VariableTree createEnhancedForLoopArrayVariable(ExpressionTree expression, VariableElement variableElement) - Overrides:
- createEnhancedForLoopArrayVariablein class- CFGTranslationPhaseOne
 
 
-