Add several tests of incr typecheck on BL. ProgramEvaluator now depends on ProgramProducer.

This commit is contained in:
Grigorii Kirgizov 2019-07-16 14:12:04 +03:00 committed by Fedor Isakov
parent be7283190f
commit b9309e6369
8 changed files with 4219 additions and 1013 deletions

View File

@ -36,6 +36,7 @@
<import index="2gg1" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.errors(MPS.Core/)" />
<import index="ksgm" ref="r:6285678b-007f-4527-bcf5-6fd38ba8c969(jetbrains.mps.lang.coderules.program)" />
<import index="xnrr" ref="r:4fd33103-fc30-42f4-a8cf-d1e858f21988(jetbrains.mps.lang.coderules.program.analysis)" />
<import index="zx3l" ref="bbf5c548-7111-4a53-a117-cdefc664cf34/java:jetbrains.mps.logic.reactor.core(jetbrains.mps.logic.reactor/)" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -675,9 +676,9 @@
<node concept="17QB3L" id="7WKNeR9G2Fq" role="1tU5fm" />
</node>
<node concept="37vLTG" id="7lt0LtQtD2v" role="3clF46">
<property role="TrG5h" value="program" />
<node concept="3uibUv" id="7lt0LtQtEFj" role="1tU5fm">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
<property role="TrG5h" value="programProducer" />
<node concept="3uibUv" id="7eQMSyz9Ip6" role="1tU5fm">
<ref role="3uigEE" node="3GlpCDSxTG7" resolve="ProgramProducer" />
</node>
</node>
<node concept="37vLTG" id="24Vro6cQKgF" role="3clF46">
@ -697,6 +698,22 @@
<node concept="10Nm6u" id="4F3SXIF6e39" role="33vP2m" />
</node>
</node>
<node concept="3cpWs8" id="7eQMSyz9QyK" role="3cqZAp">
<node concept="3cpWsn" id="7eQMSyz9QyL" role="3cpWs9">
<property role="TrG5h" value="program" />
<node concept="3uibUv" id="7eQMSyz9QyM" role="1tU5fm">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
</node>
<node concept="2OqwBi" id="7eQMSyz9TvU" role="33vP2m">
<node concept="37vLTw" id="7eQMSyz9TjP" role="2Oq$k0">
<ref role="3cqZAo" node="7lt0LtQtD2v" resolve="programProducer" />
</node>
<node concept="liA8E" id="7eQMSyz9TDq" role="2OqNvi">
<ref role="37wK5l" node="3GlpCDSyO$P" resolve="getProgram" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="70Wv0dJhMDq" role="3cqZAp" />
<node concept="3cpWs8" id="70Wv0dJjilv" role="3cqZAp">
<node concept="3cpWsn" id="70Wv0dJjilw" role="3cpWs9">
@ -731,8 +748,8 @@
<node concept="3uibUv" id="4$YN6QuccZK" role="10QFUM">
<ref role="3uigEE" to="ksgm:7eGEHDlcEJ0" resolve="CodeRulesProgram" />
</node>
<node concept="37vLTw" id="70Wv0dJhOMF" role="10QFUP">
<ref role="3cqZAo" node="7lt0LtQtD2v" resolve="program" />
<node concept="37vLTw" id="7eQMSyza76l" role="10QFUP">
<ref role="3cqZAo" node="7eQMSyz9QyL" resolve="program" />
</node>
</node>
</node>
@ -761,8 +778,8 @@
<node concept="3uibUv" id="4$YN6QuccWT" role="2ZW6by">
<ref role="3uigEE" to="ksgm:7eGEHDlcEJ0" resolve="CodeRulesProgram" />
</node>
<node concept="37vLTw" id="70Wv0dJhNmD" role="2ZW6bz">
<ref role="3cqZAo" node="7lt0LtQtD2v" resolve="program" />
<node concept="37vLTw" id="7eQMSyz9TRM" role="2ZW6bz">
<ref role="3cqZAo" node="7eQMSyz9QyL" resolve="program" />
</node>
</node>
</node>
@ -776,8 +793,8 @@
<node concept="2YIFZM" id="7WKNeR9xpPQ" role="33vP2m">
<ref role="37wK5l" to="w7la:~EvaluationSession.newSession(jetbrains.mps.logic.reactor.program.Program)" resolve="newSession" />
<ref role="1Pybhc" to="w7la:~EvaluationSession" resolve="EvaluationSession" />
<node concept="37vLTw" id="7WKNeR9xpPR" role="37wK5m">
<ref role="3cqZAo" node="7lt0LtQtD2v" resolve="program" />
<node concept="37vLTw" id="7eQMSyz9Vlh" role="37wK5m">
<ref role="3cqZAo" node="7eQMSyz9QyL" resolve="program" />
</node>
</node>
</node>
@ -945,6 +962,17 @@
</node>
</node>
<node concept="3clFbH" id="8odmgCo4LW" role="3cqZAp" />
<node concept="3clFbF" id="6uUkLpHjIS9" role="3cqZAp">
<node concept="37vLTI" id="6uUkLpHjL2F" role="3clFbG">
<node concept="37vLTw" id="6uUkLpHjIS7" role="37vLTJ">
<ref role="3cqZAo" node="6uUkLpHj_La" resolve="rulesDiff" />
</node>
<node concept="2YIFZM" id="7eQMSyzaq4u" role="37vLTx">
<ref role="1Pybhc" to="zx3l:~RulesDiff" resolve="RulesDiff" />
<ref role="37wK5l" to="zx3l:~RulesDiff.emptyDiff()" resolve="emptyDiff" />
</node>
</node>
</node>
<node concept="3clFbJ" id="3R7n5gYSM0R" role="3cqZAp">
<node concept="3clFbS" id="3R7n5gYSM0S" role="3clFbx">
<node concept="3clFbF" id="3R7n5gYSM0T" role="3cqZAp">
@ -965,6 +993,73 @@
</node>
</node>
</node>
<node concept="3clFbH" id="7eQMSyzaIFj" role="3cqZAp" />
<node concept="1X3_iC" id="dgjrbRrt7d" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="6uUkLpHjMAP" role="8Wnug">
<node concept="37vLTI" id="6uUkLpHjMPt" role="3clFbG">
<node concept="37vLTw" id="6uUkLpHjMAN" role="37vLTJ">
<ref role="3cqZAo" node="6uUkLpHj_La" resolve="rulesDiff" />
</node>
<node concept="2YIFZM" id="7eQMSyzaq4z" role="37vLTx">
<ref role="37wK5l" to="zx3l:~RulesDiff.findDiff(java.lang.Iterable,java.lang.Iterable,jetbrains.mps.logic.reactor.program.DependentRulesSpec)" resolve="findDiff" />
<ref role="1Pybhc" to="zx3l:~RulesDiff" resolve="RulesDiff" />
<node concept="2OqwBi" id="7eQMSyzaq4$" role="37wK5m">
<node concept="liA8E" id="7eQMSyzaq4A" role="2OqNvi">
<ref role="37wK5l" to="w7la:~SessionToken.getRuleTags()" resolve="getRuleTags" />
</node>
<node concept="37vLTw" id="7eQMSyzaqus" role="2Oq$k0">
<ref role="3cqZAo" node="1H_6AUSjp6Y" resolve="sessionToken" />
</node>
</node>
<node concept="2OqwBi" id="7eQMSyzaq4B" role="37wK5m">
<node concept="37vLTw" id="7eQMSyzaqKc" role="2Oq$k0">
<ref role="3cqZAo" node="7eQMSyz9QyL" resolve="program" />
</node>
<node concept="liA8E" id="7eQMSyzaq4F" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Program.rules()" resolve="rules" />
</node>
</node>
<node concept="2OqwBi" id="7eQMSyzaq4G" role="37wK5m">
<node concept="37vLTw" id="7eQMSyzaqSz" role="2Oq$k0">
<ref role="3cqZAo" node="7lt0LtQtD2v" resolve="programProducer" />
</node>
<node concept="liA8E" id="7eQMSyzaq4I" role="2OqNvi">
<ref role="37wK5l" node="tyIfzBDlP8" resolve="getProgramGenInfo" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="6uUkLpHkm2n" role="3cqZAp">
<node concept="37vLTI" id="6uUkLpHkm2o" role="3clFbG">
<node concept="37vLTw" id="6uUkLpHkm2p" role="37vLTJ">
<ref role="3cqZAo" node="6uUkLpHj_La" resolve="rulesDiff" />
</node>
<node concept="2YIFZM" id="6uUkLpHkm2q" role="37vLTx">
<ref role="1Pybhc" to="zx3l:~RulesDiff" resolve="RulesDiff" />
<ref role="37wK5l" to="zx3l:~RulesDiff.findDiff(java.lang.Iterable,java.lang.Iterable)" resolve="findDiff" />
<node concept="2OqwBi" id="6uUkLpHkm2r" role="37wK5m">
<node concept="liA8E" id="6uUkLpHkm2s" role="2OqNvi">
<ref role="37wK5l" to="w7la:~SessionToken.getRuleTags()" resolve="getRuleTags" />
</node>
<node concept="37vLTw" id="6uUkLpHkm2t" role="2Oq$k0">
<ref role="3cqZAo" node="1H_6AUSjp6Y" resolve="sessionToken" />
</node>
</node>
<node concept="2OqwBi" id="6uUkLpHkm2u" role="37wK5m">
<node concept="37vLTw" id="6uUkLpHkm2v" role="2Oq$k0">
<ref role="3cqZAo" node="7eQMSyz9QyL" resolve="program" />
</node>
<node concept="liA8E" id="6uUkLpHkm2w" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Program.rules()" resolve="rules" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3R7n5gYSM10" role="3cqZAp" />
<node concept="1DcWWT" id="3R7n5gYSM11" role="3cqZAp">
<node concept="3clFbS" id="3R7n5gYSM12" role="2LFqv$">
@ -1015,6 +1110,47 @@
</node>
</node>
</node>
<node concept="3clFbF" id="7eQMSyza1JA" role="3cqZAp">
<node concept="37vLTI" id="7eQMSyza3Wa" role="3clFbG">
<node concept="2OqwBi" id="7eQMSyza54k" role="37vLTx">
<node concept="37vLTw" id="7eQMSyza4Y_" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR9xpPP" resolve="config" />
</node>
<node concept="liA8E" id="7eQMSyza5cw" role="2OqNvi">
<ref role="37wK5l" to="w7la:~EvaluationSession$Config.withIncrSpec(jetbrains.mps.logic.reactor.program.IncrementalProgramSpec)" resolve="withIncrSpec" />
<node concept="2OqwBi" id="7eQMSyza5vp" role="37wK5m">
<node concept="37vLTw" id="7eQMSyza5fZ" role="2Oq$k0">
<ref role="3cqZAo" node="7lt0LtQtD2v" resolve="programProducer" />
</node>
<node concept="liA8E" id="7eQMSyza5DB" role="2OqNvi">
<ref role="37wK5l" node="1H_6AUT8p2f" resolve="getProgramSpec" />
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="7eQMSyza1J$" role="37vLTJ">
<ref role="3cqZAo" node="7WKNeR9xpPP" resolve="config" />
</node>
</node>
</node>
<node concept="3clFbF" id="7eQMSyzjaWQ" role="3cqZAp">
<node concept="37vLTI" id="7eQMSyzjaWR" role="3clFbG">
<node concept="2OqwBi" id="7eQMSyzjaWS" role="37vLTx">
<node concept="37vLTw" id="7eQMSyzjaWT" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR9xpPP" resolve="config" />
</node>
<node concept="liA8E" id="7eQMSyzjaWU" role="2OqNvi">
<ref role="37wK5l" to="w7la:~EvaluationSession$Config.withRulesDiff(jetbrains.mps.logic.reactor.core.RulesDiff)" resolve="withRulesDiff" />
<node concept="37vLTw" id="6uUkLpHjN74" role="37wK5m">
<ref role="3cqZAo" node="6uUkLpHj_La" resolve="rulesDiff" />
</node>
</node>
</node>
<node concept="37vLTw" id="7eQMSyzjaWY" role="37vLTJ">
<ref role="3cqZAo" node="7WKNeR9xpPP" resolve="config" />
</node>
</node>
</node>
<node concept="3clFbH" id="3GlpCDSBYQN" role="3cqZAp" />
<node concept="3SKdUt" id="7WKNeR9xESt" role="3cqZAp">
<node concept="1PaTwC" id="589APehYxNy" role="3ndbpf">
@ -2164,6 +2300,20 @@
<ref role="3uigEE" to="w7la:~SessionToken" resolve="SessionToken" />
</node>
</node>
<node concept="3clFb_" id="6uUkLpHjDqO" role="jymVt">
<property role="TrG5h" value="rulesDiff" />
<node concept="3clFbS" id="6uUkLpHjDqR" role="3clF47">
<node concept="3clFbF" id="6uUkLpHjEJO" role="3cqZAp">
<node concept="37vLTw" id="6uUkLpHjEJN" role="3clFbG">
<ref role="3cqZAo" node="6uUkLpHj_La" resolve="rulesDiff" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="6uUkLpHjCmc" role="1B3o_S" />
<node concept="3uibUv" id="6uUkLpHjDmc" role="3clF45">
<ref role="3uigEE" to="zx3l:~RulesDiff" resolve="RulesDiff" />
</node>
</node>
<node concept="2tJIrI" id="3GlpCDSEXkp" role="jymVt" />
<node concept="3clFb_" id="4jcOV4hNHoE" role="jymVt">
<property role="TrG5h" value="severityToStatus" />
@ -2293,6 +2443,13 @@
<ref role="3uigEE" to="w7la:~StoreView" resolve="StoreView" />
</node>
</node>
<node concept="312cEg" id="6uUkLpHj_La" role="jymVt">
<property role="TrG5h" value="rulesDiff" />
<node concept="3Tm6S6" id="6uUkLpHj$G_" role="1B3o_S" />
<node concept="3uibUv" id="6uUkLpHj_Gy" role="1tU5fm">
<ref role="3uigEE" to="zx3l:~RulesDiff" resolve="RulesDiff" />
</node>
</node>
<node concept="312cEg" id="1H_6AUSjp6Y" role="jymVt">
<property role="TrG5h" value="sessionToken" />
<node concept="3Tm6S6" id="1H_6AUSjoeZ" role="1B3o_S" />

