diff options
author | Martin Odersky <odersky@gmail.com> | 2003-11-12 18:01:30 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-11-12 18:01:30 +0000 |
commit | f5437e9a8bb543cf57b295739dd3abdebb7be651 (patch) | |
tree | 82d04d9b9de6e798631dfbc12fa62f0f8be3dc02 /sources/scalac/symtab/classfile/UnPickle.java | |
parent | f8ed082d80fb662f96d9a95dad3d7481b7e88818 (diff) | |
download | scala-f5437e9a8bb543cf57b295739dd3abdebb7be651.tar.gz scala-f5437e9a8bb543cf57b295739dd3abdebb7be651.tar.bz2 scala-f5437e9a8bb543cf57b295739dd3abdebb7be651.zip |
*** empty log message ***
Diffstat (limited to 'sources/scalac/symtab/classfile/UnPickle.java')
-rw-r--r-- | sources/scalac/symtab/classfile/UnPickle.java | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sources/scalac/symtab/classfile/UnPickle.java b/sources/scalac/symtab/classfile/UnPickle.java index e4413be233..905e5a8b22 100644 --- a/sources/scalac/symtab/classfile/UnPickle.java +++ b/sources/scalac/symtab/classfile/UnPickle.java @@ -246,18 +246,17 @@ public class UnPickle implements Kinds, Modifiers, EntryTags, TypeTags { sym.setFirstInfo(getType(inforef)); sym.setTypeOfThis(readTypeRef()); Symbol constr = readSymbolRef(); - if (constr != sym.primaryConstructor()) { - assert constr.type() instanceof Type.OverloadedType - : sym + " " + constr + ":" + constr.type(); - constr.copyTo(sym.allConstructors()); - } + assert constr == sym.allConstructors(); + Symbol[] alts = constr.alternativeSymbols(); + for (int i = 0; i < alts.length; i++) + ((TermSymbol)alts[i]).makeConstructor((ClassSymbol)sym); break; case VALsym: if (bp < end) { Symbol tsym = readSymbolRef(); if (name == Names.CONSTRUCTOR) { - entries[n] = sym = tsym.primaryConstructor(); + entries[n] = sym = tsym.allConstructors(); sym.flags = flags; } else { assert (flags & MODUL) != 0 : name; |