summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-01-04 15:16:08 +0000
committerMartin Odersky <odersky@gmail.com>2006-01-04 15:16:08 +0000
commit776ecad2a3b1d8b253f06eadc1a54c36be873ebf (patch)
treece7a8d8460d123cef1e00e1503a0bc7b6745294c /src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala
parent4e176bc3d22fb4457045b5731e0b202dc5924dfa (diff)
downloadscala-776ecad2a3b1d8b253f06eadc1a54c36be873ebf.tar.gz
scala-776ecad2a3b1d8b253f06eadc1a54c36be873ebf.tar.bz2
scala-776ecad2a3b1d8b253f06eadc1a54c36be873ebf.zip
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala b/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala
index 11f0c21c4f..a07da4ad57 100644
--- a/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala
+++ b/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala
@@ -31,10 +31,12 @@ abstract class SymbolLoaders {
/** The kind of file that's processed by this loader */
protected def kindString: String;
private var ok = false;
+
private def setSource(sym: Symbol): unit = sym match {
case clazz: ClassSymbol => clazz.sourceFile = file;
case _ =>
}
+
override def complete(root: Symbol): unit = {
try {
val start = System.currentTimeMillis();
@@ -45,7 +47,7 @@ abstract class SymbolLoaders {
informTime("loaded " + source, start);
if (root.rawInfo != this) {
ok = true;
- setSource(root.linkedModule);
+ setSource(root.linkedModule.moduleClass);
setSource(root.linkedClass);
} else error(source + " does not define " + root)
} catch {
@@ -94,7 +96,6 @@ abstract class SymbolLoaders {
val name = newTermName(str);
val clazz = owner.newClass(Position.NOPOS, name.toTypeName);
val module = owner.newModule(Position.NOPOS, name);
- clazz.sourceFile = sfile;
clazz.setInfo(completer);
module.setInfo(completer);
module.moduleClass.setInfo(moduleClassLoader);