summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab/classfile/UnPickle.java
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-11-12 18:01:30 +0000
committerMartin Odersky <odersky@gmail.com>2003-11-12 18:01:30 +0000
commitf5437e9a8bb543cf57b295739dd3abdebb7be651 (patch)
tree82d04d9b9de6e798631dfbc12fa62f0f8be3dc02 /sources/scalac/symtab/classfile/UnPickle.java
parentf8ed082d80fb662f96d9a95dad3d7481b7e88818 (diff)
downloadscala-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.java11
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;