Class PurityChecker.PurityCheckerHelper
java.lang.Object
com.sun.source.util.TreeScanner<R,P>
 
com.sun.source.util.TreePathScanner<Void,Void>
 
org.checkerframework.dataflow.util.PurityChecker.PurityCheckerHelper
- All Implemented Interfaces:
- TreeVisitor<Void,- Void> 
- Enclosing class:
- PurityChecker
Helper class to keep 
PurityChecker's interface clean.
 The scanner is run on a single statement, not on a class or method.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final AnnotationProviderThe annotation provider (typically an AnnotatedTypeFactory).
- 
Constructor SummaryConstructorsConstructorDescriptionPurityCheckerHelper(AnnotationProvider annoProvider, boolean assumeSideEffectFree, boolean assumeDeterministic) Create a PurityCheckerHelper.
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidassignmentCheck(ExpressionTree variable) Check whethervariableis permitted on the left-hand-side of an assignment.protected booleanisLocalVariable(ExpressionTree variable) Checks if the argument is a local variable.visitAssignment(AssignmentTree tree, Void ignore) visitCatch(CatchTree tree, Void ignore) visitCompoundAssignment(CompoundAssignmentTree tree, Void ignore) visitMethodInvocation(MethodInvocationTree tree, Void ignore) visitNewClass(NewClassTree tree, Void ignore) visitUnary(UnaryTree tree, Void ignore) Methods inherited from class com.sun.source.util.TreePathScannergetCurrentPath, scan, scanMethods inherited from class com.sun.source.util.TreeScannerreduce, scan, visitAnnotatedType, visitAnnotation, visitArrayAccess, visitArrayType, visitAssert, visitBinary, visitBindingPattern, visitBlock, visitBreak, visitCase, visitClass, visitCompilationUnit, visitConditionalExpression, visitContinue, visitDefaultCaseLabel, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExports, visitExpressionStatement, visitForLoop, visitGuardedPattern, visitIdentifier, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabeledStatement, visitLambdaExpression, visitLiteral, visitMemberReference, visitMemberSelect, visitMethod, visitModifiers, visitModule, visitNewArray, visitOpens, visitOther, visitPackage, visitParameterizedType, visitParenthesized, visitParenthesizedPattern, visitPrimitiveType, visitProvides, visitRequires, visitReturn, visitSwitch, visitSwitchExpression, visitSynchronized, visitThrow, visitTry, visitTypeCast, visitTypeParameter, visitUnionType, visitUses, visitVariable, visitWhileLoop, visitWildcard, visitYield
- 
Field Details- 
annoProviderThe annotation provider (typically an AnnotatedTypeFactory).
 
- 
- 
Constructor Details- 
PurityCheckerHelperpublic PurityCheckerHelper(AnnotationProvider annoProvider, boolean assumeSideEffectFree, boolean assumeDeterministic) Create a PurityCheckerHelper.- Parameters:
- annoProvider- the annotation provider
- assumeSideEffectFree- true if all methods should be assumed to be @SideEffectFree
- assumeDeterministic- true if all methods should be assumed to be @Deterministic
 
 
- 
- 
Method Details- 
visitCatch- Specified by:
- visitCatchin interface- TreeVisitor<Void,- Void> 
- Overrides:
- visitCatchin class- TreeScanner<Void,- Void> 
 
- 
visitMethodInvocation- Specified by:
- visitMethodInvocationin interface- TreeVisitor<Void,- Void> 
- Overrides:
- visitMethodInvocationin class- TreeScanner<Void,- Void> 
 
- 
visitNewClass- Specified by:
- visitNewClassin interface- TreeVisitor<Void,- Void> 
- Overrides:
- visitNewClassin class- TreeScanner<Void,- Void> 
 
- 
visitAssignment- Specified by:
- visitAssignmentin interface- TreeVisitor<Void,- Void> 
- Overrides:
- visitAssignmentin class- TreeScanner<Void,- Void> 
 
- 
visitUnary- Specified by:
- visitUnaryin interface- TreeVisitor<Void,- Void> 
- Overrides:
- visitUnaryin class- TreeScanner<Void,- Void> 
 
- 
assignmentCheckCheck whethervariableis permitted on the left-hand-side of an assignment.- Parameters:
- variable- the lhs to check
 
- 
isLocalVariableChecks if the argument is a local variable.- Parameters:
- variable- the tree to check
- Returns:
- true if the argument is a local variable
 
- 
visitCompoundAssignment- Specified by:
- visitCompoundAssignmentin interface- TreeVisitor<Void,- Void> 
- Overrides:
- visitCompoundAssignmentin class- TreeScanner<Void,- Void> 
 
 
-