public class PurityChecker extends Object
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).SideEffectFree, 
Deterministic, 
Pure| Modifier and Type | Class and Description | 
|---|---|
| protected static class  | PurityChecker.PurityCheckerHelperHelper class to keep  PurityChecker's interface clean. | 
| static class  | PurityChecker.PurityResultResult of the  PurityChecker. | 
| Constructor and Description | 
|---|
| PurityChecker() | 
| Modifier and Type | Method and Description | 
|---|---|
| static PurityChecker.PurityResult | checkPurity(TreePath statement,
           AnnotationProvider annoProvider,
           boolean assumeSideEffectFree,
           boolean assumeDeterministic)Compute whether the given statement is side-effect-free, deterministic, or both. | 
public static PurityChecker.PurityResult checkPurity(TreePath statement, AnnotationProvider annoProvider, boolean assumeSideEffectFree, boolean assumeDeterministic)
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 @Deterministic