From 4e89325d478cfbc25984dfee6171e3ce50dc1350 Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Thu, 20 Aug 2020 12:08:57 +0200 Subject: [PATCH] Reactor: enable to reuse RuleIndex from token in non-incremental mode. --- .../mps/logic/reactor/core/internal/EvaluationSessionImpl.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/EvaluationSessionImpl.kt b/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/EvaluationSessionImpl.kt index eaf66be0..78145e33 100644 --- a/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/EvaluationSessionImpl.kt +++ b/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/EvaluationSessionImpl.kt @@ -49,7 +49,10 @@ internal class EvaluationSessionImpl private constructor ( val invalidFeedbackKeys: Set if (!incrementality.ability().allowed() || token == null) { - val ruleIndex = RuleIndex(program.rulesLists()) + val ruleIndex = token + ?.let { (it as SessionTokenImpl).ruleIndex } + ?.also { it.updateIndex(program.rulesLists(), rulesDiff.removed) } + ?: RuleIndex(program.rulesLists()) val logicalState = LogicalState() val processing = ConstraintsProcessing(