diff options
author | Martin Odersky <odersky@gmail.com> | 2005-09-07 17:37:12 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2005-09-07 17:37:12 +0000 |
commit | 5d7078f6b8e9c59c945bfcd421342df27ebc43b3 (patch) | |
tree | 5f61050f4a2fee61281811f687300dfdae6ce385 /sources/scala/tools/nsc/typechecker/Typers.scala | |
parent | 7517bd975a89466dbe5e2a2e415a48588e7b8c1a (diff) | |
download | scala-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-x | sources/scala/tools/nsc/typechecker/Typers.scala | 9 |
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)) { |