| Annotation Type | Description | 
|---|---|
| AssertNonNullIfNonNull | Indicates that if the method returns a non-null value, then the value expressions are also
 non-null. | 
| EnsuresKeyFor | Indicates that the value expressions evaluate to a value that is a key in all the given maps, if
 the method terminates successfully. | 
| EnsuresKeyFor.List | A wrapper annotation that makes the  EnsuresKeyForannotation repeatable. | 
| EnsuresKeyForIf | Indicates that the given expressions evaluate to a value that is a key in all the given maps, if
 the method returns the given result (either true or false). | 
| EnsuresKeyForIf.List | A wrapper annotation that makes the  EnsuresKeyForIfannotation repeatable. | 
| EnsuresNonNull | Indicates that the value expressions are non-null just after a method call, if the method
 terminates successfully. | 
| EnsuresNonNull.List | A wrapper annotation that makes the  EnsuresNonNullannotation repeatable. | 
| EnsuresNonNullIf | Indicates that the given expressions are non-null, if the method returns the given result (either
 true or false). | 
| EnsuresNonNullIf.List | * A wrapper annotation that makes the  EnsuresNonNullIfannotation repeatable. | 
| 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 once the field (or variable) becomes non-null, it never becomes null again. | 
| NonNull | If an expression's type is qualified by  @NonNull, then the expression never evaluates tonull. | 
| Nullable | Nullableis a type annotation that makes no commitments about whether the value isnull. | 
| PolyKeyFor | A polymorphic qualifier for the Map Key (@KeyFor) type system. | 
| PolyNull | A polymorphic qualifier for the non-null type system. | 
| 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. |