Class PurityChecker
java.lang.Object
org.checkerframework.dataflow.util.PurityChecker
A visitor that determines the purity (as defined by 
SideEffectFree, Deterministic, and Pure) of a statement or expression. The entry point is method
 checkPurity(com.sun.source.util.TreePath, org.checkerframework.javacutil.AnnotationProvider, boolean, boolean, boolean).- See Also:
 
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classHelper class to keepPurityChecker's interface clean.static classResult of thePurityChecker. - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionstatic PurityChecker.PurityResultcheckPurity(TreePath statement, AnnotationProvider annoProvider, boolean assumeSideEffectFree, boolean assumeDeterministic, boolean assumePureGetters) Compute whether the given statement is side-effect-free, deterministic, or both. 
- 
Constructor Details
- 
PurityChecker
public PurityChecker() 
 - 
 - 
Method Details
- 
checkPurity
public static PurityChecker.PurityResult checkPurity(TreePath statement, AnnotationProvider annoProvider, boolean assumeSideEffectFree, boolean assumeDeterministic, boolean assumePureGetters) Compute whether the given statement is side-effect-free, deterministic, or both. Returns a result that can be queried.- Parameters:
 statement- the statement to checkannoProvider- the annotation providerassumeSideEffectFree- true if all methods should be assumed to be @SideEffectFreeassumeDeterministic- true if all methods should be assumed to be @DeterministicassumePureGetters- true if all getter methods should be assumed to be @Pure- Returns:
 - information about whether the given statement is side-effect-free, deterministic, or both
 
 
 -