Annotating constructor parameters seems to do nothing when compiled to bytecode. I get no compiler warnings either.
The following works. getAnnotations
for
You need to specify what should get annotated when you specify annotations on constructor parameters.
To do that annotate your annotation with one ore more annotations from scala.annotation.target
, e.g. getter
, setter
or as in your case field
:
import annotation.target.field
class Person(@(Nullable @field) var name: String)
You can also use type aliases for that:
type NullableField = Nullable @field
class Person(@NullableField var name: String)
Now this specific annotation and others are in the package scala.annotation.meta rather than scala.annotation.target
import scala.annotation.meta.{field, param}