diff options
author | Sean McDirmid <sean.mcdirmid@gmail.com> | 2008-07-03 11:12:45 +0000 |
---|---|---|
committer | Sean McDirmid <sean.mcdirmid@gmail.com> | 2008-07-03 11:12:45 +0000 |
commit | 1f9606f7471894c29ac0e433c74dd599fef1bff3 (patch) | |
tree | 7bf6e514c5225cbcde32fb1f5e3d256de4081ba0 /src | |
parent | 3f256f905fdf2d35c38ce049920dcc5338501db9 (diff) | |
download | scala-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.scala | 12 |
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) |