summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorAntonio Cunei <antonio.cunei@epfl.ch>2009-04-06 12:42:12 +0000
committerAntonio Cunei <antonio.cunei@epfl.ch>2009-04-06 12:42:12 +0000
commitf2a72ec46b622493a9c2baab831eea92a07dee71 (patch)
tree2d99c4c056235f20840cf699ce32842fd79ecc0c /src/compiler
parent2a491aaa0ea299890e7642dc1272a7e401945251 (diff)
downloadscala-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.scala17
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) {