diff options
author | paltherr <paltherr@epfl.ch> | 2004-03-10 19:08:48 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2004-03-10 19:08:48 +0000 |
commit | bd9f74861ec3e664fc9e94795fd8c16b7580e1df (patch) | |
tree | fd24674b44bb117567372ac2590b1f48aeb9036d /sources/scalac/symtab/classfile/UnPickle.java | |
parent | 5998eb1012cf801a22bf494d55410b44ea452fca (diff) | |
download | scala-bd9f74861ec3e664fc9e94795fd8c16b7580e1df.tar.gz scala-bd9f74861ec3e664fc9e94795fd8c16b7580e1df.tar.bz2 scala-bd9f74861ec3e664fc9e94795fd8c16b7580e1df.zip |
- Added factory method Symbol.newConstructor
- Changed method Symbol.addConstructor to receive new constructor
- as argument Changed Symbol, Analyzer, class parser and
- picklers to use new factory method Removed now unused methods
- TermSymbol.makeConstructor/newConstructor
Diffstat (limited to 'sources/scalac/symtab/classfile/UnPickle.java')
-rw-r--r-- | sources/scalac/symtab/classfile/UnPickle.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sources/scalac/symtab/classfile/UnPickle.java b/sources/scalac/symtab/classfile/UnPickle.java index 3a3b8fa2a6..c309ed5723 100644 --- a/sources/scalac/symtab/classfile/UnPickle.java +++ b/sources/scalac/symtab/classfile/UnPickle.java @@ -253,9 +253,6 @@ public class UnPickle implements Kinds, Modifiers, EntryTags, TypeTags { sym.setTypeOfThis(readTypeRef()); Symbol constr = readSymbolRef(); 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: @@ -266,8 +263,13 @@ public class UnPickle implements Kinds, Modifiers, EntryTags, TypeTags { entries[n] = sym = moduleroot; sym.flags = flags; } else if (tsym == null) { - entries[n] = sym = new TermSymbol( - Position.NOPOS, name, owner, flags); + if (name == Names.CONSTRUCTOR) { + entries[n] = sym = owner.newConstructor( + Position.NOPOS, flags); + } else { + entries[n] = sym = new TermSymbol( + Position.NOPOS, name, owner, flags); + } } else { if (name == Names.CONSTRUCTOR) { entries[n] = sym = tsym.allConstructors(); |