diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2014-11-05 12:10:16 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2014-11-05 16:02:35 +0100 |
commit | 21a44fee3e92817eed3d002c839b62f5e1281200 (patch) | |
tree | 8a4739086cbaad471b7dfc5f1bb186dd8dda930c /src | |
parent | b556b2fdcc7198bffe0ee90c5adc8c9eb3c29e36 (diff) | |
download | scala-21a44fee3e92817eed3d002c839b62f5e1281200.tar.gz scala-21a44fee3e92817eed3d002c839b62f5e1281200.tar.bz2 scala-21a44fee3e92817eed3d002c839b62f5e1281200.zip |
SI-8960 Bring back the SerialVersionUID to anonymous function classes
In PR #1673 / 4267444, the annotation `SerialVersionId` was changed
from a `StaticAnnotation` to `ClassFileAnnotation` in order to enforce
annotation arguments to be constants. That was 2.11.0.
The ID value in the AnnotationInfo moved from `args` to `assocs`, but
the backend was not adjusted. This was fixed in PR #3711 / ecbc9d0 for
2.11.1.
Unfortunately, the synthetic AnnotationInfo that is added to anonymous
function classes still used the old constructor (`args` instead of
`assocs`), so extracting the value failed, and no field was added to
the classfile.
Diffstat (limited to 'src')
-rw-r--r-- | src/reflect/scala/reflect/internal/Definitions.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/Definitions.scala b/src/reflect/scala/reflect/internal/Definitions.scala index e2ee6a9076..6b979795ec 100644 --- a/src/reflect/scala/reflect/internal/Definitions.scala +++ b/src/reflect/scala/reflect/internal/Definitions.scala @@ -1118,7 +1118,7 @@ trait Definitions extends api.StandardDefinitions { lazy val ScalaInlineClass = requiredClass[scala.inline] lazy val ScalaNoInlineClass = requiredClass[scala.noinline] lazy val SerialVersionUIDAttr = requiredClass[scala.SerialVersionUID] - lazy val SerialVersionUIDAnnotation = AnnotationInfo(SerialVersionUIDAttr.tpe, List(Literal(Constant(0))), List()) + lazy val SerialVersionUIDAnnotation = AnnotationInfo(SerialVersionUIDAttr.tpe, List(), List(nme.value -> LiteralAnnotArg(Constant(0)))) lazy val SpecializedClass = requiredClass[scala.specialized] lazy val ThrowsClass = requiredClass[scala.throws[_]] lazy val TransientAttr = requiredClass[scala.transient] |