diff options
author | Martin Odersky <odersky@gmail.com> | 2003-08-28 15:04:01 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-08-28 15:04:01 +0000 |
commit | cef4819a2034134b26db1f6eb85c8999421af5c1 (patch) | |
tree | b57925ad96c33df8e69a75b917fa147e8495ad8a /sources/scalac/symtab/classfile/UnPickle.java | |
parent | 1ba1b5f0d6f3fea116ea5858842bb539257f511b (diff) | |
download | scala-cef4819a2034134b26db1f6eb85c8999421af5c1.tar.gz scala-cef4819a2034134b26db1f6eb85c8999421af5c1.tar.bz2 scala-cef4819a2034134b26db1f6eb85c8999421af5c1.zip |
*** empty log message ***
Diffstat (limited to 'sources/scalac/symtab/classfile/UnPickle.java')
-rw-r--r-- | sources/scalac/symtab/classfile/UnPickle.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sources/scalac/symtab/classfile/UnPickle.java b/sources/scalac/symtab/classfile/UnPickle.java index f5b4f7ab4f..ed3dd1bac8 100644 --- a/sources/scalac/symtab/classfile/UnPickle.java +++ b/sources/scalac/symtab/classfile/UnPickle.java @@ -46,10 +46,13 @@ public class UnPickle implements Kinds, Modifiers, EntryTags { this.moduleroot = root; this.classroot = root.owner().lookup(root.name.toTypeName()); } + if (root != moduleroot && moduleroot.isModule()) { + moduleroot.moduleClass().setInfo(Type.NoType); + } if (global.debug) global.log( "unpickle " + root + " " + classroot + " " + moduleroot + " " + - moduleroot.moduleClass() + moduleroot.moduleClass().primaryConstructor()); + moduleroot.moduleClass() + " " + moduleroot.moduleClass().primaryConstructor()); this.bytes = data; this.bp = 0; this.sourceName = sourceName; @@ -69,8 +72,9 @@ public class UnPickle implements Kinds, Modifiers, EntryTags { if (global.debug) global.log("unpickled " + root + ":" + root.rawInfo());//debug if (!root.isInitialized()) throw new BadSignature(this, "it does not define " + root); - if (moduleroot.isModule() && !moduleroot.moduleClass().isInitialized()) + if (moduleroot.isModule() && moduleroot.moduleClass().type() == Type.NoType) { moduleroot.setInfo(Type.NoType); + } } Type setOwner(Type tp, Symbol owner) { |