in reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ConstraintsProcessing.kt [59:83]
fun processActivated(controller: Controller, active: Occurrence, inStatus: FeedbackStatus) : FeedbackStatus {
if (!active.stored) {
active.stored = true
logActivation(active)
active.revive(logicalState)
}
assert(active.alive)
profiler.profile("dispatch_${active.constraint().symbol()}") {
this.dispatchingFront = dispatchingFront.expand(active)
}
val matches = dispatchingFront.matches().toList()
val outStatus = processMatches(controller, active, matches, inStatus)
// TODO: should be isAlive()
if (active.stored) {
trace.suspend(active)
}
return outStatus
}