@Documented @Target(value={TYPE_USE,TYPE_PARAMETER}) @Retention(value=RUNTIME) @PolymorphicQualifier public @interface PolyAll
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 except the nullness type system, for which the type is fixed at @NonNull.
@PolyAll only works for a given type system if that type system
already has its own polymorphic qualifier, such as
@PolyNull
or @PolyRegex
.
Therefore, every type system should define a polymorphic qualifier.
Then, to support @PolyAll in a type system, simply add it to the
list of supported type qualifiers.
PolyNull
,
PolyInterned
,
PolymorphicQualifier
,
QualifierPolymorphism