From c6dca919cab9186ec3b06220ea3622f85d65168e Mon Sep 17 00:00:00 2001 From: Grigorii Kirgizov Date: Sun, 19 Apr 2020 03:13:33 +0300 Subject: [PATCH] Fix loss of some rule matcher probes with state crucial for incremental sessions --- .../mps/logic/reactor/core/internal/ReteRuleMatcherImpl.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ReteRuleMatcherImpl.kt b/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ReteRuleMatcherImpl.kt index ed1524c0..50506bc4 100644 --- a/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ReteRuleMatcherImpl.kt +++ b/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/ReteRuleMatcherImpl.kt @@ -247,7 +247,8 @@ internal class ReteRuleMatcherImpl(private var ruleLookup: RuleLookup, nodeList.add(node) } - fun occurrencesCount() = introTrail.size() + fun hasOccurrences(): Boolean + = introTrail.size() > 0 || updateQueue.size > 0 fun containsOccurrence(occ: Occurrence): Boolean { return introTrail.contains(occ.identity) @@ -407,7 +408,7 @@ internal class ReteRuleMatcherImpl(private var ruleLookup: RuleLookup, } fun hasOccurrences(): Boolean { - return layers.any { it.occurrencesCount() > 0 } + return layers.any { it.hasOccurrences() } } fun reset(): Generation {