diff options
Diffstat (limited to 'sources/scalac/symtab/classfile/UnPickle.java')
-rw-r--r-- | sources/scalac/symtab/classfile/UnPickle.java | 9 |
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(); |