diff options
author | Lex Spoon <lex@lexspoon.org> | 2007-05-23 11:39:33 +0000 |
---|---|---|
committer | Lex Spoon <lex@lexspoon.org> | 2007-05-23 11:39:33 +0000 |
commit | 8813209807028929e6421a6328348af6d6ea46cf (patch) | |
tree | b665199db941998b52201fc90d0af12bd52b9fd1 /src | |
parent | f6eb33a2166d2df55ce65881b01e928bbbbcd324 (diff) | |
download | scala-8813209807028929e6421a6328348af6d6ea46cf.tar.gz scala-8813209807028929e6421a6328348af6d6ea46cf.tar.bz2 scala-8813209807028929e6421a6328348af6d6ea46cf.zip |
fix to my previous fix for pickling annotation ...
fix to my previous fix for pickling annotation arguments
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala b/src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala index 259f4726b2..516ba3b0d7 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala @@ -289,9 +289,11 @@ abstract class Pickler extends SubComponent { } private def putAnnotationArg(arg: AnnotationArgument) { - arg.constant match { - case Some(c) => putConstant(c) - case _ => putTree(arg.tree) + if(putEntry(arg)) { + arg.constant match { + case Some(c) => putConstant(c) + case _ => putTree(arg.tree) + } } } @@ -606,6 +608,12 @@ abstract class Pickler extends SubComponent { } ATTRIBTREE + case arg:AnnotationArgument => + arg.constant match { + case Some(c) => writeBody(c) + case None => writeBody(arg.tree) + } + case _ => throw new FatalError("bad entry: " + entry + " " + entry.getClass) } |