Annotating constructor parameters seems to do nothing when compiled to bytecode. I get no compiler warnings either.
The following works. getAnnotations for the name field returns javax.annotation.Nullable.
class Person {
@Nullable var name: String = _;
}
The following doesn’t, neither with val or var.
class Person(@Nullable var name: String)
This is probably not intentional, so is there something I am missing or should I go file a bug report?
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,setteror as in your casefield:You can also use type aliases for that:
Update Scala 2.12
Now this specific annotation and others are in the package scala.annotation.meta rather than scala.annotation.target