diff options
author | Martin Odersky <odersky@gmail.com> | 2006-01-04 15:16:08 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-01-04 15:16:08 +0000 |
commit | 776ecad2a3b1d8b253f06eadc1a54c36be873ebf (patch) | |
tree | ce7a8d8460d123cef1e00e1503a0bc7b6745294c /src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala | |
parent | 4e176bc3d22fb4457045b5731e0b202dc5924dfa (diff) | |
download | scala-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.scala | 5 |
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); |