diff --git a/src/compiler/scala/tools/nsc/interactive/Global.scala b/src/compiler/scala/tools/nsc/interactive/Global.scala index dab635887..db7f94e1e 100644 --- a/src/compiler/scala/tools/nsc/interactive/Global.scala +++ b/src/compiler/scala/tools/nsc/interactive/Global.scala @@ -197,12 +197,12 @@ self => logreplay("atnode", nodeWithWork()) match { case Some(id) => debugLog("some work at node "+id+" current = "+nodesSeen) - assert(id >= nodesSeen) +// assert(id >= nodesSeen) moreWorkAtNode = id case None => } - if (nodesSeen == moreWorkAtNode) { + if (nodesSeen >= moreWorkAtNode) { if (logreplay("cancelled", pendingResponse.isCancelled)) { throw CancelException } diff --git a/src/compiler/scala/tools/nsc/interactive/PresentationCompilerThread.scala b/src/compiler/scala/tools/nsc/interactive/PresentationCompilerThread.scala index 65f90670e..c3f6fee35 100644 --- a/src/compiler/scala/tools/nsc/interactive/PresentationCompilerThread.scala +++ b/src/compiler/scala/tools/nsc/interactive/PresentationCompilerThread.scala @@ -17,7 +17,6 @@ class PresentationCompilerThread(var compiler: Global, threadId: Int) extends Th while (true) { compiler.log.logreplay("wait for more work", { compiler.scheduler.waitForMoreWork(); true }) compiler.pollForWork(compiler.NoPosition) - compiler.debugLog("got more work") while (compiler.outOfDate) { try { compiler.backgroundCompile() @@ -50,4 +49,4 @@ class PresentationCompilerThread(var compiler: Global, threadId: Int) extends Th compiler = null } } -} \ No newline at end of file +} diff --git a/src/compiler/scala/tools/nsc/symtab/Types.scala b/src/compiler/scala/tools/nsc/symtab/Types.scala index 9d0b844ed..1e86f8e34 100644 --- a/src/compiler/scala/tools/nsc/symtab/Types.scala +++ b/src/compiler/scala/tools/nsc/symtab/Types.scala @@ -3777,7 +3777,7 @@ A type's typeSymbol should never be inspected directly. if (rebind0 == NoSymbol) { if (sym.isAliasType) throw missingAliasException if (settings.debug.value) println(pre+"."+sym+" does no longer exist, phase = "+phase) - throw new MissingTypeControl // For build manager purposes + throw new MissingTypeControl // For build manager and presentation compiler purposes //assert(false, pre+"."+sym+" does no longer exist, phase = "+phase) } /** The two symbols have the same fully qualified name */ @@ -3816,7 +3816,7 @@ A type's typeSymbol should never be inspected directly. if (sym1 == sym) tp else ThisType(sym1) } catch { case ex: MissingTypeControl => - NoType + tp } case SingleType(pre, sym) => if (sym.isPackage) tp @@ -3839,7 +3839,7 @@ A type's typeSymbol should never be inspected directly. case ex: MissingAliasControl => apply(tp.dealias) case _: MissingTypeControl => - NoType + tp } } case MethodType(params, restp) =>