Specify notion of required nodes: separately for tmpl application & for UpdatesRecorder

Too many nodes get into tmpl application process, which is unnecessary.
Many of those nodes are required actually only for correctly tracking
changes to nodes with WatchingTypecheckingStrategy.

Now implicitly required only nodes which are mentioned inside
constraint arguments. In other cases user must require them explicitly.
This commit is contained in:
Grigorii Kirgizov 2020-09-07 16:43:56 +03:00 committed by Fedor Isakov
parent a403b1a252
commit cc9c4c54b3
3 changed files with 1868 additions and 1103 deletions

View File

@ -5138,9 +5138,6 @@
<node concept="3cpWs8" id="4MqhgXUQinu" role="3cqZAp">
<node concept="3cpWsn" id="4MqhgXUQinv" role="3cpWs9">
<property role="TrG5h" value="mainRulesListBuilder" />
<node concept="3uibUv" id="4MqhgXUQinf" role="1tU5fm">
<ref role="3uigEE" node="4MqhgXUMauK" resolve="RulesListTable.RuleTableBuilder" />
</node>
<node concept="2ShNRf" id="4MqhgXUQinw" role="33vP2m">
<node concept="1pGfFk" id="4MqhgXUQinx" role="2ShVmc">
<ref role="37wK5l" node="4MqhgXUMb4h" resolve="RulesListTable.RuleTableBuilder" />
@ -5159,6 +5156,9 @@
</node>
</node>
</node>
<node concept="3uibUv" id="4MqhgXUQinf" role="1tU5fm">
<ref role="3uigEE" node="4MqhgXUMauK" resolve="RulesListTable.RuleTableBuilder" />
</node>
</node>
<node concept="15s5l7" id="1H_6AUT6WmZ" role="lGtFl">
<property role="1eyWvh" value="FLAVOUR_ISSUE_KIND=&quot;typesystem (typesystem)&quot;;FLAVOUR_MESSAGE=&quot;Error: type java.lang.Object is not a subtype of ? extends Object&quot;;FLAVOUR_RULE_ID=&quot;[r:00000000-0000-4000-0000-011c8959032b(jetbrains.mps.baseLanguage.collections.typesystem)/5108199730660924415,r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)/2062135263152102048]&quot;;" />
@ -5260,14 +5260,14 @@
<node concept="3cpWs8" id="4hQVL4fbdNR" role="3cqZAp">
<node concept="3cpWsn" id="4hQVL4fbdNS" role="3cpWs9">
<property role="TrG5h" value="required" />
<node concept="3vKaQO" id="4hQVL4fahqn" role="1tU5fm">
<node concept="3Tqbb2" id="4hQVL4fahqq" role="3O5elw" />
</node>
<node concept="2ShNRf" id="3OUB6BBR90f" role="33vP2m">
<node concept="2i4dXS" id="3OUB6BBR9vl" role="2ShVmc">
<node concept="3Tqbb2" id="3OUB6BBRa5m" role="HW$YZ" />
</node>
</node>
<node concept="3vKaQO" id="4hQVL4fahqn" role="1tU5fm">
<node concept="3Tqbb2" id="4hQVL4fahqq" role="3O5elw" />
</node>
</node>
</node>
<node concept="3clFbH" id="4hQVL4fjaox" role="3cqZAp" />
@ -5733,6 +5733,17 @@
<node concept="3uibUv" id="6i42QSsq0Nv" role="3clF45">
<ref role="3uigEE" to="psoy:7Oc59RSEjdb" resolve="Result" />
</node>
<node concept="37vLTG" id="tIwzd1MM1I" role="3clF46">
<property role="TrG5h" value="required_visited" />
<node concept="1LlUBW" id="tIwzd1MM1J" role="1tU5fm">
<node concept="3vKaQO" id="tIwzd1MM1K" role="1Lm7xW">
<node concept="3Tqbb2" id="tIwzd1MM1L" role="3O5elw" />
</node>
<node concept="3vKaQO" id="tIwzd1MM1M" role="1Lm7xW">
<node concept="3Tqbb2" id="tIwzd1MM1N" role="3O5elw" />
</node>
</node>
</node>
<node concept="3clFbS" id="tIwzd1MM0J" role="3clF47">
<node concept="3cpWs8" id="6i42QSsq4kW" role="3cqZAp">
<node concept="3cpWsn" id="6i42QSsq4kX" role="3cpWs9">
@ -5750,6 +5761,9 @@
<node concept="3cpWs8" id="tIwzd1MM0K" role="3cqZAp">
<node concept="3cpWsn" id="tIwzd1MM0L" role="3cpWs9">
<property role="TrG5h" value="visited" />
<node concept="2hMVRd" id="tIwzd1MM0M" role="1tU5fm">
<node concept="3Tqbb2" id="tIwzd1MM0N" role="2hN53Y" />
</node>
<node concept="2ShNRf" id="tIwzd1MM0O" role="33vP2m">
<node concept="2i4dXS" id="tIwzd1MM0P" role="2ShVmc">
<node concept="3Tqbb2" id="tIwzd1MM0Q" role="HW$YZ" />
@ -5763,14 +5777,14 @@
</node>
</node>
</node>
<node concept="2hMVRd" id="tIwzd1MM0M" role="1tU5fm">
<node concept="3Tqbb2" id="tIwzd1MM0N" role="2hN53Y" />
</node>
</node>
</node>
<node concept="3cpWs8" id="tIwzd1MM0Z" role="3cqZAp">
<node concept="3cpWsn" id="tIwzd1MM10" role="3cpWs9">
<property role="TrG5h" value="allRequired" />
<node concept="_YKpA" id="tIwzd1MM11" role="1tU5fm">
<node concept="3Tqbb2" id="tIwzd1MM12" role="_ZDj9" />
</node>
<node concept="2OqwBi" id="tIwzd1MM13" role="33vP2m">
<node concept="2OqwBi" id="3OUB6BBVQbf" role="2Oq$k0">
<node concept="2OqwBi" id="tIwzd1MM14" role="2Oq$k0">
@ -5795,9 +5809,6 @@
</node>
<node concept="ANE8D" id="tIwzd1MM1c" role="2OqNvi" />
</node>
<node concept="_YKpA" id="tIwzd1MM11" role="1tU5fm">
<node concept="3Tqbb2" id="tIwzd1MM12" role="_ZDj9" />
</node>
</node>
</node>
<node concept="2$JKZl" id="tIwzd1MM1d" role="3cqZAp">
@ -5916,17 +5927,6 @@
</node>
</node>
</node>
<node concept="37vLTG" id="tIwzd1MM1I" role="3clF46">
<property role="TrG5h" value="required_visited" />
<node concept="1LlUBW" id="tIwzd1MM1J" role="1tU5fm">
<node concept="3vKaQO" id="tIwzd1MM1K" role="1Lm7xW">
<node concept="3Tqbb2" id="tIwzd1MM1L" role="3O5elw" />
</node>
<node concept="3vKaQO" id="tIwzd1MM1M" role="1Lm7xW">
<node concept="3Tqbb2" id="tIwzd1MM1N" role="3O5elw" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="5NuEpF1pMvG" role="jymVt" />
<node concept="3clFb_" id="5ntLU8GlSnU" role="jymVt">
@ -5951,14 +5951,14 @@
<node concept="3cpWsn" id="5HVB6JRPBks" role="3cpWs9">
<property role="TrG5h" value="requiredNodes" />
<property role="3TUv4t" value="true" />
<node concept="_YKpA" id="5HVB6JRPBkt" role="1tU5fm">
<node concept="3Tqbb2" id="5HVB6JRPBku" role="_ZDj9" />
</node>
<node concept="2ShNRf" id="5HVB6JRPBkv" role="33vP2m">
<node concept="Tc6Ow" id="5HVB6JRPBkw" role="2ShVmc">
<node concept="3Tqbb2" id="5HVB6JRPBkx" role="HW$YZ" />
</node>
</node>
<node concept="_YKpA" id="5HVB6JRPBkt" role="1tU5fm">
<node concept="3Tqbb2" id="5HVB6JRPBku" role="_ZDj9" />
</node>
</node>
</node>
<node concept="3cpWs8" id="5HVB6JRPBky" role="3cqZAp">
@ -6578,14 +6578,14 @@
<node concept="3cpWs8" id="tIwzd1IbDQ" role="3cqZAp">
<node concept="3cpWsn" id="tIwzd1IbDT" role="3cpWs9">
<property role="TrG5h" value="collectedRequired" />
<node concept="3vKaQO" id="6i42QSswSBa" role="1tU5fm">
<node concept="3Tqbb2" id="6i42QSswSBc" role="3O5elw" />
</node>
<node concept="2ShNRf" id="tIwzd1Ic2T" role="33vP2m">
<node concept="2i4dXS" id="tIwzd1Ic1R" role="2ShVmc">
<node concept="3Tqbb2" id="tIwzd1Ic1S" role="HW$YZ" />
</node>
</node>
<node concept="3vKaQO" id="6i42QSswSBa" role="1tU5fm">
<node concept="3Tqbb2" id="6i42QSswSBc" role="3O5elw" />
</node>
</node>
</node>
<node concept="3clFbH" id="39eNUjlUjCO" role="3cqZAp" />
@ -6785,6 +6785,9 @@
<node concept="3cpWs8" id="5HVB6JRR3kO" role="3cqZAp">
<node concept="3cpWsn" id="5HVB6JRR3kP" role="3cpWs9">
<property role="TrG5h" value="requiredNodes" />
<node concept="_YKpA" id="5HVB6JRR3kQ" role="1tU5fm">
<node concept="3Tqbb2" id="5HVB6JRR3kR" role="_ZDj9" />
</node>
<node concept="1LFfDK" id="5HVB6JRR6wk" role="33vP2m">
<node concept="3cmrfG" id="5HVB6JRR6$X" role="1LF_Uc">
<property role="3cmrfH" value="2" />
@ -6793,9 +6796,6 @@
<ref role="3cqZAo" node="6i42QSsrrpM" resolve="result_builders_req" />
</node>
</node>
<node concept="_YKpA" id="5HVB6JRR3kQ" role="1tU5fm">
<node concept="3Tqbb2" id="5HVB6JRR3kR" role="_ZDj9" />
</node>
</node>
</node>
<node concept="3clFbH" id="39eNUjlUG0K" role="3cqZAp" />
@ -8088,34 +8088,38 @@
</node>
</node>
</node>
<node concept="3clFbJ" id="6nFpYlu8fDj" role="3cqZAp">
<node concept="3clFbS" id="6nFpYlu8fDl" role="3clFbx">
<node concept="3clFbF" id="6nFpYlu0dq2" role="3cqZAp">
<node concept="2OqwBi" id="6nFpYlu0xLz" role="3clFbG">
<node concept="37vLTw" id="6nFpYlukFHv" role="2Oq$k0">
<ref role="3cqZAo" node="6nFpYlujVzU" resolve="updatesRecorder" />
</node>
<node concept="liA8E" id="6nFpYlu0$Ow" role="2OqNvi">
<ref role="37wK5l" node="6nFpYlu02nI" resolve="recordRequirements" />
<node concept="37vLTw" id="6nFpYlu0_0q" role="37wK5m">
<ref role="3cqZAo" node="5ntLU8GlzgG" resolve="node" />
<node concept="1X3_iC" id="4VNF0fTdhDk" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbJ" id="6nFpYlu8fDj" role="8Wnug">
<node concept="3clFbS" id="6nFpYlu8fDl" role="3clFbx">
<node concept="3clFbF" id="6nFpYlu0dq2" role="3cqZAp">
<node concept="2OqwBi" id="6nFpYlu0xLz" role="3clFbG">
<node concept="37vLTw" id="6nFpYlukFHv" role="2Oq$k0">
<ref role="3cqZAo" node="6nFpYlujVzU" resolve="updatesRecorder" />
</node>
<node concept="1LFfDK" id="6nFpYlu0_Xx" role="37wK5m">
<node concept="3cmrfG" id="6nFpYlu0A1I" role="1LF_Uc">
<property role="3cmrfH" value="1" />
<node concept="liA8E" id="6nFpYlu0$Ow" role="2OqNvi">
<ref role="37wK5l" to="i348:4VNF0fT1ttn" resolve="recordRequirements" />
<node concept="37vLTw" id="6nFpYlu0_0q" role="37wK5m">
<ref role="3cqZAo" node="5ntLU8GlzgG" resolve="node" />
</node>
<node concept="37vLTw" id="6nFpYlu0_rR" role="1LFl5Q">
<ref role="3cqZAo" node="6i42QSssRXX" resolve="res2reqd" />
<node concept="1LFfDK" id="6nFpYlu0_Xx" role="37wK5m">
<node concept="3cmrfG" id="6nFpYlu0A1I" role="1LF_Uc">
<property role="3cmrfH" value="1" />
</node>
<node concept="37vLTw" id="6nFpYlu0_rR" role="1LFl5Q">
<ref role="3cqZAo" node="6i42QSssRXX" resolve="res2reqd" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3y3z36" id="6nFpYlu8gEg" role="3clFbw">
<node concept="10Nm6u" id="6nFpYlu8h5G" role="3uHU7w" />
<node concept="37vLTw" id="6nFpYlukDXV" role="3uHU7B">
<ref role="3cqZAo" node="6nFpYlujVzU" resolve="updatesRecorder" />
<node concept="3y3z36" id="6nFpYlu8gEg" role="3clFbw">
<node concept="10Nm6u" id="6nFpYlu8h5G" role="3uHU7w" />
<node concept="37vLTw" id="6nFpYlukDXV" role="3uHU7B">
<ref role="3cqZAo" node="6nFpYlujVzU" resolve="updatesRecorder" />
</node>
</node>
</node>
</node>
@ -8758,10 +8762,10 @@
</node>
</node>
<node concept="2OqwBi" id="6nFpYlvd8AV" role="3clFbw">
<node concept="3GX2aA" id="6nFpYlvdcl3" role="2OqNvi" />
<node concept="37vLTw" id="3DPJ8QIOrdE" role="2Oq$k0">
<ref role="3cqZAo" node="3DPJ8QIOrdB" resolve="newOrigins" />
</node>
<node concept="3GX2aA" id="6nFpYlvdcl3" role="2OqNvi" />
</node>
</node>
<node concept="3cpWs6" id="6nFpYltO1bG" role="3cqZAp">
@ -8877,10 +8881,10 @@
</node>
</node>
<node concept="2OqwBi" id="61G6TdDQNAF" role="3clFbw">
<node concept="3GX2aA" id="61G6TdDQNAH" role="2OqNvi" />
<node concept="37vLTw" id="3DPJ8QIOzvk" role="2Oq$k0">
<ref role="3cqZAo" node="3DPJ8QIOzvh" resolve="newOrigins" />
</node>
<node concept="3GX2aA" id="61G6TdDQNAH" role="2OqNvi" />
</node>
</node>
<node concept="3cpWs6" id="61G6TdDQNAJ" role="3cqZAp">
@ -9986,6 +9990,38 @@
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="4VNF0fT81Y_" role="jymVt" />
<node concept="3clFb_" id="4VNF0fT816Y" role="jymVt">
<property role="TrG5h" value="withRequirementsRecorder" />
<node concept="37vLTG" id="4VNF0fT85xM" role="3clF46">
<property role="TrG5h" value="reqRecorder" />
<node concept="3uibUv" id="4VNF0fT867l" role="1tU5fm">
<ref role="3uigEE" to="i348:4VNF0fT1sxk" resolve="NodeRequirementsRecorder" />
</node>
</node>
<node concept="3uibUv" id="4VNF0fT8171" role="3clF45">
<ref role="3uigEE" node="7DvO2M9IiKB" resolve="MacroProcessing" />
</node>
<node concept="3Tm1VV" id="4VNF0fT8172" role="1B3o_S" />
<node concept="3clFbS" id="4VNF0fT8173" role="3clF47">
<node concept="3clFbF" id="4VNF0fT8174" role="3cqZAp">
<node concept="10QFUN" id="4VNF0fT8175" role="3clFbG">
<node concept="3nyPlj" id="4VNF0fT8176" role="10QFUP">
<ref role="37wK5l" to="i348:4VNF0fT26a5" resolve="withRequirementsRecorder" />
<node concept="37vLTw" id="4VNF0fT87eP" role="37wK5m">
<ref role="3cqZAo" node="4VNF0fT85xM" resolve="reqRecorder" />
</node>
</node>
<node concept="3uibUv" id="4VNF0fT8178" role="10QFUM">
<ref role="3uigEE" node="7DvO2M9IiKB" resolve="MacroProcessing" />
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="4VNF0fT8179" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="5DUvKnrzdJ3" role="jymVt" />
<node concept="3clFb_" id="5itBwM7VEuy" role="jymVt">
<property role="TrG5h" value="expandMacro" />
@ -11674,70 +11710,109 @@
</node>
<node concept="2tJIrI" id="3DPJ8QIUAsm" role="jymVt" />
<node concept="3clFb_" id="6nFpYlu02nI" role="jymVt">
<property role="TrG5h" value="recordRequirements" />
<property role="TrG5h" value="recordRequirement" />
<node concept="37vLTG" id="6nFpYlu02rL" role="3clF46">
<property role="TrG5h" value="source" />
<node concept="3Tqbb2" id="1ZiI2IC50oP" role="1tU5fm" />
</node>
<node concept="37vLTG" id="6nFpYlu02t7" role="3clF46">
<property role="TrG5h" value="requirements" />
<node concept="A3Dl8" id="6nFpYlu0Akh" role="1tU5fm">
<node concept="3Tqbb2" id="6nFpYlu0Atb" role="A3Ik2" />
</node>
<property role="TrG5h" value="requirement" />
<node concept="3Tqbb2" id="4VNF0fT4uT5" role="1tU5fm" />
</node>
<node concept="3cqZAl" id="6nFpYlu02nK" role="3clF45" />
<node concept="3Tm1VV" id="6nFpYlu02nL" role="1B3o_S" />
<node concept="3clFbS" id="6nFpYlu02nM" role="3clF47">
<node concept="1DcWWT" id="6nFpYlu4aqa" role="3cqZAp">
<node concept="3clFbS" id="6nFpYlu4aqd" role="2LFqv$">
<node concept="3clFbJ" id="u$i61wmoJ0" role="3cqZAp">
<node concept="3clFbS" id="u$i61wmoJ2" role="3clFbx">
<node concept="3clFbF" id="6nFpYlu4aBM" role="3cqZAp">
<node concept="2OqwBi" id="6nFpYlu4biz" role="3clFbG">
<node concept="1rXfSq" id="6nFpYlu4aBL" role="2Oq$k0">
<ref role="37wK5l" node="6nFpYlu3KpJ" resolve="sourcesOf" />
<node concept="37vLTw" id="6nFpYlu4aFl" role="37wK5m">
<ref role="3cqZAo" node="6nFpYlu4aqe" resolve="req" />
</node>
</node>
<node concept="TSZUe" id="6nFpYlu4bNY" role="2OqNvi">
<node concept="37vLTw" id="6nFpYlu4caT" role="25WWJ7">
<ref role="3cqZAo" node="6nFpYlu02rL" resolve="source" />
</node>
</node>
<node concept="3clFbJ" id="u$i61wmoJ0" role="3cqZAp">
<node concept="3clFbS" id="u$i61wmoJ2" role="3clFbx">
<node concept="3clFbF" id="6nFpYlu4aBM" role="3cqZAp">
<node concept="2OqwBi" id="6nFpYlu4biz" role="3clFbG">
<node concept="1rXfSq" id="6nFpYlu4aBL" role="2Oq$k0">
<ref role="37wK5l" node="6nFpYlu3KpJ" resolve="sourcesOf" />
<node concept="37vLTw" id="4VNF0fT4yfg" role="37wK5m">
<ref role="3cqZAo" node="6nFpYlu02t7" resolve="requirement" />
</node>
</node>
</node>
<node concept="3y3z36" id="u$i61wmp85" role="3clFbw">
<node concept="10Nm6u" id="u$i61wmpf_" role="3uHU7w" />
<node concept="37vLTw" id="u$i61wmoOk" role="3uHU7B">
<ref role="3cqZAo" node="6nFpYlu4aqe" resolve="req" />
<node concept="TSZUe" id="6nFpYlu4bNY" role="2OqNvi">
<node concept="37vLTw" id="6nFpYlu4caT" role="25WWJ7">
<ref role="3cqZAo" node="6nFpYlu02rL" resolve="source" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="6nFpYlu4aqe" role="1Duv9x">
<property role="TrG5h" value="req" />
<node concept="3Tqbb2" id="6nFpYlu4aqi" role="1tU5fm" />
</node>
<node concept="37vLTw" id="6nFpYlu4aqj" role="1DdaDG">
<ref role="3cqZAo" node="6nFpYlu02t7" resolve="requirements" />
<node concept="3y3z36" id="u$i61wmp85" role="3clFbw">
<node concept="10Nm6u" id="u$i61wmpf_" role="3uHU7w" />
<node concept="37vLTw" id="4VNF0fT4xGw" role="3uHU7B">
<ref role="3cqZAo" node="6nFpYlu02t7" resolve="requirement" />
</node>
</node>
</node>
</node>
<node concept="P$JXv" id="721IDwqGKlJ" role="lGtFl">
<node concept="TZ5HA" id="721IDwqGKlK" role="TZ5H$">
<node concept="1dT_AC" id="721IDwqGKlL" role="1dT_Ay">
<property role="1dT_AB" value="Record requirements for a source node." />
</node>
</node>
<node concept="TZ5HA" id="721IDwqGU6_" role="TZ5H$">
<node concept="1dT_AC" id="721IDwqGU6A" role="1dT_Ay">
<property role="1dT_AB" value="Updates internally maintained map (required -&gt; source). " />
</node>
</node>
<node concept="2AHcQZ" id="4VNF0fT1Pqc" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="4VNF0fT4bgM" role="jymVt" />
<node concept="3clFb_" id="4VNF0fT46Wk" role="jymVt">
<property role="TrG5h" value="recordRequirement" />
<node concept="37vLTG" id="4VNF0fT46Wl" role="3clF46">
<property role="TrG5h" value="source" />
<node concept="3Tqbb2" id="4VNF0fT46Wm" role="1tU5fm" />
</node>
<node concept="37vLTG" id="4VNF0fT46Wn" role="3clF46">
<property role="TrG5h" value="requirement" />
<node concept="2sp9CU" id="4VNF0fT4HR1" role="1tU5fm" />
</node>
<node concept="3cqZAl" id="4VNF0fT46Wq" role="3clF45" />
<node concept="3Tm1VV" id="4VNF0fT46Wr" role="1B3o_S" />
<node concept="3clFbS" id="4VNF0fT46Ws" role="3clF47">
<node concept="3cpWs8" id="4VNF0fT4IWZ" role="3cqZAp">
<node concept="3cpWsn" id="4VNF0fT4IX2" role="3cpWs9">
<property role="TrG5h" value="resolved" />
<node concept="3Tqbb2" id="4VNF0fT4IWX" role="1tU5fm" />
<node concept="2OqwBi" id="4VNF0fT4JO0" role="33vP2m">
<node concept="37vLTw" id="4VNF0fT4JfV" role="2Oq$k0">
<ref role="3cqZAo" node="4VNF0fT46Wn" resolve="requirement" />
</node>
<node concept="Vyspw" id="4VNF0fT4Ko4" role="2OqNvi">
<node concept="37vLTw" id="4VNF0fT4KCH" role="Vysub">
<ref role="3cqZAo" node="4mdCe2gzxYJ" resolve="repository" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbJ" id="4VNF0fT46Wv" role="3cqZAp">
<node concept="3clFbS" id="4VNF0fT46Ww" role="3clFbx">
<node concept="3clFbF" id="4VNF0fT46Wx" role="3cqZAp">
<node concept="2OqwBi" id="4VNF0fT46Wy" role="3clFbG">
<node concept="1rXfSq" id="4VNF0fT46Wz" role="2Oq$k0">
<ref role="37wK5l" node="6nFpYlu3KpJ" resolve="sourcesOf" />
<node concept="37vLTw" id="4VNF0fT4LkX" role="37wK5m">
<ref role="3cqZAo" node="4VNF0fT4IX2" resolve="resolved" />
</node>
</node>
<node concept="TSZUe" id="4VNF0fT46W_" role="2OqNvi">
<node concept="37vLTw" id="4VNF0fT46WA" role="25WWJ7">
<ref role="3cqZAo" node="4VNF0fT46Wl" resolve="source" />
</node>
</node>
</node>
</node>
</node>
<node concept="3y3z36" id="4VNF0fT46WB" role="3clFbw">
<node concept="10Nm6u" id="4VNF0fT46WC" role="3uHU7w" />
<node concept="37vLTw" id="4VNF0fT4Ld3" role="3uHU7B">
<ref role="3cqZAo" node="4VNF0fT4IX2" resolve="resolved" />
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="4VNF0fT46WH" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="4VNF0fT41VU" role="jymVt" />
<node concept="2tJIrI" id="6nFpYlucPih" role="jymVt" />
<node concept="3clFb_" id="6nFpYlucRT5" role="jymVt">
<property role="TrG5h" value="recordUpdate" />
@ -11998,12 +12073,12 @@
<node concept="3clFbS" id="6nFpYlu7FkZ" role="1bW5cS">
<node concept="3clFbF" id="6nFpYlu7Fl0" role="3cqZAp">
<node concept="3EllGN" id="6nFpYlu7Fl1" role="3clFbG">
<node concept="37vLTw" id="6nFpYlu7Fl3" role="3ElQJh">
<ref role="3cqZAo" node="6nFpYlu3FKa" resolve="reversedRequirements" />
</node>
<node concept="37vLTw" id="6nFpYlu7Fl2" role="3ElVtu">
<ref role="3cqZAo" node="6nFpYlu7Fl4" resolve="it" />
</node>
<node concept="37vLTw" id="6nFpYlu7Fl3" role="3ElQJh">
<ref role="3cqZAo" node="6nFpYlu3FKa" resolve="reversedRequirements" />
</node>
</node>
</node>
</node>
@ -12095,6 +12170,7 @@
</node>
</node>
<node concept="3cqZAl" id="5Qx6_652C4m" role="3clF45" />
<node concept="3Tm1VV" id="3DPJ8QIinCx" role="1B3o_S" />
<node concept="3clFbS" id="5Qx6_652C4o" role="3clF47">
<node concept="3clFbF" id="3DPJ8QIvNNG" role="3cqZAp">
<node concept="2OqwBi" id="3DPJ8QIvP9_" role="3clFbG">
@ -12330,7 +12406,6 @@
</node>
</node>
</node>
<node concept="3Tm1VV" id="3DPJ8QIinCx" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="5Qx6_652yo9" role="jymVt" />
<node concept="3clFb_" id="6nFpYlu3KpJ" role="jymVt">
@ -12366,12 +12441,12 @@
</node>
</node>
<node concept="3EllGN" id="6nFpYlu47AA" role="37vLTJ">
<node concept="37vLTw" id="6nFpYlu46yl" role="3ElQJh">
<ref role="3cqZAo" node="6nFpYlu3FKa" resolve="reversedRequirements" />
</node>
<node concept="37vLTw" id="3DPJ8QIEMBr" role="3ElVtu">
<ref role="3cqZAo" node="6nFpYlu3W$E" resolve="req" />
</node>
<node concept="37vLTw" id="6nFpYlu46yl" role="3ElQJh">
<ref role="3cqZAo" node="6nFpYlu3FKa" resolve="reversedRequirements" />
</node>
</node>
</node>
</node>
@ -12379,12 +12454,12 @@
</node>
<node concept="3clFbF" id="6nFpYlu48sk" role="3cqZAp">
<node concept="3EllGN" id="6nFpYlu48VU" role="3clFbG">
<node concept="37vLTw" id="6nFpYlu48si" role="3ElQJh">
<ref role="3cqZAo" node="6nFpYlu3FKa" resolve="reversedRequirements" />
</node>
<node concept="37vLTw" id="3DPJ8QIEMBt" role="3ElVtu">
<ref role="3cqZAo" node="6nFpYlu3W$E" resolve="req" />
</node>
<node concept="37vLTw" id="6nFpYlu48si" role="3ElQJh">
<ref role="3cqZAo" node="6nFpYlu3FKa" resolve="reversedRequirements" />
</node>
</node>
</node>
</node>
@ -12732,6 +12807,9 @@
<node concept="3clFbS" id="6PD9XvnQE1W" role="3clF47">
<node concept="3clFbF" id="6PD9XvnQH0L" role="3cqZAp">
<node concept="2OqwBi" id="6PD9XvnQH0M" role="3clFbG">
<node concept="1rXfSq" id="3DPJ8QIsneu" role="2Oq$k0">
<ref role="37wK5l" node="3DPJ8QIkRmQ" resolve="getRelevantModels" />
</node>
<node concept="2es0OD" id="6PD9XvnQH0Q" role="2OqNvi">
<node concept="1bVj0M" id="6PD9XvnQH0R" role="23t8la">
<node concept="3clFbS" id="6PD9XvnQH0S" role="1bW5cS">
@ -12795,9 +12873,6 @@
</node>
</node>
</node>
<node concept="1rXfSq" id="3DPJ8QIsneu" role="2Oq$k0">
<ref role="37wK5l" node="3DPJ8QIkRmQ" resolve="getRelevantModels" />
</node>
</node>
</node>
</node>
@ -12886,15 +12961,15 @@
<node concept="3clFbS" id="6nFpYltKQqu" role="3clF47">
<node concept="3clFbJ" id="6nFpYlu6mL3" role="3cqZAp">
<node concept="2OqwBi" id="357z3MCehiM" role="3clFbw">
<node concept="37vLTw" id="3DPJ8QImfWn" role="2Oq$k0">
<ref role="3cqZAo" node="357z3MCpd1F" resolve="relevantNodesMonitor" />
</node>
<node concept="liA8E" id="357z3MCehDP" role="2OqNvi">
<ref role="37wK5l" node="357z3MCdcHk" resolve="isRelevant" />
<node concept="37vLTw" id="357z3MCehMs" role="37wK5m">
<ref role="3cqZAo" node="6nFpYltKQqr" resolve="event" />
</node>
</node>
<node concept="37vLTw" id="3DPJ8QImfWn" role="2Oq$k0">
<ref role="3cqZAo" node="357z3MCpd1F" resolve="relevantNodesMonitor" />
</node>
</node>
<node concept="3clFbS" id="6nFpYlu6mL5" role="3clFbx">
<node concept="3clFbF" id="6nFpYlu73j7" role="3cqZAp">
@ -12959,15 +13034,15 @@
</node>
</node>
<node concept="2OqwBi" id="357z3MCeia9" role="3clFbw">
<node concept="37vLTw" id="3DPJ8QImfrm" role="2Oq$k0">
<ref role="3cqZAo" node="357z3MCpd1F" resolve="relevantNodesMonitor" />
</node>
<node concept="liA8E" id="357z3MCeiab" role="2OqNvi">
<ref role="37wK5l" node="357z3MCdcHw" resolve="isRelevant" />
<node concept="37vLTw" id="357z3MCeiac" role="37wK5m">
<ref role="3cqZAo" node="6nFpYltKQq$" resolve="event" />
</node>
</node>
<node concept="37vLTw" id="3DPJ8QImfrm" role="2Oq$k0">
<ref role="3cqZAo" node="357z3MCpd1F" resolve="relevantNodesMonitor" />
</node>
</node>
</node>
</node>
@ -13030,15 +13105,15 @@
</node>
</node>
<node concept="2OqwBi" id="357z3MCeiDu" role="3clFbw">
<node concept="37vLTw" id="3DPJ8QImf5o" role="2Oq$k0">
<ref role="3cqZAo" node="357z3MCpd1F" resolve="relevantNodesMonitor" />
</node>
<node concept="liA8E" id="357z3MCeiDw" role="2OqNvi">
<ref role="37wK5l" node="357z3MCdcHG" resolve="isRelevant" />
<node concept="37vLTw" id="357z3MCeiDx" role="37wK5m">
<ref role="3cqZAo" node="6nFpYltKQqH" resolve="event" />
</node>
</node>
<node concept="37vLTw" id="3DPJ8QImf5o" role="2Oq$k0">
<ref role="3cqZAo" node="357z3MCpd1F" resolve="relevantNodesMonitor" />
</node>
</node>
</node>
</node>
@ -13101,15 +13176,15 @@
</node>
</node>
<node concept="2OqwBi" id="357z3MCej8Q" role="3clFbw">
<node concept="37vLTw" id="3DPJ8QImeJx" role="2Oq$k0">
<ref role="3cqZAo" node="357z3MCpd1F" resolve="relevantNodesMonitor" />
</node>
<node concept="liA8E" id="357z3MCej8S" role="2OqNvi">
<ref role="37wK5l" node="357z3MCdcHX" resolve="isRelevant" />
<node concept="37vLTw" id="357z3MCej8T" role="37wK5m">
<ref role="3cqZAo" node="6nFpYltKQqQ" resolve="event" />
</node>
</node>
<node concept="37vLTw" id="3DPJ8QImeJx" role="2Oq$k0">
<ref role="3cqZAo" node="357z3MCpd1F" resolve="relevantNodesMonitor" />
</node>
</node>
</node>
</node>
@ -13117,10 +13192,10 @@
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="3DPJ8QIkPQK" role="jymVt" />
<node concept="3uibUv" id="2gPSxXTVLzK" role="1zkMxy">
<ref role="3uigEE" node="2gPSxXTVEd1" resolve="ChangesTrackerBase" />
</node>
<node concept="2tJIrI" id="3DPJ8QIkPQK" role="jymVt" />
<node concept="3clFb_" id="3DPJ8QIkRmQ" role="jymVt">
<property role="TrG5h" value="getRelevantModels" />
<node concept="3Tm1VV" id="3DPJ8QIkRmS" role="1B3o_S" />
@ -13286,6 +13361,9 @@
</node>
</node>
</node>
<node concept="3uibUv" id="4VNF0fT1Bx3" role="EKbjA">
<ref role="3uigEE" to="i348:4VNF0fT1sxk" resolve="NodeRequirementsRecorder" />
</node>
</node>
<node concept="312cEu" id="2gPSxXTVEd1">
<property role="TrG5h" value="ChangesTrackerBase" />
@ -13330,6 +13408,9 @@
<node concept="3clFbS" id="4mdCe2gAsbs" role="3clFbx">
<node concept="3clFbF" id="2gPSxXTVH3b" role="3cqZAp">
<node concept="2OqwBi" id="2gPSxXTVH3c" role="3clFbG">
<node concept="1rXfSq" id="3DPJ8QIrCS0" role="2Oq$k0">
<ref role="37wK5l" node="3DPJ8QIkN6S" resolve="getRelevantModels" />
</node>
<node concept="2es0OD" id="2gPSxXTVH3g" role="2OqNvi">
<node concept="1bVj0M" id="2gPSxXTVH3h" role="23t8la">
<node concept="3clFbS" id="2gPSxXTVH3i" role="1bW5cS">
@ -13380,9 +13461,6 @@
</node>
</node>
</node>
<node concept="1rXfSq" id="3DPJ8QIrCS0" role="2Oq$k0">
<ref role="37wK5l" node="3DPJ8QIkN6S" resolve="getRelevantModels" />
</node>
</node>
</node>
</node>
@ -13432,6 +13510,9 @@
<node concept="3clFbS" id="4mdCe2gAulN" role="3clFbx">
<node concept="3clFbF" id="2gPSxXTVH3W" role="3cqZAp">
<node concept="2OqwBi" id="2gPSxXTVH3X" role="3clFbG">
<node concept="1rXfSq" id="3DPJ8QIrD1j" role="2Oq$k0">
<ref role="37wK5l" node="3DPJ8QIkN6S" resolve="getRelevantModels" />
</node>
<node concept="2es0OD" id="2gPSxXTVH41" role="2OqNvi">
<node concept="1bVj0M" id="2gPSxXTVH42" role="23t8la">
<node concept="3clFbS" id="2gPSxXTVH43" role="1bW5cS">
@ -13482,9 +13563,6 @@
</node>
</node>
</node>
<node concept="1rXfSq" id="3DPJ8QIrD1j" role="2Oq$k0">
<ref role="37wK5l" node="3DPJ8QIkN6S" resolve="getRelevantModels" />
</node>
</node>
</node>
</node>

