summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Namers.scala
diff options
context:
space:
mode:
authorMiles Sabin <miles@milessabin.com>2010-02-09 10:15:16 +0000
committerMiles Sabin <miles@milessabin.com>2010-02-09 10:15:16 +0000
commit1b99b4b148b04d0eafd6bd3fb55309c29f60eb2d (patch)
tree367454c46ffb8a4be3cfb536bea97be7646df507 /src/compiler/scala/tools/nsc/typechecker/Namers.scala
parent68bcaee6c1c23e8dbf319e6dd71710b7da4f5d2d (diff)
downloadscala-1b99b4b148b04d0eafd6bd3fb55309c29f60eb2d.tar.gz
scala-1b99b4b148b04d0eafd6bd3fb55309c29f60eb2d.tar.bz2
scala-1b99b4b148b04d0eafd6bd3fb55309c29f60eb2d.zip
Compiler part of fix for #2767: provide hooks t...
Compiler part of fix for #2767: provide hooks to allow the presentation compiler to add sources to the run to resolve top-level symbols which cannot be found via the Java naming convention. Review by odersky.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Namers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Namers.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
index 10ee75a989..43c52f1dfd 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
@@ -1187,8 +1187,11 @@ trait Namers { self: Analyzer =>
case ImportSelector(from, _, to, _) :: rest =>
if (from != nme.WILDCARD && base != ErrorType) {
if (base.nonLocalMember(from) == NoSymbol &&
- base.nonLocalMember(from.toTypeName) == NoSymbol)
+ base.nonLocalMember(from.toTypeName) == NoSymbol) {
+ if (currentRun.compileSourceFor(expr, from))
+ return typeSig(tree)
context.error(tree.pos, from.decode + " is not a member of " + expr)
+ }
if (checkNotRedundant(tree.pos, from, to))
checkNotRedundant(tree.pos, from.toTypeName, to.toTypeName)