@Documented @Retention(value=RUNTIME) @Target(value={METHOD,CONSTRUCTOR}) public @interface Pure
Pure is a method annotation that means both SideEffectFree and Deterministic. The more important of these, when performing pluggable type-checking, is usually
SideEffectFree.
For a discussion of the meaning of Pure on a constructor, see the documentation of
Deterministic.
This annotation is inherited by subtypes, just as if it were meta-annotated with
@InheritedAnnotation.