| Annotation Type | Description | 
|---|---|
| AssertNonNullIfNonNull | Indicates that if the method returns a non-null value, then the value expressions are also
 non-null. | 
| EnsuresNonNull | Indicates that the value expressions are non-null, if the method terminates successfully. | 
| EnsuresNonNullIf | Indicates that the given expressions are non-null, if the method returns the given result (either
 true or false). | 
| KeyFor | Indicates that the value assigned to the annotated variable is a key for at least the given
 map(s). | 
| KeyForBottom | The bottom type in the Map Key type system. | 
| MonotonicNonNull | Indicates that a field (or variable) is lazily initialized to a non-null value. | 
| NonNull | NonNullis a type annotation that indicates that an expression is nevernull. | 
| NonRaw | This type qualifier belongs to the rawness initialization tracking type-system. | 
| Nullable | |
| PolyKeyFor | A polymorphic qualifier for the Map Key (@KeyFor) type system. | 
| PolyNull | A polymorphic qualifier for the non-null type system. | 
| PolyRaw | A polymorphic qualifier for the Rawness type system. | 
| Raw | This type qualifier belongs to the rawness type-system for tracking initialization. | 
| RequiresNonNull | Indicates a method precondition: the method expects the specified expressions to be non-null when
 the annotated method is invoked. | 
| UnknownKeyFor | Used internally by the type system; should never be written by a programmer. |