An annotation used on classes that are intended to be used as annotations to indicate the kinds of declarations and directives for which the annotation is appropriate.
The kinds are represented by the constants defined in TargetKind.
Tools, such as the analyzer, can provide feedback if
- the annotation is associated with anything other than a class, where the
class must be usable as an annotation (that is, contain at least one
- the annotated annotation is associated with anything other than the kinds of declarations listed as valid targets.