summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMiles Sabin <miles@milessabin.com>2009-09-10 14:31:44 +0000
committerMiles Sabin <miles@milessabin.com>2009-09-10 14:31:44 +0000
commit5f5b82e792094d3d51985167f96742f4ea210a31 (patch)
tree0cde4d4d8e84e0dac3cf39d9968e137618e24879 /src
parent069ebc18013dd774270f30c337be3bbc0bd30fd6 (diff)
downloadscala-5f5b82e792094d3d51985167f96742f4ea210a31.tar.gz
scala-5f5b82e792094d3d51985167f96742f4ea210a31.tar.bz2
scala-5f5b82e792094d3d51985167f96742f4ea210a31.zip
Try harder to preserve type information in inco...
Try harder to preserve type information in incorrect code. This leaves a type for IDE completion and other semantically driven features to work with, eg., in the context of code as it's being written.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index b816ac9417..99b10d766d 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -3217,6 +3217,13 @@ trait Typers { self: Analyzer =>
else ""))
}
setError(tree)
+
+ val tree1 = tree match {
+ case Select(_, _) => treeCopy.Select(tree, qual, name)
+ case SelectFromTypeTree(_, _) => treeCopy.SelectFromTypeTree(tree, qual, name)
+ }
+
+ tree1
} else {
val tree1 = tree match {
case Select(_, _) => treeCopy.Select(tree, qual, name)