From f2a72ec46b622493a9c2baab831eea92a07dee71 Mon Sep 17 00:00:00 2001 From: Antonio Cunei Date: Mon, 6 Apr 2009 12:42:12 +0000 Subject: Setting the source module of RootClass. --- src/compiler/scala/tools/nsc/symtab/Definitions.scala | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/compiler') diff --git a/src/compiler/scala/tools/nsc/symtab/Definitions.scala b/src/compiler/scala/tools/nsc/symtab/Definitions.scala index 188eeb8e49..f16a7d2716 100644 --- a/src/compiler/scala/tools/nsc/symtab/Definitions.scala +++ b/src/compiler/scala/tools/nsc/symtab/Definitions.scala @@ -17,13 +17,16 @@ trait Definitions { def isDefinitionsInitialized = isInitialized // root packages and classes - lazy val RootPackage: Symbol = NoSymbol.newValue(NoPosition, nme.ROOTPKG) - .setFlag(FINAL | MODULE | PACKAGE | JAVA) - .setInfo(PolyType(List(), RootClass.tpe)) - lazy val RootClass: Symbol = { - NoSymbol.newClass(NoPosition, nme.ROOT.toTypeName) - .setFlag(FINAL | MODULE | PACKAGE | JAVA).setInfo(rootLoader) + lazy val RootPackage: Symbol = { + val rp=NoSymbol.newValue(NoPosition, nme.ROOTPKG) + .setFlag(FINAL | MODULE | PACKAGE | JAVA) + .setInfo(PolyType(List(), RootClass.tpe)) + RootClass.setSourceModule(rp) + rp } + lazy val RootClass: ModuleClassSymbol = NoSymbol.newModuleClass(NoPosition, nme.ROOT.toTypeName) + .setFlag(FINAL | MODULE | PACKAGE | JAVA).setInfo(rootLoader) + lazy val EmptyPackage: Symbol = RootClass.newPackage(NoPosition, nme.EMPTY_PACKAGE_NAME).setFlag(FINAL) lazy val EmptyPackageClass: Symbol = EmptyPackage.moduleClass @@ -382,7 +385,7 @@ trait Definitions { private def getModuleOrClass(fullname: Name, module: Boolean): Symbol = { if (fullname == nme.NOSYMBOL) return NoSymbol - var sym = RootClass + var sym:Symbol = RootClass var i = 0 var j = fullname.pos('.', i) while (j < fullname.length) { -- cgit v1.2.3