diff options
author | Antonio Cunei <antonio.cunei@epfl.ch> | 2009-04-06 12:42:12 +0000 |
---|---|---|
committer | Antonio Cunei <antonio.cunei@epfl.ch> | 2009-04-06 12:42:12 +0000 |
commit | f2a72ec46b622493a9c2baab831eea92a07dee71 (patch) | |
tree | 2d99c4c056235f20840cf699ce32842fd79ecc0c /src/compiler | |
parent | 2a491aaa0ea299890e7642dc1272a7e401945251 (diff) | |
download | scala-f2a72ec46b622493a9c2baab831eea92a07dee71.tar.gz scala-f2a72ec46b622493a9c2baab831eea92a07dee71.tar.bz2 scala-f2a72ec46b622493a9c2baab831eea92a07dee71.zip |
Setting the source module of RootClass.
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/Definitions.scala | 17 |
1 files changed, 10 insertions, 7 deletions
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) { |