summaryrefslogtreecommitdiff
path: root/sources/scala/tools/nsc/typechecker/Typers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2005-09-07 17:37:12 +0000
committerMartin Odersky <odersky@gmail.com>2005-09-07 17:37:12 +0000
commit5d7078f6b8e9c59c945bfcd421342df27ebc43b3 (patch)
tree5f61050f4a2fee61281811f687300dfdae6ce385 /sources/scala/tools/nsc/typechecker/Typers.scala
parent7517bd975a89466dbe5e2a2e415a48588e7b8c1a (diff)
downloadscala-5d7078f6b8e9c59c945bfcd421342df27ebc43b3.tar.gz
scala-5d7078f6b8e9c59c945bfcd421342df27ebc43b3.tar.bz2
scala-5d7078f6b8e9c59c945bfcd421342df27ebc43b3.zip
*** empty log message ***
Diffstat (limited to 'sources/scala/tools/nsc/typechecker/Typers.scala')
-rwxr-xr-xsources/scala/tools/nsc/typechecker/Typers.scala9
1 files changed, 5 insertions, 4 deletions
diff --git a/sources/scala/tools/nsc/typechecker/Typers.scala b/sources/scala/tools/nsc/typechecker/Typers.scala
index ce729dce52..10277d82ff 100755
--- a/sources/scala/tools/nsc/typechecker/Typers.scala
+++ b/sources/scala/tools/nsc/typechecker/Typers.scala
@@ -230,7 +230,7 @@ abstract class Typers: Analyzer {
if (tree.symbol.superAccessor(clazz) == NoSymbol) {
System.out.println("add super acc " + tree.symbol + tree.symbol.locationString + " to " + clazz);//debug
clazz.info.decls enter
- clazz.newMethod(tree.pos, nme.SUPER_NAME(tree.symbol.name))
+ clazz.newMethod(tree.pos, nme.superName(tree.symbol.name))
.setFlag(SUPERACCESSOR | PRIVATE)
.setAlias(tree.symbol)
.setInfo(clazz.thisType.memberType(tree.symbol))
@@ -481,7 +481,7 @@ abstract class Typers: Analyzer {
def addGetterSetter(stat: Tree): List[Tree] = stat match {
case ValDef(mods, name, tpe, rhs) if (mods & LOCAL) == 0 =>
- val vdef = copy.ValDef(stat, mods | PRIVATE | LOCAL, nme.LOCAL_NAME(name), tpe, rhs);
+ val vdef = copy.ValDef(stat, mods | PRIVATE | LOCAL, nme.getterToLocal(name), tpe, rhs);
val value = vdef.symbol;
val getterDef: DefDef = {
val getter = if ((mods & DEFERRED) != 0) value else value.getter;
@@ -574,7 +574,8 @@ abstract class Typers: Analyzer {
case Ident(name) =>
if (vparamss.exists(.exists(vp => vp.symbol == superArg.symbol))) {
var alias = superAcc.initialize.alias;
- if (alias == NoSymbol) alias = superAcc.getter;
+ if (alias == NoSymbol)
+ alias = if (superAcc.hasGetter) superAcc.getter else superAcc;
if (alias != NoSymbol &&
superClazz.info.nonPrivateMember(alias.name) != alias)
alias = NoSymbol;
@@ -1120,7 +1121,7 @@ abstract class Typers: Analyzer {
case Select(qual, name) =>
typed(
Apply(
- Select(qual, nme.SETTER_NAME(name)) setPos lhs.pos,
+ Select(qual, nme.getterToSetter(name)) setPos lhs.pos,
List(rhs)) setPos tree.pos, mode, pt)
}
} else if (varsym != null && (varsym.isVariable || varsym.isValue && phase.erasedTypes)) {