Fixed First/Second dependency problem in presentation compiler.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24024 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
This commit is contained in:
parent
5746dfc0b5
commit
2899fd0d26
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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) =>
|
||||
|
|
Loading…
Reference in New Issue