summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Namers.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/typechecker/Namers.scala
parent4e176bc3d22fb4457045b5731e0b202dc5924dfa (diff)
downloadscala-776ecad2a3b1d8b253f06eadc1a54c36be873ebf.tar.gz
scala-776ecad2a3b1d8b253f06eadc1a54c36be873ebf.tar.bz2
scala-776ecad2a3b1d8b253f06eadc1a54c36be873ebf.zip
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Namers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Namers.scala27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
index ce53aa40c2..739cb4935a 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
@@ -42,7 +42,7 @@ trait Namers: Analyzer {
val typer = newTyper(context);
- def setPrivate(sym: Symbol, mods: Modifiers): Symbol = {
+ def setPrivateWithin(sym: Symbol, mods: Modifiers): Symbol = {
if (!mods.privateWithin.isEmpty)
sym.privateWithin = typer.qualifyingClassContext(EmptyTree, mods.privateWithin).owner;
sym
@@ -119,7 +119,7 @@ trait Namers: Analyzer {
}
if (c.owner.isPackageClass) {
currentRun.symSource(c) = context.unit.source.getFile();
- c.asInstanceOf[ClassSymbol].sourceFile = context.unit.source.getFile();
+ c.sourceFile = context.unit.source.getFile();
}
c
}
@@ -134,6 +134,7 @@ trait Namers: Analyzer {
m = context.owner.newModule(pos, name);
m.setFlag(flags);
m.moduleClass.setFlag(flags | inConstructorFlag);
+ m.moduleClass.sourceFile = context.unit.source.getFile();
enterInScope(m)
}
if (m.owner.isPackageClass) currentRun.symSource(m) = context.unit.source.getFile();
@@ -203,15 +204,15 @@ trait Namers: Analyzer {
tree.symbol = enterCaseFactorySymbol(
tree.pos, mods.flags & AccessFlags | METHOD | CASE, name.toTermName)
.setInfo(innerNamer.caseFactoryCompleter(tree));
- setPrivate(tree.symbol, mods);
+ setPrivateWithin(tree.symbol, mods);
}
tree.symbol = enterClassSymbol(tree.pos, mods.flags, name);
- setPrivate(tree.symbol, mods);
+ setPrivateWithin(tree.symbol, mods);
finishWith(tparams);
case ModuleDef(mods, name, _) =>
tree.symbol = enterModuleSymbol(tree.pos, mods.flags | MODULE | FINAL, name);
- setPrivate(tree.symbol, mods);
- setPrivate(tree.symbol.moduleClass, mods);
+ setPrivateWithin(tree.symbol, mods);
+ setPrivateWithin(tree.symbol.moduleClass, mods);
tree.symbol.moduleClass.setInfo(innerNamer.typeCompleter(tree));
finish
case ValDef(mods, name, tp, rhs) =>
@@ -222,13 +223,13 @@ trait Namers: Analyzer {
val getter = owner.newMethod(tree.pos, name)
.setFlag(accflags)
.setInfo(innerNamer.getterTypeCompleter(tree));
- setPrivate(getter, mods);
+ setPrivateWithin(getter, mods);
enterInScope(getter);
if ((mods.flags & MUTABLE) != 0) {
val setter = owner.newMethod(tree.pos, nme.getterToSetter(name))
.setFlag(accflags & ~STABLE & ~CASEACCESSOR)
.setInfo(innerNamer.setterTypeCompleter(tree));
- setPrivate(setter, mods);
+ setPrivateWithin(setter, mods);
enterInScope(setter)
}
tree.symbol =
@@ -245,22 +246,22 @@ trait Namers: Analyzer {
case DefDef(mods, nme.CONSTRUCTOR, tparams, vparams, tp, rhs) =>
tree.symbol = enterInScope(owner.newConstructor(tree.pos))
.setFlag(mods.flags | owner.getFlag(ConstrFlags));
- setPrivate(tree.symbol, mods);
+ setPrivateWithin(tree.symbol, mods);
finishWith(tparams);
case DefDef(mods, name, tparams, _, _, _) =>
tree.symbol = enterInScope(owner.newMethod(tree.pos, name))
.setFlag(mods.flags);
- setPrivate(tree.symbol, mods);
+ setPrivateWithin(tree.symbol, mods);
finishWith(tparams);
case AbsTypeDef(mods, name, _, _) =>
tree.symbol = enterInScope(owner.newAbstractType(tree.pos, name))
.setFlag(mods.flags);
- setPrivate(tree.symbol, mods);
+ setPrivateWithin(tree.symbol, mods);
finish
case AliasTypeDef(mods, name, tparams, _) =>
tree.symbol = enterInScope(owner.newAliasType(tree.pos, name))
.setFlag(mods.flags);
- setPrivate(tree.symbol, mods);
+ setPrivateWithin(tree.symbol, mods);
finishWith(tparams)
case Attributed(attr, defn) =>
enterSym(defn);
@@ -333,7 +334,7 @@ trait Namers: Analyzer {
param.symbol = owner.newValueParameter(param.pos, param.name)
.setInfo(typeCompleter(param))
.setFlag(param.mods.flags & (BYNAMEPARAM | IMPLICIT));
- setPrivate(param.symbol, param.mods);
+ setPrivateWithin(param.symbol, param.mods);
context.scope enter param.symbol;
param.symbol
}