diff options
author | Martin Odersky <odersky@gmail.com> | 2003-08-21 09:44:58 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-08-21 09:44:58 +0000 |
commit | 8341c5c36e88000e24bfd26d62c98805fc96fdcf (patch) | |
tree | e79189602238f756f686bf7805d91289cbe22d2c /sources/scalac/symtab/classfile | |
parent | da5c361c7af30fc25f542bad8e12f3fceefc144d (diff) | |
download | scala-8341c5c36e88000e24bfd26d62c98805fc96fdcf.tar.gz scala-8341c5c36e88000e24bfd26d62c98805fc96fdcf.tar.bz2 scala-8341c5c36e88000e24bfd26d62c98805fc96fdcf.zip |
*** empty log message ***
Diffstat (limited to 'sources/scalac/symtab/classfile')
-rw-r--r-- | sources/scalac/symtab/classfile/Pickle.java | 7 | ||||
-rw-r--r-- | sources/scalac/symtab/classfile/UnPickle.java | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/sources/scalac/symtab/classfile/Pickle.java b/sources/scalac/symtab/classfile/Pickle.java index 58b2888d79..8cf0efd2de 100644 --- a/sources/scalac/symtab/classfile/Pickle.java +++ b/sources/scalac/symtab/classfile/Pickle.java @@ -80,8 +80,10 @@ public class Pickle implements Kinds, Modifiers, EntryTags { */ private boolean isLocal(Symbol sym) { return - sym.name.toTermName() == rootname && - sym.owner() == rootowner || + sym.name.toTermName() == rootname && sym.owner() == rootowner + || + sym.isConstructor() && isLocal(sym.primaryConstructorClass()) + || (sym.kind != NONE && isLocal(sym.owner())); } @@ -333,6 +335,7 @@ public class Pickle implements Kinds, Modifiers, EntryTags { } else { writeByte(EXTref); writeByte(0); // space for length + assert !sym.isConstructor() : sym; writeRef(sym.name); } if (sym.owner() != Global.instance.definitions.ROOT_CLASS) diff --git a/sources/scalac/symtab/classfile/UnPickle.java b/sources/scalac/symtab/classfile/UnPickle.java index 4e2eb566fb..2e333e5cd2 100644 --- a/sources/scalac/symtab/classfile/UnPickle.java +++ b/sources/scalac/symtab/classfile/UnPickle.java @@ -264,7 +264,7 @@ public class UnPickle implements Kinds, Modifiers, EntryTags { case VALsym: if (bp < end) { Symbol tsym = readSymbolRef(); - if (name.isTypeName()) { + if (name == Names.CONSTRUCTOR) { entries[n] = sym = tsym.primaryConstructor(); sym.flags = flags; } else { |