summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSean McDirmid <sean.mcdirmid@gmail.com>2008-07-03 11:12:45 +0000
committerSean McDirmid <sean.mcdirmid@gmail.com>2008-07-03 11:12:45 +0000
commit1f9606f7471894c29ac0e433c74dd599fef1bff3 (patch)
tree7bf6e514c5225cbcde32fb1f5e3d256de4081ba0 /src
parent3f256f905fdf2d35c38ce049920dcc5338501db9 (diff)
downloadscala-1f9606f7471894c29ac0e433c74dd599fef1bff3.tar.gz
scala-1f9606f7471894c29ac0e433c74dd599fef1bff3.tar.bz2
scala-1f9606f7471894c29ac0e433c74dd599fef1bff3.zip
Ingo's fix that I didn't actually committ a few...
Ingo's fix that I didn't actually committ a few days ago as I thought.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/IdeSupport.scala12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/IdeSupport.scala b/src/compiler/scala/tools/nsc/symtab/IdeSupport.scala
index 44a6c1d95b..b9bb67309e 100644
--- a/src/compiler/scala/tools/nsc/symtab/IdeSupport.scala
+++ b/src/compiler/scala/tools/nsc/symtab/IdeSupport.scala
@@ -193,9 +193,15 @@ trait IdeSupport extends SymbolTable { // added to global, not analyzers.
if (sym.rawInfo != NoType && !sym.rawInfo.isComplete) {
Console.println("XXX uncompleted: " + sym)
}
- val resetType = sym.info == NoType || hasError(sym.info)
- if (!resetType && !compareTypes(sym.info, oldType,Nil)(sym => tracedTypes.get(sym) match {
- case None => sym.info
+ val syminfo = try {
+ sym.info
+ } catch {
+ case e => check(false, ""+e); NoType
+ }
+
+ val resetType = syminfo == NoType || hasError(syminfo)
+ if (!resetType && !compareTypes(syminfo, oldType,Nil)(sym => tracedTypes.get(sym) match {
+ case None => syminfo
case Some(oldType) => oldType
})) (trackedTypes.removeKey(sym) match {
case Some(set) => set.foreach(_.changed)