Annotation Type Pure


@Retention(RUNTIME) @Target({CONSTRUCTOR,METHOD}) @Documented @Beta @GwtCompatible public @interface Pure
The annotated constructor or method causes no externally visible side-effects and does not mutate non-local state. In other words: if the result of a pure function or constructor is not used, it is dead code and is supposed to be removeable without changing the behavior of the program. On Inlined methods this means the compiler cannot use the resulting Java expression as a statement.
Since:
2.3
Author:
Sven Efftinge - Initial contribution and API