java.org.checkerframework.dataflow.qual.Pure Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of guava Show documentation
Show all versions of guava Show documentation
Libraries for Elasticsearch
The newest version!
package org.checkerframework.dataflow.qual;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* {@code Pure} is a method annotation that means both {@link SideEffectFree} and {@link
* Deterministic}. The more important of these, when performing pluggable type-checking, is usually
* {@link SideEffectFree}.
*
* @checker_framework.manual #type-refinement-purity Side effects, determinism, purity, and
* flow-sensitive analysis
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
public @interface Pure {
/** The type of purity. */
public static enum Kind {
/** The method has no visible side effects. */
SIDE_EFFECT_FREE,
/** The method returns exactly the same value when called in the same environment. */
DETERMINISTIC
}
}