An annotation that may occur at most once at a single program element and only on certain program elements.
An optional annotation is declared simply by having the annotation class
satisfy OptionalAnnotation instead of Annotation. For example
the following would only be allowed on class
declarations:
final annotation class ExampleClass() satisfies OptionalAnnotation<Example, ClassDeclaration> {}
At runtime a ceylon.language.meta.declaration::Declaration instance
can be queried for its OptionalAnnotation
s of a certain type using
ceylon.language.meta::annotations or ceylon.language.meta::optionalAnnotation.
Inherited Methods |
Methods inherited from: Object |
Methods inherited from: ConstrainedAnnotation<Value,Values,ProgramElement> |