From c687908e1ed66cacec79c66b582de2853d64a44f Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Fri, 10 Feb 2017 13:17:06 +0100 Subject: [PATCH] Fix copying occurrences from the store view --- .../Core/src/jetbrains/mps/logic/reactor/core/Store.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/reactor/Core/src/jetbrains/mps/logic/reactor/core/Store.kt b/reactor/Core/src/jetbrains/mps/logic/reactor/core/Store.kt index f94bba85..bd242a96 100644 --- a/reactor/Core/src/jetbrains/mps/logic/reactor/core/Store.kt +++ b/reactor/Core/src/jetbrains/mps/logic/reactor/core/Store.kt @@ -97,11 +97,11 @@ class Store : LogicalObserver, OccurrenceIndex { var v2o = Maps.of>() copyFrom.allOccurrences().forEach { occ -> - occ.arguments().forEach { a -> - when (a) { - is Logical<*> -> l2o = l2o.put(IdWrapper(a), l2o[IdWrapper(a)]?.add(occ) ?: singletonSet(occ)) - is Term -> t2o = t2o.put(a, occ) - is Any -> v2o = v2o.put(a, v2o[a]?.add(occ) ?: singletonSet(occ)) + occ.arguments().forEach { arg -> + when (arg) { + is Logical<*> -> l2o = l2o.put(IdWrapper(arg.findRoot()), l2o[IdWrapper(arg.findRoot())]?.add(occ) ?: singletonSet(occ)) + is Term -> t2o = t2o.put(arg.withConstraint(occ.constraint()), occ) + is Any -> v2o = v2o.put(arg, v2o[arg]?.add(occ) ?: singletonSet(occ)) } }