protected static class PurityChecker.PurityCheckerHelper extends TreePathScanner<Void,Void>
PurityChecker's interface clean.| Modifier and Type | Field and Description |
|---|---|
protected AnnotationProvider |
annoProvider |
| Constructor and Description |
|---|
PurityCheckerHelper(AnnotationProvider annoProvider,
boolean assumeSideEffectFree,
boolean assumeDeterministic)
Create a PurityCheckerHelper.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
assignmentCheck(ExpressionTree variable)
Check whether
variable is permitted on the left-hand-side of an assignment. |
protected boolean |
isLocalVariable(ExpressionTree variable)
Checks if the argument is a local variable.
|
Void |
visitAssignment(AssignmentTree node,
Void ignore) |
Void |
visitCatch(CatchTree node,
Void ignore) |
Void |
visitCompoundAssignment(CompoundAssignmentTree node,
Void ignore) |
Void |
visitMethodInvocation(MethodInvocationTree node,
Void ignore) |
Void |
visitNewClass(NewClassTree node,
Void ignore) |
Void |
visitUnary(UnaryTree node,
Void ignore) |
getCurrentPath, scan, scanreduce, scan, visitAnnotatedType, visitAnnotation, visitArrayAccess, visitArrayType, visitAssert, visitBinary, visitBlock, visitBreak, visitCase, visitClass, visitCompilationUnit, visitConditionalExpression, visitContinue, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExports, visitExpressionStatement, visitForLoop, visitIdentifier, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabeledStatement, visitLambdaExpression, visitLiteral, visitMemberReference, visitMemberSelect, visitMethod, visitModifiers, visitModule, visitNewArray, visitOpens, visitOther, visitPackage, visitParameterizedType, visitParenthesized, visitPrimitiveType, visitProvides, visitRequires, visitReturn, visitSwitch, visitSynchronized, visitThrow, visitTry, visitTypeCast, visitTypeParameter, visitUnionType, visitUses, visitVariable, visitWhileLoop, visitWildcardprotected final AnnotationProvider annoProvider
public PurityCheckerHelper(AnnotationProvider annoProvider, boolean assumeSideEffectFree, boolean assumeDeterministic)
annoProvider - the annotation providerassumeSideEffectFree - true if all methods should be assumed to be @SideEffectFreeassumeDeterministic - true if all methods should be assumed to be @Deterministicpublic Void visitCatch(CatchTree node, Void ignore)
visitCatch in interface TreeVisitor<Void,Void>visitCatch in class TreeScanner<Void,Void>public Void visitMethodInvocation(MethodInvocationTree node, Void ignore)
visitMethodInvocation in interface TreeVisitor<Void,Void>visitMethodInvocation in class TreeScanner<Void,Void>public Void visitNewClass(NewClassTree node, Void ignore)
visitNewClass in interface TreeVisitor<Void,Void>visitNewClass in class TreeScanner<Void,Void>public Void visitAssignment(AssignmentTree node, Void ignore)
visitAssignment in interface TreeVisitor<Void,Void>visitAssignment in class TreeScanner<Void,Void>public Void visitUnary(UnaryTree node, Void ignore)
visitUnary in interface TreeVisitor<Void,Void>visitUnary in class TreeScanner<Void,Void>protected void assignmentCheck(ExpressionTree variable)
variable is permitted on the left-hand-side of an assignment.variable - the lhs to checkprotected boolean isLocalVariable(ExpressionTree variable)
variable - the tree to checkpublic Void visitCompoundAssignment(CompoundAssignmentTree node, Void ignore)
visitCompoundAssignment in interface TreeVisitor<Void,Void>visitCompoundAssignment in class TreeScanner<Void,Void>