Annotations
Annotations are means of attaching metadata to code.
To declare an annotation, put the annotation modifier in front of a class:
Additional attributes of the annotation can be specified by annotating the annotation class with meta-annotations:
@Targetspecifies the possible kinds of elements which can be annotated with the annotation (such as classes, functions, properties, and expressions);@Retentionspecifies whether the annotation is stored in the compiled class files and whether it's visible through reflection at runtime (by default, both are true);@Repeatableallows using the same annotation on a single element multiple times;@MustBeDocumentedspecifies that the annotation is part of the public API and should be included in the class or method signature shown in the generated API documentation.
Usage
If you need to annotate the primary constructor of a class, you need to add the constructor keyword to the constructor declaration, and add the annotations before it:
You can also annotate property accessors:
Constructors
Annotations can have constructors that take parameters.
TODO: