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.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/sources/scalac/symtab/classfile/UnPickle.java b/sources/scalac/symtab/classfile/UnPickle.java
index d59d2bc192..482287fbb7 100644
--- a/sources/scalac/symtab/classfile/UnPickle.java
+++ b/sources/scalac/symtab/classfile/UnPickle.java
@@ -333,9 +333,14 @@ public class UnPickle implements Kinds, Modifiers, EntryTags {
readTypeRef(), readSymbolRef(), readTypeRefs(end));
break;
case COMPOUNDtpe:
- Symbol clazz = readSymbolRef();
+ Symbol[] clazzs = readSymbolRefs(end);
Type[] parents = readTypeRefs(end);
- tpe = Type.compoundType(parents, new Scope(), clazz);
+ if (clazzs.length == 0) {
+ tpe = Type.compoundType(parents, new Scope());
+ } else {
+ assert clazzs.length == 1;
+ tpe = Type.compoundType(parents, new Scope(), clazzs[0]);
+ }
break;
case METHODtpe:
Type restype = readTypeRef();