View File

@ -29,7 +29,6 @@
<child id="1068498886297" name="rValue" index="37vLTx" />
<child id="1068498886295" name="lValue" index="37vLTJ" />
</concept>
<concept id="1153417849900" name="jetbrains.mps.baseLanguage.structure.GreaterThanOrEqualsExpression" flags="nn" index="2d3UOw" />
<concept id="4836112446988635817" name="jetbrains.mps.baseLanguage.structure.UndefinedType" flags="in" index="2jxLKc" />
<concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
<concept id="1465982738277781862" name="jetbrains.mps.baseLanguage.structure.PlaceholderMember" flags="ng" index="2tJIrI" />
@ -138,13 +137,13 @@
<concept id="1068580320020" name="jetbrains.mps.baseLanguage.structure.IntegerConstant" flags="nn" index="3cmrfG">
<property id="1068580320021" name="value" index="3cmrfH" />
</concept>
<concept id="1068581242875" name="jetbrains.mps.baseLanguage.structure.PlusExpression" flags="nn" index="3cpWs3" />
<concept id="1068581242878" name="jetbrains.mps.baseLanguage.structure.ReturnStatement" flags="nn" index="3cpWs6">
<child id="1068581517676" name="expression" index="3cqZAk" />
</concept>
<concept id="1068581242864" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" flags="nn" index="3cpWs8">
<child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
</concept>
<concept id="1068581242869" name="jetbrains.mps.baseLanguage.structure.MinusExpression" flags="nn" index="3cpWsd" />
<concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
<concept id="1068581517677" name="jetbrains.mps.baseLanguage.structure.VoidType" flags="in" index="3cqZAl" />
<concept id="1206060495898" name="jetbrains.mps.baseLanguage.structure.ElsifClause" flags="ng" index="3eNFk2">
@ -154,6 +153,7 @@
<concept id="1079359253375" name="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" flags="nn" index="1eOMI4">
<child id="1079359253376" name="expression" index="1eOMHV" />
</concept>
<concept id="1081506773034" name="jetbrains.mps.baseLanguage.structure.LessThanExpression" flags="nn" index="3eOVzh" />
<concept id="1081516740877" name="jetbrains.mps.baseLanguage.structure.NotExpression" flags="nn" index="3fqX7Q">
<child id="1081516765348" name="expression" index="3fr31v" />
</concept>
@ -211,9 +211,19 @@
<concept id="1138055754698" name="jetbrains.mps.lang.smodel.structure.SNodeType" flags="in" index="3Tqbb2" />
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<child id="5169995583184591170" name="smodelAttribute" index="lGtFl" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
<concept id="709746936026466394" name="jetbrains.mps.lang.core.structure.ChildAttribute" flags="ng" index="3VBwX9">
<property id="709746936026609031" name="linkId" index="3V$3ak" />
<property id="709746936026609029" name="role_DebugInfo" index="3V$3am" />
</concept>
<concept id="4452961908202556907" name="jetbrains.mps.lang.core.structure.BaseCommentAttribute" flags="ng" index="1X3_iC">
<child id="3078666699043039389" name="commentedNode" index="8Wnug" />
</concept>
</language>
<language id="c7fb639f-be78-4307-89b0-b5959c3fa8c8" name="jetbrains.mps.lang.text">
<concept id="155656958578482948" name="jetbrains.mps.lang.text.structure.Word" flags="ng" index="3oM_SD">
@ -531,18 +541,22 @@
</node>
</node>
</node>
<node concept="3clFbF" id="4I7t_UeyY7F" role="3cqZAp">
<node concept="2OqwBi" id="4I7t_UeyZcs" role="3clFbG">
<node concept="37vLTw" id="4I7t_UeyY7D" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UeyKOi" resolve="parentsInfo" />
</node>
<node concept="liA8E" id="4I7t_UeyZqY" role="2OqNvi">
<ref role="37wK5l" node="4I7t_UewIPO" resolve="update" />
<node concept="37vLTw" id="4I7t_UeyZx9" role="37wK5m">
<ref role="3cqZAo" node="1H_6AUSFpV0" resolve="node" />
<node concept="1X3_iC" id="3vh3iHvpLgu" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="4I7t_UeyY7F" role="8Wnug">
<node concept="2OqwBi" id="4I7t_UeyZcs" role="3clFbG">
<node concept="37vLTw" id="4I7t_UeyY7D" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UeyKOi" resolve="parentsInfo" />
</node>
<node concept="37vLTw" id="4I7t_UeyZLS" role="37wK5m">
<ref role="3cqZAo" node="1H_6AUSEVJU" resolve="ruleBuilders" />
<node concept="liA8E" id="4I7t_UeyZqY" role="2OqNvi">
<ref role="37wK5l" node="4I7t_UewIPO" resolve="update" />
<node concept="37vLTw" id="4I7t_UeyZx9" role="37wK5m">
<ref role="3cqZAo" node="1H_6AUSFpV0" resolve="node" />
</node>
<node concept="37vLTw" id="4I7t_UeyZLS" role="37wK5m">
<ref role="3cqZAo" node="1H_6AUSEVJU" resolve="ruleBuilders" />
</node>
</node>
</node>
</node>
@ -624,6 +638,7 @@
<node concept="312cEu" id="4I7t_UewrPR" role="jymVt">
<property role="2bfB8j" value="true" />
<property role="TrG5h" value="NodeParentsInfo" />
<node concept="2tJIrI" id="7eQMSyz7_Z4" role="jymVt" />
<node concept="3clFb_" id="4I7t_Uewttd" role="jymVt">
<property role="TrG5h" value="getDependentRules" />
<node concept="37vLTG" id="4I7t_Uew_zT" role="3clF46">
@ -650,27 +665,64 @@
</node>
</node>
</node>
<node concept="3clFbH" id="7eQMSyziHUN" role="3cqZAp" />
<node concept="3cpWs8" id="7eQMSyziDty" role="3cqZAp">
<node concept="3cpWsn" id="7eQMSyziDtz" role="3cpWs9">
<property role="TrG5h" value="ruleTarget" />
<node concept="3uibUv" id="7eQMSyziDt$" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="3EllGN" id="4I7t_Uex77K" role="33vP2m">
<node concept="2OqwBi" id="4I7t_Ue$EVu" role="3ElVtu">
<node concept="37vLTw" id="4I7t_Uex7fU" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_Uew_zT" resolve="rule" />
</node>
<node concept="liA8E" id="4I7t_Ue$Fwf" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Rule.uniqueTag()" resolve="uniqueTag" />
</node>
</node>
<node concept="37vLTw" id="4I7t_Uex6ue" role="3ElQJh">
<ref role="3cqZAo" node="4I7t_Uex1GD" resolve="ruletag2ref" />
</node>
</node>
</node>
</node>
<node concept="1X3_iC" id="6uUkLpHiPEL" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbJ" id="7eQMSyzigkw" role="8Wnug">
<node concept="3clFbS" id="7eQMSyzigky" role="3clFbx">
<node concept="3cpWs6" id="7eQMSyzil9U" role="3cqZAp">
<node concept="37vLTw" id="7eQMSyzixjQ" role="3cqZAk">
<ref role="3cqZAo" node="4I7t_UewAaA" resolve="collectedTags" />
</node>
</node>
</node>
<node concept="3fqX7Q" id="7eQMSyzijjg" role="3clFbw">
<node concept="2OqwBi" id="7eQMSyzikcz" role="3fr31v">
<node concept="37vLTw" id="7eQMSyziGyv" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UewyIM" resolve="ref2idx" />
</node>
<node concept="2Nt0df" id="7eQMSyzikEH" role="2OqNvi">
<node concept="37vLTw" id="7eQMSyziH5O" role="38cxEo">
<ref role="3cqZAo" node="7eQMSyziDtz" resolve="ruleTarget" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="4I7t_UewA2G" role="3cqZAp">
<node concept="3cpWsn" id="4I7t_UewA2J" role="3cpWs9">
<property role="TrG5h" value="cur" />
<node concept="10Oyi0" id="4I7t_UewA2E" role="1tU5fm" />
<node concept="3EllGN" id="4I7t_UewD_O" role="33vP2m">
<node concept="3EllGN" id="4I7t_Uex77K" role="3ElVtu">
<node concept="2OqwBi" id="4I7t_Ue$EVu" role="3ElVtu">
<node concept="37vLTw" id="4I7t_Uex7fU" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_Uew_zT" resolve="rule" />
</node>
<node concept="liA8E" id="4I7t_Ue$Fwf" role="2OqNvi">
<ref role="37wK5l" to="av0y:~Rule.uniqueTag()" resolve="uniqueTag" />
</node>
</node>
<node concept="37vLTw" id="4I7t_Uex6ue" role="3ElQJh">
<ref role="3cqZAo" node="4I7t_Uex1GD" resolve="ruletag2ref" />
</node>
</node>
<node concept="37vLTw" id="4I7t_UewDeh" role="3ElQJh">
<ref role="3cqZAo" node="4I7t_UewyIM" resolve="ref2idx" />
</node>
<node concept="37vLTw" id="7eQMSyziHf6" role="3ElVtu">
<ref role="3cqZAo" node="7eQMSyziDtz" resolve="ruleTarget" />
</node>
</node>
</node>
</node>
@ -708,6 +760,19 @@
</node>
</node>
</node>
<node concept="3clFbJ" id="7eQMSyz5p$V" role="3cqZAp">
<node concept="3clFbS" id="7eQMSyz5p$X" role="3clFbx">
<node concept="3zACq4" id="7eQMSyz5qVg" role="3cqZAp" />
</node>
<node concept="3eOVzh" id="7eQMSyz5qLD" role="3clFbw">
<node concept="3cmrfG" id="7eQMSyz5qNG" role="3uHU7w">
<property role="3cmrfH" value="0" />
</node>
<node concept="37vLTw" id="7eQMSyz5q4Q" role="3uHU7B">
<ref role="3cqZAo" node="4I7t_UewA2J" resolve="cur" />
</node>
</node>
</node>
<node concept="3clFbF" id="4I7t_UewByZ" role="3cqZAp">
<node concept="2OqwBi" id="4I7t_UewC5H" role="3clFbG">
<node concept="37vLTw" id="4I7t_UewByX" role="2Oq$k0">
@ -731,13 +796,8 @@
</node>
</node>
</node>
<node concept="2d3UOw" id="4I7t_UewExH" role="2$JKZa">
<node concept="3cmrfG" id="4I7t_UewEzn" role="3uHU7w">
<property role="3cmrfH" value="0" />
</node>
<node concept="37vLTw" id="4I7t_UewDPj" role="3uHU7B">
<ref role="3cqZAo" node="4I7t_UewA2J" resolve="cur" />
</node>
<node concept="3clFbT" id="7eQMSyz5oPe" role="2$JKZa">
<property role="3clFbU" value="true" />
</node>
</node>
<node concept="3cpWs6" id="4I7t_UewHUX" role="3cqZAp">
@ -773,7 +833,7 @@
<node concept="3clFbS" id="4I7t_UewIPR" role="3clF47">
<node concept="3cpWs8" id="4I7t_UexdNg" role="3cqZAp">
<node concept="3cpWsn" id="4I7t_UexdNh" role="3cpWs9">
<property role="TrG5h" value="prevRef" />
<property role="TrG5h" value="nodeRef" />
<node concept="3uibUv" id="4I7t_UexdNi" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
@ -787,36 +847,36 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="4I7t_Uex806" role="3cqZAp">
<node concept="3cpWsn" id="4I7t_Uex809" role="3cpWs9">
<property role="TrG5h" value="ruletags" />
<node concept="A3Dl8" id="4I7t_Uex803" role="1tU5fm">
<node concept="3uibUv" id="4I7t_Uex8gS" role="A3Ik2">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
<node concept="2OqwBi" id="4I7t_UewQiD" role="33vP2m">
<node concept="37vLTw" id="4I7t_UewPAo" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UewJCO" resolve="ruleBuilders" />
</node>
<node concept="3$u5V9" id="4I7t_UewQuR" role="2OqNvi">
<node concept="1bVj0M" id="4I7t_UewQuT" role="23t8la">
<node concept="3clFbS" id="4I7t_UewQuU" role="1bW5cS">
<node concept="3clFbF" id="4I7t_UewQ_s" role="3cqZAp">
<node concept="2OqwBi" id="4I7t_UewQI$" role="3clFbG">
<node concept="37vLTw" id="4I7t_UewQ_r" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UewQuV" resolve="it" />
</node>
<node concept="liA8E" id="4I7t_UewQWx" role="2OqNvi">
<ref role="37wK5l" to="i348:1N8$BG_3xre" resolve="uniqueTag" />
</node>
</node>
<node concept="3clFbJ" id="7eQMSyzkzIC" role="3cqZAp">
<node concept="3clFbS" id="7eQMSyzkzIE" role="3clFbx">
<node concept="3clFbF" id="7eQMSyzk_Bk" role="3cqZAp">
<node concept="37vLTI" id="7eQMSyzkAD_" role="3clFbG">
<node concept="2ShNRf" id="7eQMSyzkAMD" role="37vLTx">
<node concept="Tc6Ow" id="7eQMSyzkAUx" role="2ShVmc">
<node concept="3uibUv" id="7eQMSyzkG12" role="HW$YZ">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
<node concept="Rh6nW" id="4I7t_UewQuV" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="4I7t_UewQuW" role="1tU5fm" />
</node>
<node concept="3EllGN" id="7eQMSyzkAre" role="37vLTJ">
<node concept="37vLTw" id="7eQMSyzkAzS" role="3ElVtu">
<ref role="3cqZAo" node="4I7t_UexdNh" resolve="nodeRef" />
</node>
<node concept="37vLTw" id="7eQMSyzk_Bi" role="3ElQJh">
<ref role="3cqZAo" node="4I7t_UewMNl" resolve="ref2ruletags" />
</node>
</node>
</node>
</node>
</node>
<node concept="3fqX7Q" id="7eQMSyzk$jr" role="3clFbw">
<node concept="2OqwBi" id="7eQMSyzk$KB" role="3fr31v">
<node concept="37vLTw" id="7eQMSyzk$pc" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UewMNl" resolve="ref2ruletags" />
</node>
<node concept="2Nt0df" id="7eQMSyzk_hh" role="2OqNvi">
<node concept="37vLTw" id="7eQMSyzk_vY" role="38cxEo">
<ref role="3cqZAo" node="4I7t_UexdNh" resolve="nodeRef" />
</node>
</node>
</node>
@ -824,45 +884,79 @@
</node>
<node concept="2Gpval" id="4I7t_Uex8Vi" role="3cqZAp">
<node concept="2GrKxI" id="4I7t_Uex8Vk" role="2Gsz3X">
<property role="TrG5h" value="ruletag" />
<property role="TrG5h" value="ruleBuilder" />
</node>
<node concept="37vLTw" id="4I7t_Uex9rq" role="2GsD0m">
<ref role="3cqZAo" node="4I7t_Uex809" resolve="ruletags" />
<node concept="37vLTw" id="7eQMSyzkMEZ" role="2GsD0m">
<ref role="3cqZAo" node="4I7t_UewJCO" resolve="ruleBuilders" />
</node>
<node concept="3clFbS" id="4I7t_Uex8Vo" role="2LFqv$">
<node concept="3cpWs8" id="7eQMSyzkPLp" role="3cqZAp">
<node concept="3cpWsn" id="7eQMSyzkPLq" role="3cpWs9">
<property role="TrG5h" value="tag" />
<node concept="3uibUv" id="7eQMSyzkPLr" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
<node concept="2OqwBi" id="7eQMSyzkQg7" role="33vP2m">
<node concept="2GrUjf" id="7eQMSyzkQbh" role="2Oq$k0">
<ref role="2Gs0qQ" node="4I7t_Uex8Vk" resolve="ruleBuilder" />
</node>
<node concept="liA8E" id="7eQMSyzkQBw" role="2OqNvi">
<ref role="37wK5l" to="i348:1N8$BG_3xre" resolve="uniqueTag" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4I7t_Uex9yb" role="3cqZAp">
<node concept="37vLTI" id="4I7t_Uexa1B" role="3clFbG">
<node concept="3EllGN" id="4I7t_Uex9Qt" role="37vLTJ">
<node concept="2GrUjf" id="4I7t_Uex9W9" role="3ElVtu">
<ref role="2Gs0qQ" node="4I7t_Uex8Vk" resolve="ruletag" />
<node concept="37vLTw" id="7eQMSyzkRhP" role="3ElVtu">
<ref role="3cqZAo" node="7eQMSyzkPLq" resolve="tag" />
</node>
<node concept="37vLTw" id="4I7t_Uex9ya" role="3ElQJh">
<ref role="3cqZAo" node="4I7t_Uex1GD" resolve="ruletag2ref" />
</node>
</node>
<node concept="37vLTw" id="4I7t_Uexfxm" role="37vLTx">
<ref role="3cqZAo" node="4I7t_UexdNh" resolve="prevRef" />
<ref role="3cqZAo" node="4I7t_UexdNh" resolve="nodeRef" />
</node>
</node>
</node>
<node concept="3clFbF" id="7eQMSyzkH9F" role="3cqZAp">
<node concept="2OqwBi" id="7eQMSyzkHRy" role="3clFbG">
<node concept="3EllGN" id="4I7t_UewPdd" role="2Oq$k0">
<node concept="37vLTw" id="4I7t_Uexf5i" role="3ElVtu">
<ref role="3cqZAo" node="4I7t_UexdNh" resolve="nodeRef" />
</node>
<node concept="37vLTw" id="4I7t_UewPdh" role="3ElQJh">
<ref role="3cqZAo" node="4I7t_UewMNl" resolve="ref2ruletags" />
</node>
</node>
<node concept="TSZUe" id="7eQMSyzkOSX" role="2OqNvi">
<node concept="37vLTw" id="7eQMSyzkQGC" role="25WWJ7">
<ref role="3cqZAo" node="7eQMSyzkPLq" resolve="tag" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4I7t_UewPdb" role="3cqZAp">
<node concept="37vLTI" id="4I7t_UewPtI" role="3clFbG">
<node concept="3EllGN" id="4I7t_UewPdd" role="37vLTJ">
<node concept="37vLTw" id="4I7t_Uexf5i" role="3ElVtu">
<ref role="3cqZAo" node="4I7t_UexdNh" resolve="prevRef" />
</node>
<node concept="37vLTw" id="4I7t_UewPdh" role="3ElQJh">
<ref role="3cqZAo" node="4I7t_UewMNl" resolve="ref2ruletags" />
</node>
<node concept="3clFbH" id="7eQMSyz7kUu" role="3cqZAp" />
<node concept="3clFbJ" id="7eQMSyz7n$c" role="3cqZAp">
<node concept="3clFbS" id="7eQMSyz7n$e" role="3clFbx">
<node concept="3cpWs6" id="7eQMSyz7rXO" role="3cqZAp" />
</node>
<node concept="2OqwBi" id="7eQMSyz7oul" role="3clFbw">
<node concept="37vLTw" id="7eQMSyzku8o" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UewyIM" resolve="ref2idx" />
</node>
<node concept="37vLTw" id="4I7t_Uex8R8" role="37vLTx">
<ref role="3cqZAo" node="4I7t_Uex809" resolve="ruletags" />
<node concept="2Nt0df" id="7eQMSyz7pdK" role="2OqNvi">
<node concept="37vLTw" id="7eQMSyzjGEH" role="38cxEo">
<ref role="3cqZAo" node="4I7t_UexdNh" resolve="nodeRef" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="4I7t_UewP91" role="3cqZAp" />
<node concept="3clFbH" id="7eQMSyzkwRW" role="3cqZAp" />
<node concept="3cpWs8" id="4I7t_UewKYg" role="3cqZAp">
<node concept="3cpWsn" id="4I7t_UewKYh" role="3cpWs9">
<property role="TrG5h" value="parent" />
@ -876,35 +970,90 @@
</node>
<node concept="2$JKZl" id="4I7t_UewLCS" role="3cqZAp">
<node concept="3clFbS" id="4I7t_UewLCU" role="2LFqv$">
<node concept="3clFbF" id="4I7t_Uey4ro" role="3cqZAp">
<node concept="2OqwBi" id="4I7t_Uey4rp" role="3clFbG">
<node concept="37vLTw" id="4I7t_Uey4rq" role="2Oq$k0">
<node concept="3cpWs8" id="4I7t_Uexoee" role="3cqZAp">
<node concept="3cpWsn" id="4I7t_Uexoef" role="3cpWs9">
<property role="TrG5h" value="curRef" />
<node concept="3uibUv" id="4I7t_Uexoeg" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="2OqwBi" id="4I7t_UexoOq" role="33vP2m">
<node concept="37vLTw" id="4I7t_UexoH7" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UewKYh" resolve="parent" />
</node>
<node concept="liA8E" id="4I7t_UexoYy" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="4I7t_Uexc1W" role="3cqZAp">
<node concept="3cpWsn" id="4I7t_Uexc1Z" role="3cpWs9">
<property role="TrG5h" value="curIdx" />
<node concept="10Oyi0" id="4I7t_Uexc1U" role="1tU5fm" />
<node concept="2OqwBi" id="4I7t_Uexi8J" role="33vP2m">
<node concept="34oBXx" id="4I7t_UexiJ$" role="2OqNvi" />
<node concept="37vLTw" id="7eQMSyzk2IR" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_Uewvf5" resolve="idx2ref" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4I7t_UexqpD" role="3cqZAp">
<node concept="37vLTI" id="4I7t_Uexrzl" role="3clFbG">
<node concept="3EllGN" id="4I7t_UexqLo" role="37vLTJ">
<node concept="37vLTw" id="7eQMSyz7tZ7" role="3ElVtu">
<ref role="3cqZAo" node="4I7t_Uexoef" resolve="curRef" />
</node>
<node concept="37vLTw" id="4I7t_UexqpB" role="3ElQJh">
<ref role="3cqZAo" node="4I7t_UewyIM" resolve="ref2idx" />
</node>
</node>
<node concept="37vLTw" id="7eQMSyz7wNR" role="37vLTx">
<ref role="3cqZAo" node="4I7t_Uexc1Z" resolve="curIdx" />
</node>
</node>
</node>
<node concept="3clFbF" id="7eQMSyz7xUE" role="3cqZAp">
<node concept="2OqwBi" id="7eQMSyz7zzx" role="3clFbG">
<node concept="37vLTw" id="7eQMSyz7xUC" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_Uewvf5" resolve="idx2ref" />
</node>
<node concept="2Ke9KJ" id="7eQMSyz7$h4" role="2OqNvi">
<node concept="37vLTw" id="7eQMSyz7$Ak" role="25WWJ7">
<ref role="3cqZAo" node="4I7t_Uexoef" resolve="curRef" />
</node>
</node>
</node>
</node>
<node concept="3SKdUt" id="7eQMSyz804l" role="3cqZAp">
<node concept="1PaTwC" id="7eQMSyz804m" role="3ndbpf">
<node concept="3oM_SD" id="7eQMSyz80o0" role="1PaTwD">
<property role="3oM_SC" value="-1" />
</node>
<node concept="3oM_SD" id="7eQMSyz80oa" role="1PaTwD">
<property role="3oM_SC" value="means" />
</node>
<node concept="3oM_SD" id="7eQMSyz80ol" role="1PaTwD">
<property role="3oM_SC" value="no" />
</node>
<node concept="3oM_SD" id="7eQMSyzizbq" role="1PaTwD">
<property role="3oM_SC" value="parent" />
</node>
</node>
</node>
<node concept="3clFbF" id="7eQMSyz7JLV" role="3cqZAp">
<node concept="2OqwBi" id="7eQMSyz7KDR" role="3clFbG">
<node concept="37vLTw" id="7eQMSyz7JLT" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UewxBr" resolve="parents" />
</node>
<node concept="2Ke9KJ" id="4I7t_Uey4rr" role="2OqNvi">
<node concept="3cmrfG" id="4I7t_Uey4rs" role="25WWJ7">
<node concept="2Ke9KJ" id="7eQMSyz7Lnk" role="2OqNvi">
<node concept="3cmrfG" id="7eQMSyz7LMz" role="25WWJ7">
<property role="3cmrfH" value="-1" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4I7t_Uey4rt" role="3cqZAp">
<node concept="2OqwBi" id="4I7t_Uey4ru" role="3clFbG">
<node concept="37vLTw" id="4I7t_Uey4rv" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_Uewvf5" resolve="idx2ref" />
</node>
<node concept="2Ke9KJ" id="4I7t_Uey4rw" role="2OqNvi">
<node concept="2OqwBi" id="4I7t_Uey8Sq" role="25WWJ7">
<node concept="37vLTw" id="4I7t_Uey8rd" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UewKYh" resolve="parent" />
</node>
<node concept="liA8E" id="4I7t_Uey9tv" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="7eQMSyz7YQI" role="3cqZAp" />
<node concept="3clFbF" id="4I7t_Uey4ry" role="3cqZAp">
<node concept="37vLTI" id="4I7t_Uey4rz" role="3clFbG">
<node concept="2OqwBi" id="4I7t_Uey4r$" role="37vLTx">
@ -920,66 +1069,38 @@
</node>
</node>
</node>
<node concept="3clFbJ" id="4I7t_Uey7DA" role="3cqZAp">
<node concept="3clFbS" id="4I7t_Uey7DC" role="3clFbx">
<node concept="3zACq4" id="4I7t_Uey8ov" role="3cqZAp" />
<node concept="3clFbJ" id="7eQMSyz84qD" role="3cqZAp">
<node concept="3clFbS" id="7eQMSyz84qF" role="3clFbx">
<node concept="3zACq4" id="7eQMSyz84Z3" role="3cqZAp" />
</node>
<node concept="3clFbC" id="4I7t_Uey8jb" role="3clFbw">
<node concept="10Nm6u" id="4I7t_Uey8n0" role="3uHU7w" />
<node concept="37vLTw" id="4I7t_Uey89o" role="3uHU7B">
<node concept="3clFbC" id="7eQMSyz84Ty" role="3clFbw">
<node concept="10Nm6u" id="7eQMSyz84XF" role="3uHU7w" />
<node concept="37vLTw" id="7eQMSyz84Io" role="3uHU7B">
<ref role="3cqZAo" node="4I7t_UewKYh" resolve="parent" />
</node>
</node>
</node>
<node concept="3clFbH" id="4I7t_Uey$ko" role="3cqZAp" />
<node concept="3cpWs8" id="4I7t_Uexc1W" role="3cqZAp">
<node concept="3cpWsn" id="4I7t_Uexc1Z" role="3cpWs9">
<property role="TrG5h" value="prevIdx" />
<node concept="10Oyi0" id="4I7t_Uexc1U" role="1tU5fm" />
<node concept="3cpWsd" id="4I7t_UeyAHO" role="33vP2m">
<node concept="3cmrfG" id="4I7t_UeyAIY" role="3uHU7w">
<property role="3cmrfH" value="1" />
</node>
<node concept="2OqwBi" id="4I7t_Uexi8J" role="3uHU7B">
<node concept="34oBXx" id="4I7t_UexiJ$" role="2OqNvi" />
<node concept="37vLTw" id="4I7t_UeyfB9" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_Uewvf5" resolve="idx2ref" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="4I7t_Uexoee" role="3cqZAp">
<node concept="3cpWsn" id="4I7t_Uexoef" role="3cpWs9">
<property role="TrG5h" value="parentRef" />
<node concept="3uibUv" id="4I7t_Uexoeg" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="2OqwBi" id="4I7t_UexoOq" role="33vP2m">
<node concept="37vLTw" id="4I7t_UexoH7" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UewKYh" resolve="parent" />
</node>
<node concept="liA8E" id="4I7t_UexoYy" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="7eQMSyz87o2" role="3cqZAp" />
<node concept="3clFbJ" id="4I7t_UexiMz" role="3cqZAp">
<node concept="3clFbS" id="4I7t_UexiM_" role="3clFbx">
<node concept="3clFbF" id="4I7t_UexAqp" role="3cqZAp">
<node concept="37vLTI" id="4I7t_UexCj3" role="3clFbG">
<node concept="3EllGN" id="4I7t_UexEIB" role="37vLTx">
<node concept="37vLTw" id="4I7t_UexEXk" role="3ElVtu">
<ref role="3cqZAo" node="4I7t_Uexoef" resolve="parentRef" />
</node>
<node concept="37vLTw" id="4I7t_UexEj0" role="3ElQJh">
<ref role="3cqZAo" node="4I7t_UewyIM" resolve="ref2idx" />
</node>
<node concept="2OqwBi" id="7eQMSyz837P" role="3ElVtu">
<node concept="37vLTw" id="7eQMSyz837Q" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UewKYh" resolve="parent" />
</node>
<node concept="liA8E" id="7eQMSyz837R" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
</node>
</node>
<node concept="1y4W85" id="4I7t_UexB66" role="37vLTJ">
<node concept="37vLTw" id="4I7t_UexBDq" role="1y58nS">
<ref role="3cqZAo" node="4I7t_Uexc1Z" resolve="prevIdx" />
<ref role="3cqZAo" node="4I7t_Uexc1Z" resolve="curIdx" />
</node>
<node concept="37vLTw" id="4I7t_UexAqn" role="1y566C">
<ref role="3cqZAo" node="4I7t_UewxBr" resolve="parents" />
@ -994,50 +1115,73 @@
<ref role="3cqZAo" node="4I7t_UewyIM" resolve="ref2idx" />
</node>
<node concept="2Nt0df" id="4I7t_Uexq5a" role="2OqNvi">
<node concept="37vLTw" id="4I7t_Uexq7N" role="38cxEo">
<ref role="3cqZAo" node="4I7t_Uexoef" resolve="parentRef" />
<node concept="2OqwBi" id="7eQMSyz7fCz" role="38cxEo">
<node concept="37vLTw" id="7eQMSyz7fC$" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_UewKYh" resolve="parent" />
</node>
<node concept="liA8E" id="7eQMSyz7fC_" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4I7t_UexFKi" role="3cqZAp">
<node concept="37vLTI" id="4I7t_UexHKN" role="3clFbG">
<node concept="2OqwBi" id="4I7t_UexJfJ" role="37vLTx">
<node concept="37vLTw" id="4I7t_UexIoe" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_Uewvf5" resolve="idx2ref" />
</node>
<node concept="34oBXx" id="4I7t_UexJWo" role="2OqNvi" />
<node concept="3SKdUt" id="7eQMSyzkg8R" role="3cqZAp">
<node concept="1PaTwC" id="7eQMSyzkg8S" role="3ndbpf">
<node concept="3oM_SD" id="7eQMSyzkgIX" role="1PaTwD">
<property role="3oM_SC" value="it" />
</node>
<node concept="1y4W85" id="4I7t_UexGZz" role="37vLTJ">
<node concept="37vLTw" id="4I7t_UexIcu" role="1y58nS">
<ref role="3cqZAo" node="4I7t_Uexc1Z" resolve="prevIdx" />
<node concept="3oM_SD" id="7eQMSyzkiCH" role="1PaTwD">
<property role="3oM_SC" value="will" />
</node>
<node concept="3oM_SD" id="7eQMSyzkiCM" role="1PaTwD">
<property role="3oM_SC" value="be" />
</node>
<node concept="3oM_SD" id="7eQMSyzkiD0" role="1PaTwD">
<property role="3oM_SC" value="a" />
</node>
<node concept="3oM_SD" id="7eQMSyzkiD7" role="1PaTwD">
<property role="3oM_SC" value="new" />
</node>
<node concept="3oM_SD" id="7eQMSyzkgIZ" role="1PaTwD">
<property role="3oM_SC" value="last" />
</node>
<node concept="3oM_SD" id="7eQMSyzkgJy" role="1PaTwD">
<property role="3oM_SC" value="element" />
</node>
<node concept="3oM_SD" id="7eQMSyzkse3" role="1PaTwD">
<property role="3oM_SC" value="on" />
</node>
<node concept="3oM_SD" id="7eQMSyzkse$" role="1PaTwD">
<property role="3oM_SC" value="next" />
</node>
<node concept="3oM_SD" id="7eQMSyzksf6" role="1PaTwD">
<property role="3oM_SC" value="iteration" />
</node>
</node>
</node>
<node concept="3clFbF" id="7eQMSyzk4Mh" role="3cqZAp">
<node concept="37vLTI" id="7eQMSyzk6Yn" role="3clFbG">
<node concept="1y4W85" id="7eQMSyzk5Kh" role="37vLTJ">
<node concept="37vLTw" id="7eQMSyzk69F" role="1y58nS">
<ref role="3cqZAo" node="4I7t_Uexc1Z" resolve="curIdx" />
</node>
<node concept="37vLTw" id="4I7t_UexFKg" role="1y566C">
<node concept="37vLTw" id="7eQMSyzk4Mf" role="1y566C">
<ref role="3cqZAo" node="4I7t_UewxBr" resolve="parents" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4I7t_UexqpD" role="3cqZAp">
<node concept="37vLTI" id="4I7t_Uexrzl" role="3clFbG">
<node concept="3EllGN" id="4I7t_UexqLo" role="37vLTJ">
<node concept="37vLTw" id="4I7t_UexqZq" role="3ElVtu">
<ref role="3cqZAo" node="4I7t_Uexoef" resolve="parentRef" />
<node concept="3cpWs3" id="7eQMSyzkil6" role="37vLTx">
<node concept="3cmrfG" id="7eQMSyzkimd" role="3uHU7w">
<property role="3cmrfH" value="1" />
</node>
<node concept="37vLTw" id="4I7t_UexqpB" role="3ElQJh">
<ref role="3cqZAo" node="4I7t_UewyIM" resolve="ref2idx" />
<node concept="37vLTw" id="7eQMSyzkhKs" role="3uHU7B">
<ref role="3cqZAo" node="4I7t_Uexc1Z" resolve="curIdx" />
</node>
</node>
<node concept="2OqwBi" id="4I7t_UeyiA8" role="37vLTx">
<node concept="37vLTw" id="4I7t_UeyhSg" role="2Oq$k0">
<ref role="3cqZAo" node="4I7t_Uewvf5" resolve="idx2ref" />
</node>
<node concept="34oBXx" id="4I7t_Ueyj8M" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="3clFbT" id="4I7t_Uey6T_" role="2$JKZa">
<node concept="3clFbT" id="7eQMSyz86hY" role="2$JKZa">
<property role="3clFbU" value="true" />
</node>
</node>
@ -1075,8 +1219,8 @@
<node concept="3uibUv" id="4I7t_UewNvQ" role="3rvQeY">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="A3Dl8" id="4I7t_UewNAQ" role="3rvSg0">
<node concept="3uibUv" id="4I7t_UewNH8" role="A3Ik2">
<node concept="_YKpA" id="7eQMSyzkC76" role="3rvSg0">
<node concept="3uibUv" id="7eQMSyzkCW$" role="_ZDj9">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
@ -1086,8 +1230,8 @@
<node concept="3uibUv" id="4I7t_Uex0KM" role="3rHrn6">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="A3Dl8" id="4I7t_Uex0XO" role="3rHtpV">
<node concept="3uibUv" id="4I7t_Uex1ic" role="A3Ik2">
<node concept="_YKpA" id="7eQMSyzkEvH" role="3rHtpV">
<node concept="3uibUv" id="7eQMSyzkF2Z" role="_ZDj9">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
@ -1354,7 +1498,7 @@
<ref role="3uigEE" node="4I7t_UewrPR" resolve="ProgramGenInfoBuilder.NodeParentsInfo" />
</node>
<node concept="2ShNRf" id="4I7t_UeyNlw" role="33vP2m">
<node concept="HV5vD" id="4I7t_UeyNHp" role="2ShVmc">
<node concept="HV5vD" id="6uUkLpHo3KE" role="2ShVmc">
<ref role="HV5vE" node="4I7t_UewrPR" resolve="ProgramGenInfoBuilder.NodeParentsInfo" />
</node>
</node>

