| 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  
Method or Constructor values. | 
| 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  
Method or Constructor expression whose run-time value is not known at compile time. |