summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab/classfile/UnPickle.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/symtab/classfile/UnPickle.java')
-rw-r--r--sources/scalac/symtab/classfile/UnPickle.java7
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);
}
}