View File

@ -4915,7 +4915,7 @@
<node concept="37vLTG" id="1H_6AUT3Sc$" role="3clF46">
<property role="TrG5h" value="analysisInfoBuilder" />
<node concept="3uibUv" id="1H_6AUT3TTg" role="1tU5fm">
<ref role="3uigEE" to="xnrr:1H_6AUSE5Z9" resolve="ProgramAnalysisInfoBuilder" />
<ref role="3uigEE" to="xnrr:1H_6AUSE5Z9" resolve="ProgramGenInfoBuilder" />
</node>
</node>
<node concept="37vLTG" id="70Wv0dJiUYa" role="3clF46">
@ -8462,7 +8462,7 @@
<property role="TrG5h" value="analysisInfoBuilder" />
<node concept="3Tm6S6" id="1H_6AUSFFYv" role="1B3o_S" />
<node concept="3uibUv" id="1H_6AUT3TWz" role="1tU5fm">
<ref role="3uigEE" to="xnrr:1H_6AUSE5Z9" resolve="ProgramAnalysisInfoBuilder" />
<ref role="3uigEE" to="xnrr:1H_6AUSE5Z9" resolve="ProgramGenInfoBuilder" />
</node>
</node>
<node concept="312cEg" id="70Wv0dJiUY$" role="jymVt">

