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/Pickle.java | |
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/Pickle.java')
-rw-r--r-- | sources/scalac/symtab/classfile/Pickle.java | 7 |
1 files changed, 5 insertions, 2 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) |