diff options
author | Martin Odersky <odersky@gmail.com> | 2005-12-06 10:06:30 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2005-12-06 10:06:30 +0000 |
commit | e9caaa6ac593fdc63d625d252863778cd7d89a16 (patch) | |
tree | b775afaa42e6adaad477380c5b7650fe25c54d0e /sources/scala/tools/nsc/typechecker/Typers.scala | |
parent | 8bbd5b9c94edd98b450097d6c99ea2dfbafad05d (diff) | |
download | scala-e9caaa6ac593fdc63d625d252863778cd7d89a16.tar.gz scala-e9caaa6ac593fdc63d625d252863778cd7d89a16.tar.bz2 scala-e9caaa6ac593fdc63d625d252863778cd7d89a16.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, 6 insertions, 3 deletions
diff --git a/sources/scala/tools/nsc/typechecker/Typers.scala b/sources/scala/tools/nsc/typechecker/Typers.scala index a161349a34..7046e4c163 100755 --- a/sources/scala/tools/nsc/typechecker/Typers.scala +++ b/sources/scala/tools/nsc/typechecker/Typers.scala @@ -930,9 +930,12 @@ import collection.mutable.HashMap; "\n phase = " + phase); } tree.symbol - } else { - qual.tpe.member(name) - } + } else qual.tpe match { + case ThisType(clazz) if (clazz == context.enclClass.owner) => + qual.tpe.member(name) + case _ => + qual.tpe.nonLocalMember(name) + } if (sym == NoSymbol && qual.isTerm && (qual.symbol == null || qual.symbol.isValue) && !phase.erasedTypes && !qual.tpe.widen.isError) { val coercion = inferView(qual.pos, qual.tpe, name, true); |