View File

@ -1149,22 +1149,6 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="6tPOoeTbYY_" role="3cqZAp">
<node concept="3cpWsn" id="6tPOoeTbYYA" role="3cpWs9">
<property role="TrG5h" value="program" />
<node concept="3uibUv" id="6tPOoeTbYYx" role="1tU5fm">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
</node>
<node concept="2OqwBi" id="6tPOoeTbYYB" role="33vP2m">
<node concept="37vLTw" id="6tPOoeTbYYC" role="2Oq$k0">
<ref role="3cqZAo" node="6$7vuu2ugt3" resolve="tplApp" />
</node>
<node concept="liA8E" id="6tPOoeTbYYD" role="2OqNvi">
<ref role="37wK5l" to="hano:3GlpCDSyO$P" resolve="getProgram" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="1CcQBrQrYPT" role="3cqZAp">
<node concept="37vLTI" id="1CcQBrQrYPV" role="3clFbG">
<node concept="37vLTw" id="1CcQBrQrYPZ" role="37vLTJ">
@ -1185,8 +1169,8 @@
<node concept="Xl_RD" id="6tPOoeTc4db" role="37wK5m">
<property role="Xl_RC" value=".initial" />
</node>
<node concept="37vLTw" id="6tPOoeTc7DG" role="37wK5m">
<ref role="3cqZAo" node="6tPOoeTbYYA" resolve="program" />
<node concept="37vLTw" id="7eQMSyzaBa7" role="37wK5m">
<ref role="3cqZAo" node="6$7vuu2ugt3" resolve="tplApp" />
</node>
<node concept="10M0yZ" id="4$YN6QuoGjt" role="37wK5m">
<ref role="3cqZAo" to="hano:24Vro6cS5rK" resolve="NULL" />