View File

@ -13740,14 +13740,14 @@
<ref role="3cqZAo" node="61G6TdBXWuD" resolve="repository" />
</node>
<node concept="2OqwBi" id="61G6TdBY3nj" role="37wK5m">
<node concept="liA8E" id="61G6TdBY3nl" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getModel()" resolve="getModel" />
</node>
<node concept="2JrnkZ" id="3DPJ8QIpIIF" role="2Oq$k0">
<node concept="37vLTw" id="3DPJ8QIpHIb" role="2JrQYb">
<ref role="3cqZAo" node="4Z$O9mrQJ_R" resolve="unit" />
</node>
</node>
<node concept="liA8E" id="61G6TdBY3nl" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getModel()" resolve="getModel" />
</node>
</node>
</node>
</node>
@ -13843,14 +13843,14 @@
<ref role="3cqZAo" node="61G6TdBXXtN" resolve="repository" />
</node>
<node concept="2OqwBi" id="5Qx6_65_i4l" role="37wK5m">
<node concept="liA8E" id="5Qx6_65_i4n" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getModel()" resolve="getModel" />
</node>
<node concept="2JrnkZ" id="3DPJ8QIpLfh" role="2Oq$k0">
<node concept="37vLTw" id="3DPJ8QIpKNu" role="2JrQYb">
<ref role="3cqZAo" node="4Z$O9mrQJ_R" resolve="unit" />
</node>
</node>
<node concept="liA8E" id="5Qx6_65_i4n" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getModel()" resolve="getModel" />
</node>
</node>
</node>
</node>
@ -14187,15 +14187,15 @@
</node>
</node>
<node concept="2OqwBi" id="357z3MCoyL_" role="3clFbw">
<node concept="37vLTw" id="3DPJ8QIl3fJ" role="2Oq$k0">
<ref role="3cqZAo" node="3Q0j2bxvJDw" resolve="relevantNodesMonitor" />
</node>
<node concept="liA8E" id="357z3MCoz2x" role="2OqNvi">
<ref role="37wK5l" to="ksgm:357z3MCdcHk" resolve="isRelevant" />
<node concept="37vLTw" id="357z3MCozcZ" role="37wK5m">
<ref role="3cqZAo" node="3u5wJtdK2z" resolve="event" />
</node>
</node>
<node concept="37vLTw" id="3DPJ8QIl3fJ" role="2Oq$k0">
<ref role="3cqZAo" node="3Q0j2bxvJDw" resolve="relevantNodesMonitor" />
</node>
</node>
</node>
</node>
@ -14229,15 +14229,15 @@
</node>
</node>
<node concept="2OqwBi" id="357z3MCozxX" role="3clFbw">
<node concept="37vLTw" id="3DPJ8QIl3BB" role="2Oq$k0">
<ref role="3cqZAo" node="3Q0j2bxvJDw" resolve="relevantNodesMonitor" />
</node>
<node concept="liA8E" id="357z3MCozxZ" role="2OqNvi">
<ref role="37wK5l" to="ksgm:357z3MCdcHw" resolve="isRelevant" />
<node concept="37vLTw" id="357z3MCozy0" role="37wK5m">
<ref role="3cqZAo" node="3u5wJtdK2J" resolve="event" />
</node>
</node>
<node concept="37vLTw" id="3DPJ8QIl3BB" role="2Oq$k0">
<ref role="3cqZAo" node="3Q0j2bxvJDw" resolve="relevantNodesMonitor" />
</node>
</node>
</node>
</node>
@ -14271,15 +14271,15 @@
</node>
</node>
<node concept="2OqwBi" id="357z3MCozZ5" role="3clFbw">
<node concept="37vLTw" id="3DPJ8QIl3YX" role="2Oq$k0">
<ref role="3cqZAo" node="3Q0j2bxvJDw" resolve="relevantNodesMonitor" />
</node>
<node concept="liA8E" id="357z3MCozZ7" role="2OqNvi">
<ref role="37wK5l" to="ksgm:357z3MCdcHG" resolve="isRelevant" />
<node concept="37vLTw" id="357z3MCozZ8" role="37wK5m">
<ref role="3cqZAo" node="3u5wJtdK2V" resolve="event" />
</node>
</node>
<node concept="37vLTw" id="3DPJ8QIl3YX" role="2Oq$k0">
<ref role="3cqZAo" node="3Q0j2bxvJDw" resolve="relevantNodesMonitor" />
</node>
</node>
</node>
</node>
@ -14313,15 +14313,15 @@
</node>
</node>
<node concept="2OqwBi" id="357z3MCo$s6" role="3clFbw">
<node concept="37vLTw" id="3DPJ8QIl4mr" role="2Oq$k0">
<ref role="3cqZAo" node="3Q0j2bxvJDw" resolve="relevantNodesMonitor" />
</node>
<node concept="liA8E" id="357z3MCo$s8" role="2OqNvi">
<ref role="37wK5l" to="ksgm:357z3MCdcHX" resolve="isRelevant" />
<node concept="37vLTw" id="357z3MCo$s9" role="37wK5m">
<ref role="3cqZAo" node="3u5wJtdK37" resolve="event" />
</node>
</node>
<node concept="37vLTw" id="3DPJ8QIl4mr" role="2Oq$k0">
<ref role="3cqZAo" node="3Q0j2bxvJDw" resolve="relevantNodesMonitor" />
</node>
</node>
</node>
</node>
@ -16645,24 +16645,6 @@
</node>
</node>
</node>
<node concept="3clFbH" id="3DPJ8QIm328" role="3cqZAp" />
<node concept="3cpWs8" id="3OUB6BByz2s" role="3cqZAp">
<node concept="3cpWsn" id="3OUB6BByz2t" role="3cpWs9">
<property role="TrG5h" value="macroProcessing" />
<node concept="3uibUv" id="3OUB6BByy0C" role="1tU5fm">
<ref role="3uigEE" to="ksgm:7DvO2M9IiKB" resolve="MacroProcessing" />
</node>
<node concept="1rXfSq" id="3OUB6BByz2u" role="33vP2m">
<ref role="37wK5l" node="6PWFJfG8yyv" resolve="createMacroProcessing" />
<node concept="37vLTw" id="3OUB6BByz2v" role="37wK5m">
<ref role="3cqZAo" node="6nFpYlusyqe" resolve="aspectClique" />
</node>
<node concept="37vLTw" id="3OUB6BByz2w" role="37wK5m">
<ref role="3cqZAo" node="6$F3Z5ziOoT" resolve="ruleProcessingSession" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="61G6TdBAyAj" role="3cqZAp" />
<node concept="3cpWs8" id="6nFpYluFUzo" role="3cqZAp">
<node concept="3cpWsn" id="6nFpYluFUzp" role="3cpWs9">
@ -16785,16 +16767,6 @@
<node concept="37vLTw" id="6nFpYlvssm5" role="37wK5m">
<ref role="3cqZAo" node="7i3KM7gP3A_" resolve="unit" />
</node>
<node concept="1LlUBW" id="6nFpYlvgaP7" role="1pMfVU">
<node concept="3uibUv" id="6nFpYlvgaP8" role="1Lm7xW">
<ref role="3uigEE" to="i348:1ffsG7bW_V4" resolve="RuleTemplate" />
</node>
<node concept="3vKaQO" id="6nFpYlvgaP9" role="1Lm7xW">
<node concept="3uibUv" id="6nFpYlvgaPa" role="3O5elw">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
</node>
<node concept="2OqwBi" id="3DPJ8QIm1pP" role="37wK5m">
<node concept="liA8E" id="3DPJ8QIm1pQ" role="2OqNvi">
<ref role="37wK5l" node="3Q0j2bxwHX7" resolve="getRelevantNodesMonitor" />
@ -16815,6 +16787,16 @@
</node>
</node>
</node>
<node concept="1LlUBW" id="6nFpYlvgaP7" role="1pMfVU">
<node concept="3uibUv" id="6nFpYlvgaP8" role="1Lm7xW">
<ref role="3uigEE" to="i348:1ffsG7bW_V4" resolve="RuleTemplate" />
</node>
<node concept="3vKaQO" id="6nFpYlvgaP9" role="1Lm7xW">
<node concept="3uibUv" id="6nFpYlvgaPa" role="3O5elw">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
</node>
</node>
</node>
</node>
@ -16826,6 +16808,32 @@
</node>
</node>
<node concept="3clFbH" id="6nFpYlvfP4l" role="3cqZAp" />
<node concept="3cpWs8" id="3OUB6BByz2s" role="3cqZAp">
<node concept="3cpWsn" id="3OUB6BByz2t" role="3cpWs9">
<property role="TrG5h" value="macroProcessing" />
<node concept="3uibUv" id="3OUB6BByy0C" role="1tU5fm">
<ref role="3uigEE" to="ksgm:7DvO2M9IiKB" resolve="MacroProcessing" />
</node>
<node concept="2OqwBi" id="4VNF0fT7XT9" role="33vP2m">
<node concept="1rXfSq" id="3OUB6BByz2u" role="2Oq$k0">
<ref role="37wK5l" node="6PWFJfG8yyv" resolve="createMacroProcessing" />
<node concept="37vLTw" id="3OUB6BByz2v" role="37wK5m">
<ref role="3cqZAo" node="6nFpYlusyqe" resolve="aspectClique" />
</node>
<node concept="37vLTw" id="3OUB6BByz2w" role="37wK5m">
<ref role="3cqZAo" node="6$F3Z5ziOoT" resolve="ruleProcessingSession" />
</node>
</node>
<node concept="liA8E" id="4VNF0fT8eRS" role="2OqNvi">
<ref role="37wK5l" to="ksgm:4VNF0fT816Y" resolve="withRequirementsRecorder" />
<node concept="37vLTw" id="4VNF0fT8jj6" role="37wK5m">
<ref role="3cqZAo" node="6nFpYlvfHC5" resolve="updatesRecorder" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="4VNF0fT7Xca" role="3cqZAp" />
<node concept="3clFbF" id="6nFpYlus0VB" role="3cqZAp">
<node concept="2ShNRf" id="6nFpYlus0Vz" role="3clFbG">
<node concept="1pGfFk" id="6nFpYlus1Mr" role="2ShVmc">