diff options
Diffstat (limited to 'sources/scalac/symtab/classfile/UnPickle.java')
-rw-r--r-- | sources/scalac/symtab/classfile/UnPickle.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sources/scalac/symtab/classfile/UnPickle.java b/sources/scalac/symtab/classfile/UnPickle.java index 68c2a99177..e4413be233 100644 --- a/sources/scalac/symtab/classfile/UnPickle.java +++ b/sources/scalac/symtab/classfile/UnPickle.java @@ -481,10 +481,11 @@ public class UnPickle implements Kinds, Modifiers, EntryTags, TypeTags { return new Float(Double.longBitsToDouble(readNumberRef())); case UnboxedType(BOOLEAN): return new Boolean(readNumberRef() == 0 ? false : true); - case UnboxedType(STRING): - return readNameRef().toString(); default: - return new ApplicationError("bad constant base type: " + base); + if (base.symbol() == Global.instance.definitions.JAVA_STRING_CLASS) + return readNameRef().toString(); + else + throw new ApplicationError("bad constant base type: " + base); } } |