| Annotation Type | Description | 
|---|---|
| ClassBound | This represents a  Class<T>object whose run-time value is equal to or a subtype of one of
 the arguments. | 
| ClassVal | This represents a  Class<T>object where the set of possible values
 of T is known at compile time. | 
| ClassValBottom | The bottom type in the ClassVal type system. | 
| ForName | Annotation for methods of the form:  {@link ClassVal}("name") Class method(String name) {...} | 
| GetClass | Annotation for methods of the form:  {@link ClassBound}("ReceiverType") Class method(ReceiverType this) {...} | 
| GetConstructor | Annotation for methods of the form:  {@link MethodVal}(classname=c, methodname=" | 
| GetMethod | Annotation for methods of the form:  {@link MethodVal}(classname=c, methodname=m, params=p) Method getMyMethod(Class | 
| Invoke | Annotation for methods of the form:  Object method({@link MethodVal}(classname=c, methodname=m, params=p) Method this, Object obj, Object... | 
| MethodVal | This represents a set of  MethodorConstructorvalues. | 
| MethodValBottom | The bottom type in the MethodVal type system. | 
| NewInstance | Annotation for methods of the form:  T method({@link MethodVal}(classname=c, methodname=" | 
| UnknownClass | Represents a Class object whose run-time value is not known at compile time. | 
| UnknownMethod | Represents a  MethodorConstructorexpression whose run-time value is not known at compile time. |