What are use-site targets?

Use-site targets give us control over how annotations are applied to the Java code that's generated by the Kotlin compiler. They can help us indicate whether an annotation should be applied to a generated field, a generated getter/setter, or a number of other Java targets. In most situations, these use-sites will be used when annotating properties or constructor parameters.

The following is a full list of use-site targets: