summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Namers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2010-01-13 16:36:06 +0000
committerMartin Odersky <odersky@gmail.com>2010-01-13 16:36:06 +0000
commitfa0cdc7b3f33449c8cc253ec45b281e9c4cb28b2 (patch)
treee91e7b4fa56e1fa90976656ac9be908ed558a4fb /src/compiler/scala/tools/nsc/typechecker/Namers.scala
parentd64620b254491b38b7cc6ce600ba2256ce5ef6a8 (diff)
downloadscala-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.scala11
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)
}