summaryrefslogtreecommitdiff
path: root/sources/scala/tools/nsc/typechecker/Typers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2005-12-06 10:06:30 +0000
committerMartin Odersky <odersky@gmail.com>2005-12-06 10:06:30 +0000
commite9caaa6ac593fdc63d625d252863778cd7d89a16 (patch)
treeb775afaa42e6adaad477380c5b7650fe25c54d0e /sources/scala/tools/nsc/typechecker/Typers.scala
parent8bbd5b9c94edd98b450097d6c99ea2dfbafad05d (diff)
downloadscala-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-xsources/scala/tools/nsc/typechecker/Typers.scala9
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);