View File

@ -356,13 +356,6 @@
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
<concept id="709746936026466394" name="jetbrains.mps.lang.core.structure.ChildAttribute" flags="ng" index="3VBwX9">
<property id="709746936026609031" name="linkId" index="3V$3ak" />
<property id="709746936026609029" name="role_DebugInfo" index="3V$3am" />
</concept>
<concept id="4452961908202556907" name="jetbrains.mps.lang.core.structure.BaseCommentAttribute" flags="ng" index="1X3_iC">
<child id="3078666699043039389" name="commentedNode" index="8Wnug" />
</concept>
</language>
<language id="c7fb639f-be78-4307-89b0-b5959c3fa8c8" name="jetbrains.mps.lang.text">
<concept id="155656958578482948" name="jetbrains.mps.lang.text.structure.Word" flags="ng" index="3oM_SD">
@ -1008,25 +1001,20 @@
</node>
</node>
</node>
<node concept="2tJIrI" id="1H_6AUT8sWC" role="jymVt" />
<node concept="3clFb_" id="1H_6AUT8vBd" role="jymVt">
<property role="TrG5h" value="getProgramSpec" />
<node concept="3clFbS" id="1H_6AUT8vBg" role="3clF47">
<node concept="3clFbF" id="1H_6AUT8wMQ" role="3cqZAp">
<node concept="2OqwBi" id="1H_6AUT8x2G" role="3clFbG">
<node concept="37vLTw" id="1H_6AUT8wMP" role="2Oq$k0">
<ref role="3cqZAo" node="3GlpCDSzA$E" resolve="programProducer" />
</node>
<node concept="liA8E" id="1H_6AUT8xhB" role="2OqNvi">
<ref role="37wK5l" to="hano:1H_6AUT8p2f" resolve="getProgramSpec" />
</node>
<node concept="2tJIrI" id="7eQMSyzafhH" role="jymVt" />
<node concept="3clFb_" id="7eQMSyzadZv" role="jymVt">
<property role="TrG5h" value="getProgramProducer" />
<node concept="3uibUv" id="7eQMSyzag26" role="3clF45">
<ref role="3uigEE" to="hano:3GlpCDSxTG7" resolve="ProgramProducer" />
</node>
<node concept="3Tm1VV" id="7eQMSyzadZx" role="1B3o_S" />
<node concept="3clFbS" id="7eQMSyzadZy" role="3clF47">
<node concept="3clFbF" id="7eQMSyzadZz" role="3cqZAp">
<node concept="37vLTw" id="7eQMSyzadZ_" role="3clFbG">
<ref role="3cqZAo" node="3GlpCDSzA$E" resolve="programProducer" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="1H_6AUT8uM8" role="1B3o_S" />
<node concept="3uibUv" id="1H_6AUT8vyt" role="3clF45">
<ref role="3uigEE" to="av0y:~IncrementalProgramSpec" resolve="IncrementalProgramSpec" />
</node>
</node>
<node concept="2tJIrI" id="4QPCta1gZH8" role="jymVt" />
<node concept="3uibUv" id="1pPth$lACR_" role="1zkMxy">
@ -1892,22 +1880,6 @@
</node>
</node>
<node concept="3clFbH" id="7WKNeR9$3Zm" role="3cqZAp" />
<node concept="3cpWs8" id="1H_6AUTHthD" role="3cqZAp">
<node concept="3cpWsn" id="1H_6AUTHthE" role="3cpWs9">
<property role="TrG5h" value="spec" />
<node concept="3uibUv" id="1H_6AUTHthF" role="1tU5fm">
<ref role="3uigEE" to="av0y:~IncrementalProgramSpec" resolve="IncrementalProgramSpec" />
</node>
<node concept="2OqwBi" id="1H_6AUTHwI9" role="33vP2m">
<node concept="37vLTw" id="1H_6AUTHw6a" role="2Oq$k0">
<ref role="3cqZAo" node="Hg6Enc9a3G" resolve="prev" />
</node>
<node concept="liA8E" id="1H_6AUTH$10" role="2OqNvi">
<ref role="37wK5l" node="1H_6AUT8vBd" resolve="getProgramSpec" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="Hg6Enc7CPK" role="3cqZAp">
<node concept="3cpWsn" id="Hg6Enc7CPL" role="3cpWs9">
<property role="TrG5h" value="progEval" />
@ -1948,47 +1920,6 @@
</node>
<node concept="3Tm1VV" id="7WKNeR9yo$p" role="1B3o_S" />
<node concept="3clFbS" id="7WKNeR9yo$x" role="3clF47">
<node concept="1X3_iC" id="tyIfzBA2Wf" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="1H_6AUT8zXg" role="8Wnug">
<node concept="37vLTI" id="1H_6AUT8$eN" role="3clFbG">
<node concept="2OqwBi" id="1H_6AUT8$$b" role="37vLTx">
<node concept="37vLTw" id="1H_6AUT8$uA" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR9yo$m" resolve="config" />
</node>
<node concept="liA8E" id="1H_6AUT8$LY" role="2OqNvi">
<ref role="37wK5l" to="w7la:~EvaluationSession$Config.withIncrSpec(jetbrains.mps.logic.reactor.program.IncrementalProgramSpec)" resolve="withIncrSpec" />
<node concept="10M0yZ" id="1H_6AUTGRq$" role="37wK5m">
<ref role="3cqZAo" to="av0y:~IncrementalProgramSpec.DefaultSpec" resolve="DefaultSpec" />
<ref role="1PxDUh" to="av0y:~IncrementalProgramSpec" resolve="IncrementalProgramSpec" />
</node>
</node>
</node>
<node concept="37vLTw" id="1H_6AUT8zXe" role="37vLTJ">
<ref role="3cqZAo" node="7WKNeR9yo$m" resolve="config" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="1H_6AUTHlkR" role="3cqZAp">
<node concept="37vLTI" id="1H_6AUTHlkS" role="3clFbG">
<node concept="2OqwBi" id="1H_6AUTHlkT" role="37vLTx">
<node concept="37vLTw" id="1H_6AUTHlkU" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR9yo$m" resolve="config" />
</node>
<node concept="liA8E" id="1H_6AUTHlkV" role="2OqNvi">
<ref role="37wK5l" to="w7la:~EvaluationSession$Config.withIncrSpec(jetbrains.mps.logic.reactor.program.IncrementalProgramSpec)" resolve="withIncrSpec" />
<node concept="37vLTw" id="1H_6AUTH_aP" role="37wK5m">
<ref role="3cqZAo" node="1H_6AUTHthE" resolve="spec" />
</node>
</node>
</node>
<node concept="37vLTw" id="1H_6AUTHlkX" role="37vLTJ">
<ref role="3cqZAo" node="7WKNeR9yo$m" resolve="config" />
</node>
</node>
</node>
<node concept="3clFbF" id="7WKNeR9zwhr" role="3cqZAp">
<node concept="3K4zz7" id="7WKNeR9zwY7" role="3clFbG">
<node concept="37vLTw" id="7WKNeR9zx_R" role="3K4GZi">
@ -2039,17 +1970,17 @@
</node>
<node concept="3cpWs8" id="7WKNeR9AoxH" role="3cqZAp">
<node concept="3cpWsn" id="7WKNeR9AoxI" role="3cpWs9">
<property role="TrG5h" value="program" />
<property role="TrG5h" value="programProducer" />
<property role="3TUv4t" value="true" />
<node concept="3uibUv" id="7WKNeR9AowU" role="1tU5fm">
<ref role="3uigEE" to="av0y:~Program" resolve="Program" />
<node concept="3uibUv" id="7eQMSyzabbY" role="1tU5fm">
<ref role="3uigEE" to="hano:3GlpCDSxTG7" resolve="ProgramProducer" />
</node>
<node concept="2OqwBi" id="6tPOoeTcqr5" role="33vP2m">
<node concept="37vLTw" id="6tPOoeTcp$e" role="2Oq$k0">
<ref role="3cqZAo" node="Hg6Enc9a3G" resolve="prev" />
</node>
<node concept="liA8E" id="6tPOoeTcr$$" role="2OqNvi">
<ref role="37wK5l" node="6kREIVl0HhM" resolve="getProgram" />
<node concept="liA8E" id="7eQMSyzanDe" role="2OqNvi">
<ref role="37wK5l" node="7eQMSyzadZv" resolve="getProgramProducer" />
</node>
</node>
</node>
@ -2076,7 +2007,7 @@
<ref role="3cqZAo" node="7WKNeR9AkUd" resolve="stage" />
</node>
<node concept="37vLTw" id="7WKNeR9AoxM" role="37wK5m">
<ref role="3cqZAo" node="7WKNeR9AoxI" resolve="program" />
<ref role="3cqZAo" node="7WKNeR9AoxI" resolve="programProducer" />
</node>
<node concept="2ShNRf" id="7WKNeR9Gjbf" role="37wK5m">
<node concept="1pGfFk" id="7WKNeR9Gjbg" role="2ShVmc">

View File

@ -13,6 +13,7 @@
<dependency reexport="false">6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)</dependency>
<dependency reexport="false">c9670c16-a215-41fb-8784-04b14329799d(jetbrains.mps.coderules.typechecking.test)</dependency>
<dependency reexport="false">0fda14cc-a416-4c81-869a-2175d8b3325d(jetbrains.mps.baseLanguageExt)</dependency>
<dependency reexport="false">bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor)</dependency>
</dependencies>
<languageVersions>
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="8" />