summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Typers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2010-03-13 17:33:33 +0000
committerMartin Odersky <odersky@gmail.com>2010-03-13 17:33:33 +0000
commit3ff77430de3805fe0691c76c8cceb49575b24705 (patch)
tree4e767b51a44abc5126647762f6e1a7c4d46d8d0a /src/compiler/scala/tools/nsc/typechecker/Typers.scala
parent56dc3ded65b6ec73f1b863c3e3fc05fb58438cdb (diff)
downloadscala-3ff77430de3805fe0691c76c8cceb49575b24705.tar.gz
scala-3ff77430de3805fe0691c76c8cceb49575b24705.tar.bz2
scala-3ff77430de3805fe0691c76c8cceb49575b24705.zip
Closes #3120. Review by extempore.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 4a29491cde..720994dff3 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -3521,6 +3521,11 @@ trait Typers { self: Analyzer =>
}
if (!reallyExists(sym)) {
+ if (context.owner.toplevelClass.hasFlag(JAVA) && name.isTypeName) {
+ val tree1 = atPos(tree.pos) { gen.convertToSelectFromType(qual, name) }
+ if (tree1 != EmptyTree) return typed1(tree1, mode, pt)
+ }
+
if (settings.debug.value) Console.err.println("qual = "+qual+":"+qual.tpe+"\nSymbol="+qual.tpe.termSymbol+"\nsymbol-info = "+qual.tpe.termSymbol.info+"\nscope-id = "+qual.tpe.termSymbol.info.decls.hashCode()+"\nmembers = "+qual.tpe.members+"\nname = "+name+"\nfound = "+sym+"\nowner = "+context.enclClass.owner)
def makeErrorTree = {