diff options
author | Martin Odersky <odersky@gmail.com> | 2010-01-13 16:36:06 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2010-01-13 16:36:06 +0000 |
commit | fa0cdc7b3f33449c8cc253ec45b281e9c4cb28b2 (patch) | |
tree | e91e7b4fa56e1fa90976656ac9be908ed558a4fb /src/compiler/scala/tools/nsc/typechecker/Namers.scala | |
parent | d64620b254491b38b7cc6ce600ba2256ce5ef6a8 (diff) | |
download | scala-fa0cdc7b3f33449c8cc253ec45b281e9c4cb28b2.tar.gz scala-fa0cdc7b3f33449c8cc253ec45b281e9c4cb28b2.tar.bz2 scala-fa0cdc7b3f33449c8cc253ec45b281e9c4cb28b2.zip |
Closes #2866, #2870.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Namers.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Namers.scala | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala index 1955348f91..4b5b052dcb 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala @@ -1188,8 +1188,17 @@ trait Namers { self: Analyzer => def checkSelectors(selectors: List[ImportSelector]): Unit = selectors match { case ImportSelector(from, _, to, _) :: rest => if (from != nme.WILDCARD && base != ErrorType) { - if (base.member(from) == NoSymbol && base.member(from.toTypeName) == NoSymbol) + if (base.member(from) == NoSymbol && + base.member(from.toTypeName) == NoSymbol) context.error(tree.pos, from.decode + " is not a member of " + expr); +/* The previous test should be: + if (base.nonLocalMember(from) == NoSymbol && + base.nonLocalMember(from.toTypeName) == NoSymbol) + context.error(tree.pos, from.decode + " is not a member of " + expr); + + * but this breaks the jvm/interpreter.scala test, because + * it seems it imports a local member of a $iw object + */ if (checkNotRedundant(tree.pos, from, to)) checkNotRedundant(tree.pos, from.toTypeName, to.toTypeName) } |