checkers.quals.PolyAll Maven / Gradle / Ivy
Show all versions of checker-quals-jdk5 Show documentation
package checkers.quals;
import java.lang.annotation.*;
import checkers.nullness.quals.PolyNull;
import checkers.interning.quals.PolyInterned;
/**
* A polymorphic type qualifier that varies over all type hierarchies.
*
*
* Writing @PolyAll is equivalent to writing a polymorphic
* qualifier for every type system (whether such a qualifier has been
* declared or not).
*
*
* The @PolyAll annotation applies to every type qualifier hierarchy for
* which no explicit qualifier is written. For example, a declaration like
* @PolyAll @NonNull String s is polymorphic over every type system
* \emph{except} the nullness type system, for which the type is fixed at
* @NonNull.
*
*
*
*
* To support @PolyAll in a type system, simply add it to the
* list of @TypeQualifiers.
*
* @see PolyNull
* @see PolyInterned
* @see PolymorphicQualifier
* @see QualifierPolymorphism
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@PolymorphicQualifier
public @interface PolyAll {
// TODO: support multiple variables using an id, then uncomment some Javadoc
//int value() default 0;
}