Minor code cleanup: get rid of MacroTemplate.ID, simplify templates. Systemize RuleBuilder usages.

This commit is contained in:
Fedor Isakov 2019-11-04 14:12:52 +01:00
parent 4396adc9ff
commit cc8cf72819
6 changed files with 418 additions and 371 deletions

View File

@ -2,19 +2,19 @@
<model ref="r:c0702ee3-be79-48ac-aa39-b7cd0d895de6(jetbrains.mps.lang.coderules.generator.template.main@generator)">
<persistence version="9" />
<languages>
<use id="b401a680-8325-4110-8fd3-84331ff25bef" name="jetbrains.mps.lang.generator" version="3" />
<use id="d7706f63-9be2-479c-a3da-ae92af1e64d5" name="jetbrains.mps.lang.generator.generationContext" version="2" />
<use id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections" version="1" />
<use id="13744753-c81f-424a-9c1b-cf8943bf4e86" name="jetbrains.mps.lang.sharedConcepts" version="0" />
<use id="7a5dda62-9140-4668-ab76-d5ed1746f2b2" name="jetbrains.mps.lang.typesystem" version="4" />
<use id="35320f26-77cb-4c55-be9f-a97a27770af1" name="jetbrains.mps.logic" version="4" />
<use id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel" version="17" />
<use id="96ee7a94-411d-4cf8-9b94-96cad7e52411" name="jetbrains.mps.baseLanguage.jdk7" version="0" />
<use id="df345b11-b8c7-4213-ac66-48d2a9b75d88" name="jetbrains.mps.baseLanguageInternal" version="0" />
<use id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage" version="9" />
<use id="fd392034-7849-419d-9071-12563d152375" name="jetbrains.mps.baseLanguage.closures" version="0" />
<use id="f2801650-65d5-424e-bb1b-463a8781b786" name="jetbrains.mps.baseLanguage.javadoc" version="2" />
<use id="3a13115c-633c-4c5c-bbcc-75c4219e9555" name="jetbrains.mps.lang.quotation" version="3" />
<use id="b401a680-8325-4110-8fd3-84331ff25bef" name="jetbrains.mps.lang.generator" version="-1" />
<use id="d7706f63-9be2-479c-a3da-ae92af1e64d5" name="jetbrains.mps.lang.generator.generationContext" version="-1" />
<use id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections" version="-1" />
<use id="13744753-c81f-424a-9c1b-cf8943bf4e86" name="jetbrains.mps.lang.sharedConcepts" version="-1" />
<use id="7a5dda62-9140-4668-ab76-d5ed1746f2b2" name="jetbrains.mps.lang.typesystem" version="-1" />
<use id="35320f26-77cb-4c55-be9f-a97a27770af1" name="jetbrains.mps.logic" version="-1" />
<use id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel" version="-1" />
<use id="96ee7a94-411d-4cf8-9b94-96cad7e52411" name="jetbrains.mps.baseLanguage.jdk7" version="-1" />
<use id="df345b11-b8c7-4213-ac66-48d2a9b75d88" name="jetbrains.mps.baseLanguageInternal" version="-1" />
<use id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage" version="-1" />
<use id="fd392034-7849-419d-9071-12563d152375" name="jetbrains.mps.baseLanguage.closures" version="-1" />
<use id="f2801650-65d5-424e-bb1b-463a8781b786" name="jetbrains.mps.baseLanguage.javadoc" version="-1" />
<use id="3a13115c-633c-4c5c-bbcc-75c4219e9555" name="jetbrains.mps.lang.quotation" version="-1" />
<devkit ref="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
</languages>
<imports>
@ -5111,6 +5111,11 @@
<ref role="2rTdP9" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
<ref role="2rZz_L" to="tpee:fz12cDC" resolve="FieldDeclaration" />
</node>
<node concept="2rT7sh" id="5yr01fCSH3M" role="2rTMjI">
<property role="TrG5h" value="dotExpression_visited" />
<ref role="2rTdP9" to="tpee:hqOqwz4" resolve="DotExpression" />
<ref role="2rZz_L" to="tpee:hqOqwz4" resolve="DotExpression" />
</node>
</node>
<node concept="bUwia" id="2N2MQGCM$We">
<property role="TrG5h" value="macro" />
@ -6331,7 +6336,7 @@
<node concept="3uibUv" id="1GNw78$afCG" role="3clF45">
<ref role="3uigEE" to="psr6:1hX44vNnjJ$" resolve="MacroTemplate" />
<node concept="16syzq" id="4KRwoem1VN0" role="11_B2D">
<ref role="16sUi3" node="4KRwoem1TFX" resolve="Cfg" />
<ref role="16sUi3" node="4KRwoem1TFX" resolve="T" />
</node>
</node>
<node concept="3Tm1VV" id="4KRwoelAz6d" role="1B3o_S" />
@ -6390,7 +6395,7 @@
<node concept="3uibUv" id="4KRwoem42xD" role="10QFUM">
<ref role="3uigEE" to="psr6:1hX44vNlvEV" resolve="AbstractMacroTemplate" />
<node concept="16syzq" id="4KRwoem42xE" role="11_B2D">
<ref role="16sUi3" node="4KRwoem1TFX" resolve="Cfg" />
<ref role="16sUi3" node="4KRwoem1TFX" resolve="T" />
</node>
</node>
<node concept="2ShNRf" id="4KRwoem42xF" role="10QFUP">
@ -6445,9 +6450,9 @@
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
<node concept="16euLQ" id="4KRwoem1TFX" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="1eKXYsj$2kU" role="3ztrMU">
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
</node>
@ -6541,15 +6546,15 @@
<node concept="3clFb_" id="4MEOIDEgqbt" role="jymVt">
<property role="TrG5h" value="macroTemplate" />
<node concept="37vLTG" id="4MEOIDEhHGm" role="3clF46">
<property role="TrG5h" value="templateId" />
<node concept="3uibUv" id="4MEOIDEhHGl" role="1tU5fm">
<ref role="3uigEE" to="psr6:4MEOIDEhyPY" resolve="MacroTemplate.ID" />
<property role="TrG5h" value="templateRef" />
<node concept="3uibUv" id="5yr01fDuMBL" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="3uibUv" id="4MEOIDEgqbw" role="3clF45">
<ref role="3uigEE" to="psr6:1hX44vNnjJ$" resolve="MacroTemplate" />
<node concept="16syzq" id="4MEOIDEgqbx" role="11_B2D">
<ref role="16sUi3" node="4MEOIDEgqco" resolve="Cfg" />
<ref role="16sUi3" node="4MEOIDEgqco" resolve="T" />
</node>
</node>
<node concept="3Tm1VV" id="4MEOIDEgqby" role="1B3o_S" />
@ -6567,18 +6572,23 @@
<node concept="3clFbC" id="4MEOIDEgqbD" role="3clFbw">
<node concept="10Nm6u" id="4MEOIDEgqbE" role="3uHU7w" />
<node concept="37vLTw" id="4MEOIDEhJpZ" role="3uHU7B">
<ref role="3cqZAo" node="4MEOIDEhHGm" resolve="templateId" />
<ref role="3cqZAo" node="4MEOIDEhHGm" resolve="templateRef" />
</node>
</node>
</node>
<node concept="3clFbH" id="4MEOIDEgzNB" role="3cqZAp" />
<node concept="2ignYC" id="4MEOIDEhKRU" role="3cqZAp">
<node concept="2OqwBi" id="4MEOIDEhMjx" role="3KbGdf">
<node concept="37vLTw" id="4MEOIDEhM1B" role="2Oq$k0">
<ref role="3cqZAo" node="4MEOIDEhHGm" resolve="templateId" />
</node>
<node concept="liA8E" id="4MEOIDEhMJJ" role="2OqNvi">
<ref role="37wK5l" to="psr6:4MEOIDEi5VO" resolve="toString" />
<ref role="37wK5l" to="wyt6:~Object.toString()" resolve="toString" />
</node>
<node concept="2OqwBi" id="5yr01fDuN3h" role="2Oq$k0">
<node concept="37vLTw" id="4MEOIDEhM1B" role="2Oq$k0">
<ref role="3cqZAo" node="4MEOIDEhHGm" resolve="templateRef" />
</node>
<node concept="liA8E" id="5yr01fDuNfx" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNodeReference.getNodeId()" resolve="getNodeId" />
</node>
</node>
</node>
<node concept="3KbdKl" id="4MEOIDEhN1R" role="3KbHQx">
@ -6614,7 +6624,7 @@
<node concept="3uibUv" id="4MEOIDEkrJI" role="10QFUM">
<ref role="3uigEE" to="psr6:1hX44vNnjJ$" resolve="MacroTemplate" />
<node concept="16syzq" id="4MEOIDEkrJJ" role="11_B2D">
<ref role="16sUi3" node="4MEOIDEgqco" resolve="Cfg" />
<ref role="16sUi3" node="4MEOIDEgqco" resolve="T" />
</node>
</node>
<node concept="2ShNRf" id="4MEOIDEkrJK" role="10QFUP">
@ -6666,19 +6676,19 @@
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
<node concept="16euLQ" id="4MEOIDEgqco" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="4MEOIDEgqcp" role="3ztrMU">
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
</node>
<node concept="2tJIrI" id="4nxCIBqost0" role="jymVt" />
<node concept="3clFb_" id="4MEOIDEWLFp" role="jymVt">
<property role="TrG5h" value="allMacroTemplateIds" />
<property role="TrG5h" value="allMacroTemplateRefs" />
<property role="1EzhhJ" value="false" />
<node concept="3vKaQO" id="4MEOIDEWLFq" role="3clF45">
<node concept="3uibUv" id="4MEOIDEWQRR" role="3O5elw">
<ref role="3uigEE" to="psr6:4MEOIDEhyPY" resolve="MacroTemplate.ID" />
<node concept="3uibUv" id="5yr01fDuVm7" role="3O5elw">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="3Tm1VV" id="4MEOIDEWLFs" role="1B3o_S" />
@ -6687,14 +6697,14 @@
<node concept="3cpWsn" id="4MEOIDEWLFv" role="3cpWs9">
<property role="TrG5h" value="result" />
<node concept="_YKpA" id="4MEOIDEWLFw" role="1tU5fm">
<node concept="3uibUv" id="4MEOIDEWSA6" role="_ZDj9">
<ref role="3uigEE" to="psr6:4MEOIDEhyPY" resolve="MacroTemplate.ID" />
<node concept="3uibUv" id="5yr01fDuWWS" role="_ZDj9">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="2ShNRf" id="4MEOIDEWLFy" role="33vP2m">
<node concept="Tc6Ow" id="4MEOIDEWLFz" role="2ShVmc">
<node concept="3uibUv" id="4MEOIDEWRmU" role="HW$YZ">
<ref role="3uigEE" to="psr6:4MEOIDEhyPY" resolve="MacroTemplate.ID" />
<node concept="3uibUv" id="5yr01fDuXg$" role="HW$YZ">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
</node>
@ -6707,39 +6717,30 @@
<ref role="3cqZAo" node="4MEOIDEWLFv" resolve="result" />
</node>
<node concept="TSZUe" id="4MEOIDEWLFD" role="2OqNvi">
<node concept="2YIFZM" id="4MEOIDEWU$t" role="25WWJ7">
<ref role="37wK5l" to="psr6:4MEOIDEhz4d" resolve="forReference" />
<ref role="1Pybhc" to="psr6:4MEOIDEhyPY" resolve="MacroTemplate.ID" />
<node concept="2OqwBi" id="4MEOIDEWUYy" role="37wK5m">
<node concept="2YIFZM" id="4MEOIDEWUOF" role="2Oq$k0">
<ref role="37wK5l" to="dush:~PersistenceFacade.getInstance()" resolve="getInstance" />
<ref role="1Pybhc" to="dush:~PersistenceFacade" resolve="PersistenceFacade" />
</node>
<node concept="liA8E" id="4MEOIDEWV6s" role="2OqNvi">
<ref role="37wK5l" to="dush:~PersistenceFacade.createNodeReference(java.lang.String)" resolve="createNodeReference" />
<node concept="Xl_RD" id="4MEOIDEWVa7" role="37wK5m">
<property role="Xl_RC" value="" />
<node concept="17Uvod" id="4MEOIDEWVf0" role="lGtFl">
<property role="P4ACc" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1070475926800/1070475926801" />
<property role="2qtEX9" value="value" />
<node concept="3zFVjK" id="4MEOIDEWVf1" role="3zH0cK">
<node concept="3clFbS" id="4MEOIDEWVf2" role="2VODD2">
<node concept="3clFbF" id="4MEOIDEWW7p" role="3cqZAp">
<node concept="2OqwBi" id="4MEOIDEX0Aw" role="3clFbG">
<node concept="2YIFZM" id="4MEOIDEX0m5" role="2Oq$k0">
<ref role="37wK5l" to="dush:~PersistenceFacade.getInstance()" resolve="getInstance" />
<ref role="1Pybhc" to="dush:~PersistenceFacade" resolve="PersistenceFacade" />
<node concept="2YIFZM" id="5yr01fDEpqs" role="25WWJ7">
<ref role="37wK5l" to="w1kc:~SNodePointer.deserialize(java.lang.String)" resolve="deserialize" />
<ref role="1Pybhc" to="w1kc:~SNodePointer" resolve="SNodePointer" />
<node concept="Xl_RD" id="5yr01fDEpul" role="37wK5m">
<property role="Xl_RC" value="" />
<node concept="17Uvod" id="5yr01fDEpum" role="lGtFl">
<property role="P4ACc" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1070475926800/1070475926801" />
<property role="2qtEX9" value="value" />
<node concept="3zFVjK" id="5yr01fDEpun" role="3zH0cK">
<node concept="3clFbS" id="5yr01fDEpuo" role="2VODD2">
<node concept="3clFbF" id="5yr01fDEpup" role="3cqZAp">
<node concept="2OqwBi" id="5yr01fDEpuq" role="3clFbG">
<node concept="2YIFZM" id="5yr01fDEpur" role="2Oq$k0">
<ref role="37wK5l" to="dush:~PersistenceFacade.getInstance()" resolve="getInstance" />
<ref role="1Pybhc" to="dush:~PersistenceFacade" resolve="PersistenceFacade" />
</node>
<node concept="liA8E" id="5yr01fDEpus" role="2OqNvi">
<ref role="37wK5l" to="dush:~PersistenceFacade.asString(org.jetbrains.mps.openapi.model.SNodeReference)" resolve="asString" />
<node concept="2OqwBi" id="5yr01fDEput" role="37wK5m">
<node concept="2JrnkZ" id="5yr01fDEpuu" role="2Oq$k0">
<node concept="30H73N" id="5yr01fDEpuv" role="2JrQYb" />
</node>
<node concept="liA8E" id="4MEOIDEX0Pn" role="2OqNvi">
<ref role="37wK5l" to="dush:~PersistenceFacade.asString(org.jetbrains.mps.openapi.model.SNodeReference)" resolve="asString" />
<node concept="2OqwBi" id="4MEOIDEWZ8Y" role="37wK5m">
<node concept="2JrnkZ" id="4MEOIDEWYPH" role="2Oq$k0">
<node concept="30H73N" id="4MEOIDEWW7o" role="2JrQYb" />
</node>
<node concept="liA8E" id="4MEOIDEX1Sy" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
</node>
<node concept="liA8E" id="5yr01fDEpuw" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
</node>
</node>
@ -9306,6 +9307,15 @@
</node>
</node>
<node concept="raruj" id="3yhgKRImztJ" role="lGtFl" />
<node concept="37vLTG" id="5yr01fDhHDa" role="3clF46">
<property role="TrG5h" value="session" />
<node concept="3uibUv" id="5yr01fDhHDb" role="1tU5fm">
<ref role="3uigEE" to="i348:18kNIl1vDPZ" resolve="TemplateApplicationSession" />
</node>
<node concept="2ZBi8u" id="5yr01fDhHDc" role="lGtFl">
<ref role="2rW$FS" node="1yw2nYxUwhm" resolve="rulemethod_session_parameter" />
</node>
</node>
</node>
<node concept="2tJIrI" id="3yhgKRI8wmM" role="jymVt" />
<node concept="3Tm1VV" id="3yhgKRI8wmN" role="1B3o_S" />
@ -9453,6 +9463,35 @@
</node>
</node>
</node>
<node concept="37vLTw" id="5yr01fDhI6w" role="37wK5m">
<ref role="3cqZAo" node="1yw2nYxUJc$" resolve="session" />
<node concept="1ZhdrF" id="5yr01fDhI6x" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068498886296/1068581517664" />
<property role="2qtEX8" value="variableDeclaration" />
<node concept="3$xsQk" id="5yr01fDhI6y" role="3$ytzL">
<node concept="3clFbS" id="5yr01fDhI6z" role="2VODD2">
<node concept="3clFbF" id="5yr01fDhI6$" role="3cqZAp">
<node concept="2OqwBi" id="5yr01fDhI6_" role="3clFbG">
<node concept="1iwH7S" id="5yr01fDhI6A" role="2Oq$k0" />
<node concept="1iwH70" id="5yr01fDhI6B" role="2OqNvi">
<ref role="1iwH77" node="1yw2nYxUwhm" resolve="rulemethod_session_parameter" />
<node concept="2OqwBi" id="5yr01fDhI6C" role="1iwH7V">
<node concept="30H73N" id="5yr01fDhI6D" role="2Oq$k0" />
<node concept="2Xjw5R" id="5yr01fDhI6E" role="2OqNvi">
<node concept="1xMEDy" id="5yr01fDhI6F" role="1xVPHs">
<node concept="chp4Y" id="5yr01fDhI6G" role="ri$Ld">
<ref role="cht4Q" to="tpee:fzclF7W" resolve="BaseMethodDeclaration" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -9538,6 +9577,7 @@
<node concept="3cqZAl" id="1yw2nYyfLGO" role="3clF45" />
<node concept="3Tm1VV" id="1yw2nYyfLGP" role="1B3o_S" />
<node concept="3clFbS" id="1yw2nYyfLGQ" role="3clF47">
<node concept="3clFbH" id="5yr01fDhJ1y" role="3cqZAp" />
<node concept="3clFbF" id="1yw2nYyfLHT" role="3cqZAp">
<node concept="2OqwBi" id="1yw2nYyfLHU" role="3clFbG">
<node concept="37vLTw" id="1yw2nYyfLHV" role="2Oq$k0">
@ -9610,11 +9650,41 @@
</node>
</node>
</node>
<node concept="37vLTw" id="5yr01fDhJFO" role="37wK5m">
<ref role="3cqZAo" node="5yr01fDhIMu" resolve="session" />
<node concept="1ZhdrF" id="5yr01fDhJFP" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068498886296/1068581517664" />
<property role="2qtEX8" value="variableDeclaration" />
<node concept="3$xsQk" id="5yr01fDhJFQ" role="3$ytzL">
<node concept="3clFbS" id="5yr01fDhJFR" role="2VODD2">
<node concept="3clFbF" id="5yr01fDhJFS" role="3cqZAp">
<node concept="2OqwBi" id="5yr01fDhJFT" role="3clFbG">
<node concept="1iwH7S" id="5yr01fDhJFU" role="2Oq$k0" />
<node concept="1iwH70" id="5yr01fDhJFV" role="2OqNvi">
<ref role="1iwH77" node="1yw2nYxUwhm" resolve="rulemethod_session_parameter" />
<node concept="2OqwBi" id="5yr01fDhJFW" role="1iwH7V">
<node concept="30H73N" id="5yr01fDhJFX" role="2Oq$k0" />
<node concept="2Xjw5R" id="5yr01fDhJFY" role="2OqNvi">
<node concept="1xMEDy" id="5yr01fDhJFZ" role="1xVPHs">
<node concept="chp4Y" id="5yr01fDhJG0" role="ri$Ld">
<ref role="cht4Q" to="tpee:fzclF7W" resolve="BaseMethodDeclaration" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="raruj" id="1yw2nYyfLIB" role="lGtFl" />
</node>
</node>
<node concept="3clFbH" id="5yr01fDhJ9o" role="3cqZAp" />
</node>
<node concept="37vLTG" id="1yw2nYyfLIK" role="3clF46">
<property role="TrG5h" value="builder" />
@ -9622,6 +9692,12 @@
<ref role="3uigEE" to="i348:7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
</node>
<node concept="37vLTG" id="5yr01fDhIMu" role="3clF46">
<property role="TrG5h" value="session" />
<node concept="3uibUv" id="5yr01fDhIMv" role="1tU5fm">
<ref role="3uigEE" to="i348:18kNIl1vDPZ" resolve="TemplateApplicationSession" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="1yw2nYyfLIO" role="1B3o_S" />
</node>
@ -10072,7 +10148,7 @@
<node concept="2tJIrI" id="4JJCDIm$Llo" role="jymVt" />
<node concept="312cEu" id="1GNw78$gMhl" role="jymVt">
<property role="2bfB8j" value="false" />
<property role="TrG5h" value="MacroConfig" />
<property role="TrG5h" value="Token" />
<node concept="2tJIrI" id="1GNw78$khpO" role="jymVt" />
<node concept="2YIFZL" id="4MEOIDGH8rn" role="jymVt">
<property role="TrG5h" value="forInputNode" />
@ -10105,14 +10181,13 @@
</node>
</node>
<node concept="3uibUv" id="20Ay2Ve9uJe" role="3clF45">
<ref role="3uigEE" node="1GNw78$gMhl" resolve="__MacroTable._Template.MacroConfig" />
<ref role="3uigEE" node="1GNw78$gMhl" resolve="__MacroTable._Template.Token" />
</node>
<node concept="3Tm1VV" id="4MEOIDGH8rq" role="1B3o_S" />
<node concept="3clFbS" id="4MEOIDGH8rr" role="3clF47">
<node concept="3clFbF" id="4MEOIDGHbyZ" role="3cqZAp">
<node concept="2ShNRf" id="4MEOIDGHbyX" role="3clFbG">
<node concept="1pGfFk" id="4MEOIDGHc5A" role="2ShVmc">
<ref role="37wK5l" node="1GNw78$kUFK" resolve="__MacroTable._Template.MacroConfig" />
<ref role="37wK5l" node="1GNw78$kUFK" resolve="__MacroTable._Template.Token" />
<node concept="37vLTw" id="6EY0p2x1U_O" role="37wK5m">
<ref role="3cqZAo" node="4MEOIDGHboL" resolve="inputNode" />
</node>
@ -10237,11 +10312,11 @@
</node>
</node>
</node>
<node concept="3Tmbuc" id="5yr01fDFjUP" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="4MEOIDGH5Ef" role="jymVt" />
<node concept="3clFbW" id="1GNw78$kUFK" role="jymVt">
<node concept="3cqZAl" id="1GNw78$kUFN" role="3clF45" />
<node concept="3Tm1VV" id="1GNw78$kUFO" role="1B3o_S" />
<node concept="3clFbS" id="1GNw78$kUFP" role="3clF47">
<node concept="3clFbF" id="6EY0p2x1UB4" role="3cqZAp">
<node concept="37vLTI" id="6EY0p2x1UB6" role="3clFbG">
@ -10363,6 +10438,7 @@
</node>
</node>
</node>
<node concept="3Tmbuc" id="5yr01fDFlgM" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="4KRwoem6ilI" role="jymVt" />
<node concept="3clFb_" id="1GNw78$ri7u" role="jymVt">
@ -10470,7 +10546,7 @@
</node>
<node concept="2ShNRf" id="4KRwoelno2H" role="33vP2m">
<node concept="1pGfFk" id="4KRwoelno2I" role="2ShVmc">
<ref role="37wK5l" to="i348:6lpwCiZjdph" resolve="RuleBuilder" />
<ref role="37wK5l" to="i348:7nPD14OeqYJ" resolve="RuleBuilder" />
<node concept="Xl_RD" id="4KRwoelno2J" role="37wK5m">
<property role="Xl_RC" value="" />
<node concept="17Uvod" id="4KRwoelno2K" role="lGtFl">
@ -10490,6 +10566,27 @@
</node>
</node>
</node>
<node concept="Xl_RD" id="5yr01fDud1P" role="37wK5m">
<property role="Xl_RC" value="" />
<node concept="17Uvod" id="5yr01fDud1Q" role="lGtFl">
<property role="P4ACc" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1070475926800/1070475926801" />
<property role="2qtEX9" value="value" />
<node concept="3zFVjK" id="5yr01fDud1R" role="3zH0cK">
<node concept="3clFbS" id="5yr01fDud1S" role="2VODD2">
<node concept="3clFbF" id="5yr01fDud1T" role="3cqZAp">
<node concept="2OqwBi" id="5yr01fDud1U" role="3clFbG">
<node concept="30H73N" id="5yr01fDud1V" role="2Oq$k0" />
<node concept="2qgKlT" id="5yr01fDud1W" role="2OqNvi">
<ref role="37wK5l" to="tpcu:hEwIO9y" resolve="getFqName" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="10Nm6u" id="5yr01fDQSTk" role="37wK5m" />
<node concept="10Nm6u" id="5yr01fDv4jS" role="37wK5m" />
</node>
</node>
<node concept="2ZBi8u" id="4KRwoelno2R" role="lGtFl">
@ -10641,7 +10738,7 @@
</node>
<node concept="3Tm1VV" id="1GNw78$gMhm" role="1B3o_S" />
<node concept="3uibUv" id="1eKXYsjDeaP" role="EKbjA">
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
<node concept="2ZBi8u" id="7XmdqtdNdU0" role="lGtFl">
<ref role="2rW$FS" node="7XmdqtdHiM8" resolve="macro_class" />
@ -10652,7 +10749,46 @@
<node concept="3clFbW" id="4JJCDIm$QjW" role="jymVt">
<node concept="3cqZAl" id="4JJCDIm$QjY" role="3clF45" />
<node concept="3Tm1VV" id="4JJCDIm$QjZ" role="1B3o_S" />
<node concept="3clFbS" id="4JJCDIm$Qk0" role="3clF47" />
<node concept="3clFbS" id="4JJCDIm$Qk0" role="3clF47">
<node concept="XkiVB" id="5yr01fDEzsd" role="3cqZAp">
<ref role="37wK5l" to="psr6:5yr01fDEuEm" resolve="AbstractMacroTemplate" />
<node concept="2YIFZM" id="5yr01fDEzPy" role="37wK5m">
<ref role="37wK5l" to="w1kc:~SNodePointer.deserialize(java.lang.String)" resolve="deserialize" />
<ref role="1Pybhc" to="w1kc:~SNodePointer" resolve="SNodePointer" />
<node concept="Xl_RD" id="5yr01fDEzRV" role="37wK5m">
<property role="Xl_RC" value="" />
<node concept="17Uvod" id="5yr01fDEzVr" role="lGtFl">
<property role="2qtEX9" value="value" />
<property role="P4ACc" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1070475926800/1070475926801" />
<node concept="3zFVjK" id="5yr01fDEzVs" role="3zH0cK">
<node concept="3clFbS" id="5yr01fDEzVt" role="2VODD2">
<node concept="3clFbF" id="5yr01fDE$4W" role="3cqZAp">
<node concept="2OqwBi" id="5yr01fDE$4X" role="3clFbG">
<node concept="2OqwBi" id="5yr01fDE$4Y" role="2Oq$k0">
<node concept="2JrnkZ" id="5yr01fDE$4Z" role="2Oq$k0">
<node concept="2OqwBi" id="5yr01fDE$50" role="2JrQYb">
<node concept="1iwH7S" id="5yr01fDE$51" role="2Oq$k0" />
<node concept="12$id9" id="5yr01fDE$52" role="2OqNvi">
<node concept="30H73N" id="5yr01fDE$53" role="12$y8L" />
</node>
</node>
</node>
<node concept="liA8E" id="5yr01fDE$54" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
</node>
<node concept="liA8E" id="5yr01fDE$55" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~Object.toString()" resolve="toString" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2ZBi8u" id="4JJCDIm_tMI" role="lGtFl">
<ref role="2rW$FS" node="4JJCDIm$O$I" resolve="macro_template_constructor" />
</node>
@ -10680,7 +10816,7 @@
<node concept="3uibUv" id="4JJCDIm$SaN" role="1zkMxy">
<ref role="3uigEE" to="psr6:1hX44vNlvEV" resolve="AbstractMacroTemplate" />
<node concept="3uibUv" id="1GNw78$kyyL" role="11_B2D">
<ref role="3uigEE" node="1GNw78$gMhl" resolve="__MacroTable._Template.MacroConfig" />
<ref role="3uigEE" node="1GNw78$gMhl" resolve="__MacroTable._Template.Token" />
</node>
</node>
<node concept="2tJIrI" id="60NbDCXHpqs" role="jymVt" />
@ -10696,14 +10832,14 @@
</node>
</node>
<node concept="3uibUv" id="4KRwoelAK4n" role="3clF45">
<ref role="3uigEE" node="1GNw78$gMhl" resolve="__MacroTable._Template.MacroConfig" />
<ref role="3uigEE" node="1GNw78$gMhl" resolve="__MacroTable._Template.Token" />
</node>
<node concept="3Tm1VV" id="4KRwoelAK4l" role="1B3o_S" />
<node concept="3clFbS" id="4KRwoelAK4o" role="3clF47">
<node concept="3clFbF" id="4KRwoelAVUv" role="3cqZAp">
<node concept="2ShNRf" id="4KRwoelAVUw" role="3clFbG">
<node concept="1pGfFk" id="4KRwoelAVUx" role="2ShVmc">
<ref role="37wK5l" node="1GNw78$kUFK" resolve="__MacroTable._Template.MacroConfig" />
<ref role="37wK5l" node="1GNw78$kUFK" resolve="__MacroTable._Template.Token" />
<node concept="10Nm6u" id="6EY0p2x1Wqz" role="37wK5m" />
<node concept="37vLTw" id="4KRwoelAWIE" role="37wK5m">
<ref role="3cqZAo" node="4KRwoelAK4h" resolve="args" />
@ -10725,14 +10861,14 @@
<node concept="3Tqbb2" id="4KRwoelAK49" role="1tU5fm" />
</node>
<node concept="3uibUv" id="4KRwoelAK4d" role="3clF45">
<ref role="3uigEE" node="1GNw78$gMhl" resolve="__MacroTable._Template.MacroConfig" />
<ref role="3uigEE" node="1GNw78$gMhl" resolve="__MacroTable._Template.Token" />
</node>
<node concept="3Tmbuc" id="60NbDCXHfR8" role="1B3o_S" />
<node concept="3clFbS" id="4KRwoelAK4e" role="3clF47">
<node concept="3cpWs6" id="20Ay2Ve9Vq_" role="3cqZAp">
<node concept="2YIFZM" id="20Ay2Ve9VqA" role="3cqZAk">
<ref role="37wK5l" node="4MEOIDGH8rn" resolve="forInputNode" />
<ref role="1Pybhc" node="1GNw78$gMhl" resolve="__MacroTable._Template.MacroConfig" />
<ref role="1Pybhc" node="1GNw78$gMhl" resolve="__MacroTable._Template.Token" />
<node concept="37vLTw" id="20Ay2Ve9VqB" role="37wK5m">
<ref role="3cqZAo" node="4KRwoelAK48" resolve="inputNode" />
</node>
@ -10752,9 +10888,9 @@
</node>
<node concept="3Tm1VV" id="1GNw78$ryBn" role="1B3o_S" />
<node concept="37vLTG" id="1GNw78$ryBp" role="3clF46">
<property role="TrG5h" value="config" />
<property role="TrG5h" value="token" />
<node concept="3uibUv" id="1GNw78$ryBv" role="1tU5fm">
<ref role="3uigEE" node="1GNw78$gMhl" resolve="__MacroTable._Template.MacroConfig" />
<ref role="3uigEE" node="1GNw78$gMhl" resolve="__MacroTable._Template.Token" />
</node>
</node>
<node concept="37vLTG" id="1GNw78$ryBr" role="3clF46">
@ -10776,7 +10912,7 @@
<node concept="3clFbF" id="4KRwoelnqUQ" role="3cqZAp">
<node concept="2OqwBi" id="4KRwoelnr0s" role="3clFbG">
<node concept="37vLTw" id="4KRwoelnqUP" role="2Oq$k0">
<ref role="3cqZAo" node="1GNw78$ryBp" resolve="config" />
<ref role="3cqZAo" node="1GNw78$ryBp" resolve="token" />
</node>
<node concept="liA8E" id="4KRwoelnrgZ" role="2OqNvi">
<ref role="37wK5l" node="4KRwoelnc3p" resolve="applyMacro" />
@ -10893,7 +11029,7 @@
<node concept="2OqwBi" id="5DUvKnrzwNg" role="3clFbG">
<node concept="2ShNRf" id="5DUvKnrzpNo" role="2Oq$k0">
<node concept="1pGfFk" id="5DUvKnrzpNp" role="2ShVmc">
<ref role="37wK5l" node="1GNw78$kUFK" resolve="__MacroTable._Template.MacroConfig" />
<ref role="37wK5l" node="1GNw78$kUFK" resolve="__MacroTable._Template.Token" />
<node concept="10Nm6u" id="5DUvKnrzsyG" role="37wK5m" />
<node concept="10Nm6u" id="5DUvKnrzuCI" role="37wK5m">
<node concept="1WS0z7" id="5DUvKnrzvpi" role="lGtFl">
@ -11774,12 +11910,17 @@
<node concept="3uibUv" id="7kTeLbPzUJf" role="1tU5fm">
<ref role="3uigEE" to="i348:7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
<node concept="2ShNRf" id="7kTeLbPzUJg" role="33vP2m">
<node concept="1pGfFk" id="7kTeLbPzUJh" role="2ShVmc">
<ref role="37wK5l" to="i348:6lpwCiZjdph" resolve="RuleBuilder" />
<node concept="Xl_RD" id="7kTeLbPzUJi" role="37wK5m">
<node concept="2ShNRf" id="5yr01fDtVwT" role="33vP2m">
<node concept="1pGfFk" id="5yr01fDtVwU" role="2ShVmc">
<ref role="37wK5l" to="i348:7nPD14OeqYJ" resolve="RuleBuilder" />
<node concept="Xl_RD" id="5yr01fDtVwV" role="37wK5m">
<property role="Xl_RC" value="" />
</node>
<node concept="Xl_RD" id="5yr01fDtVwW" role="37wK5m">
<property role="Xl_RC" value="" />
</node>
<node concept="10Nm6u" id="5yr01fDtVwX" role="37wK5m" />
<node concept="10Nm6u" id="5yr01fDtVwY" role="37wK5m" />
</node>
</node>
</node>
@ -11905,12 +12046,17 @@
<node concept="3uibUv" id="7kTeLbPzWA4" role="1tU5fm">
<ref role="3uigEE" to="i348:7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
<node concept="2ShNRf" id="7kTeLbPzWA5" role="33vP2m">
<node concept="1pGfFk" id="7kTeLbPzWA6" role="2ShVmc">
<ref role="37wK5l" to="i348:6lpwCiZjdph" resolve="RuleBuilder" />
<node concept="Xl_RD" id="7kTeLbPzWA7" role="37wK5m">
<node concept="2ShNRf" id="5yr01fDtVgI" role="33vP2m">
<node concept="1pGfFk" id="5yr01fDtVgJ" role="2ShVmc">
<ref role="37wK5l" to="i348:7nPD14OeqYJ" resolve="RuleBuilder" />
<node concept="Xl_RD" id="5yr01fDtVgK" role="37wK5m">
<property role="Xl_RC" value="" />
</node>
<node concept="Xl_RD" id="5yr01fDtVgL" role="37wK5m">
<property role="Xl_RC" value="" />
</node>
<node concept="10Nm6u" id="5yr01fDtVgM" role="37wK5m" />
<node concept="10Nm6u" id="5yr01fDtVgN" role="37wK5m" />
</node>
</node>
</node>
@ -11939,45 +12085,36 @@
</node>
</node>
</node>
<node concept="2YIFZM" id="7kTeLbPzWAm" role="37wK5m">
<ref role="37wK5l" to="psr6:4MEOIDEhz4d" resolve="forReference" />
<ref role="1Pybhc" to="psr6:4MEOIDEhyPY" resolve="MacroTemplate.ID" />
<node concept="2OqwBi" id="7kTeLbPzWAn" role="37wK5m">
<node concept="2YIFZM" id="7kTeLbPzWAo" role="2Oq$k0">
<ref role="37wK5l" to="dush:~PersistenceFacade.getInstance()" resolve="getInstance" />
<ref role="1Pybhc" to="dush:~PersistenceFacade" resolve="PersistenceFacade" />
</node>
<node concept="liA8E" id="7kTeLbPzWAp" role="2OqNvi">
<ref role="37wK5l" to="dush:~PersistenceFacade.createNodeReference(java.lang.String)" resolve="createNodeReference" />
<node concept="Xl_RD" id="7kTeLbPzWAq" role="37wK5m">
<property role="Xl_RC" value="" />
<node concept="17Uvod" id="7kTeLbPzWAr" role="lGtFl">
<property role="P4ACc" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1070475926800/1070475926801" />
<property role="2qtEX9" value="value" />
<node concept="3zFVjK" id="7kTeLbPzWAs" role="3zH0cK">
<node concept="3clFbS" id="7kTeLbPzWAt" role="2VODD2">
<node concept="3clFbF" id="7kTeLbPzWAu" role="3cqZAp">
<node concept="2OqwBi" id="7kTeLbPzWAv" role="3clFbG">
<node concept="2YIFZM" id="7kTeLbPzWAw" role="2Oq$k0">
<ref role="1Pybhc" to="dush:~PersistenceFacade" resolve="PersistenceFacade" />
<ref role="37wK5l" to="dush:~PersistenceFacade.getInstance()" resolve="getInstance" />
</node>
<node concept="liA8E" id="7kTeLbPzWAx" role="2OqNvi">
<ref role="37wK5l" to="dush:~PersistenceFacade.asString(org.jetbrains.mps.openapi.model.SNodeReference)" resolve="asString" />
<node concept="2OqwBi" id="7kTeLbPzWAy" role="37wK5m">
<node concept="2JrnkZ" id="7kTeLbPzWAz" role="2Oq$k0">
<node concept="2OqwBi" id="7kTeLbPzWA$" role="2JrQYb">
<node concept="30H73N" id="7kTeLbPzWA_" role="2Oq$k0" />
<node concept="3TrEf2" id="7kTeLbPzWAA" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5hSMZ_lpUoi" resolve="declaration" />
</node>
</node>
</node>
<node concept="liA8E" id="7kTeLbPzWAB" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
<node concept="2YIFZM" id="5yr01fDEr6B" role="37wK5m">
<ref role="37wK5l" to="w1kc:~SNodePointer.deserialize(java.lang.String)" resolve="deserialize" />
<ref role="1Pybhc" to="w1kc:~SNodePointer" resolve="SNodePointer" />
<node concept="Xl_RD" id="7kTeLbPzWAq" role="37wK5m">
<property role="Xl_RC" value="" />
<node concept="17Uvod" id="7kTeLbPzWAr" role="lGtFl">
<property role="P4ACc" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1070475926800/1070475926801" />
<property role="2qtEX9" value="value" />
<node concept="3zFVjK" id="7kTeLbPzWAs" role="3zH0cK">
<node concept="3clFbS" id="7kTeLbPzWAt" role="2VODD2">
<node concept="3clFbF" id="7kTeLbPzWAu" role="3cqZAp">
<node concept="2OqwBi" id="7kTeLbPzWAv" role="3clFbG">
<node concept="2YIFZM" id="7kTeLbPzWAw" role="2Oq$k0">
<ref role="1Pybhc" to="dush:~PersistenceFacade" resolve="PersistenceFacade" />
<ref role="37wK5l" to="dush:~PersistenceFacade.getInstance()" resolve="getInstance" />
</node>
<node concept="liA8E" id="7kTeLbPzWAx" role="2OqNvi">
<ref role="37wK5l" to="dush:~PersistenceFacade.asString(org.jetbrains.mps.openapi.model.SNodeReference)" resolve="asString" />
<node concept="2OqwBi" id="7kTeLbPzWAy" role="37wK5m">
<node concept="2JrnkZ" id="7kTeLbPzWAz" role="2Oq$k0">
<node concept="2OqwBi" id="7kTeLbPzWA$" role="2JrQYb">
<node concept="30H73N" id="7kTeLbPzWA_" role="2Oq$k0" />
<node concept="3TrEf2" id="7kTeLbPzWAA" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5hSMZ_lpUoi" resolve="declaration" />
</node>
</node>
</node>
<node concept="liA8E" id="7kTeLbPzWAB" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
</node>
</node>
</node>
@ -12082,10 +12219,15 @@
</node>
<node concept="2ShNRf" id="7kTeLbPzYQI" role="33vP2m">
<node concept="1pGfFk" id="7kTeLbPzYQJ" role="2ShVmc">
<ref role="37wK5l" to="i348:6lpwCiZjdph" resolve="RuleBuilder" />
<ref role="37wK5l" to="i348:7nPD14OeqYJ" resolve="RuleBuilder" />
<node concept="Xl_RD" id="7kTeLbPzYQK" role="37wK5m">
<property role="Xl_RC" value="" />
</node>
<node concept="Xl_RD" id="5yr01fDtSZ8" role="37wK5m">
<property role="Xl_RC" value="" />
</node>
<node concept="10Nm6u" id="5yr01fDtTng" role="37wK5m" />
<node concept="10Nm6u" id="5yr01fDtT_z" role="37wK5m" />
</node>
</node>
</node>

View File

@ -474,6 +474,9 @@
<property role="20kJfa" value="body" />
<ref role="20lvS9" node="7IysFe_ZPX_" resolve="MacroBody" />
</node>
<node concept="PrWs8" id="5yr01fDEW3P" role="PzmwI">
<ref role="PrY4T" node="6OXbTDyHcuD" resolve="Template" />
</node>
<node concept="PrWs8" id="1pPth$m5Bb$" role="PzmwI">
<ref role="PrY4T" to="tpee:hCUYCKd" resolve="IValidIdentifier" />
</node>

View File

@ -4193,7 +4193,7 @@
<node concept="3uibUv" id="4nxCIBqy_HE" role="3clF45">
<ref role="3uigEE" to="psr6:1hX44vNnjJ$" resolve="MacroTemplate" />
<node concept="16syzq" id="1eKXYsjIcB2" role="11_B2D">
<ref role="16sUi3" node="1eKXYsjIb$d" resolve="Cfg" />
<ref role="16sUi3" node="1eKXYsjIb$d" resolve="T" />
</node>
</node>
<node concept="3Tm1VV" id="4nxCIBqy$vu" role="1B3o_S" />
@ -4206,7 +4206,7 @@
<node concept="3uibUv" id="6UWSvq5a3On" role="1tU5fm">
<ref role="3uigEE" to="psr6:1hX44vNnjJ$" resolve="MacroTemplate" />
<node concept="16syzq" id="6UWSvq5a3Oq" role="11_B2D">
<ref role="16sUi3" node="1eKXYsjIb$d" resolve="Cfg" />
<ref role="16sUi3" node="1eKXYsjIb$d" resolve="T" />
</node>
</node>
<node concept="2OqwBi" id="6UWSvq5a3OD" role="33vP2m">
@ -4219,7 +4219,7 @@
<ref role="3cqZAo" node="4nxCIBqyARP" resolve="concept" />
</node>
<node concept="16syzq" id="6UWSvq5a3OH" role="3PaCim">
<ref role="16sUi3" node="1eKXYsjIb$d" resolve="Cfg" />
<ref role="16sUi3" node="1eKXYsjIb$d" resolve="T" />
</node>
</node>
</node>
@ -4347,9 +4347,9 @@
<node concept="3clFbH" id="6UWSvq59Y1y" role="3cqZAp" />
</node>
<node concept="16euLQ" id="1eKXYsjIb$d" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="1eKXYsjIcrC" role="3ztrMU">
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
</node>
@ -4357,15 +4357,15 @@
<node concept="3clFb_" id="6UWSvq4Qqe$" role="jymVt">
<property role="TrG5h" value="macroTemplate" />
<node concept="37vLTG" id="4MEOIDEhHGm" role="3clF46">
<property role="TrG5h" value="templateId" />
<node concept="3uibUv" id="4MEOIDEhHGl" role="1tU5fm">
<ref role="3uigEE" to="psr6:4MEOIDEhyPY" resolve="MacroTemplate.ID" />
<property role="TrG5h" value="templateRef" />
<node concept="3uibUv" id="5yr01fDuOwL" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="3uibUv" id="6UWSvq4QqeB" role="3clF45">
<ref role="3uigEE" to="psr6:1hX44vNnjJ$" resolve="MacroTemplate" />
<node concept="16syzq" id="6UWSvq4QqeC" role="11_B2D">
<ref role="16sUi3" node="6UWSvq4QqeP" resolve="Cfg" />
<ref role="16sUi3" node="6UWSvq4QqeP" resolve="T" />
</node>
</node>
<node concept="3Tm1VV" id="6UWSvq4QqeD" role="1B3o_S" />
@ -4378,7 +4378,7 @@
<node concept="3uibUv" id="6UWSvq5a9vn" role="1tU5fm">
<ref role="3uigEE" to="psr6:1hX44vNnjJ$" resolve="MacroTemplate" />
<node concept="16syzq" id="6UWSvq5a9vo" role="11_B2D">
<ref role="16sUi3" node="6UWSvq4QqeP" resolve="Cfg" />
<ref role="16sUi3" node="6UWSvq4QqeP" resolve="T" />
</node>
</node>
<node concept="2OqwBi" id="6UWSvq5a9vp" role="33vP2m">
@ -4388,10 +4388,10 @@
<node concept="liA8E" id="6UWSvq5a9vr" role="2OqNvi">
<ref role="37wK5l" to="psr6:4MEOIDEgpuf" resolve="macroTemplate" />
<node concept="37vLTw" id="6UWSvq5aasz" role="37wK5m">
<ref role="3cqZAo" node="4MEOIDEhHGm" resolve="templateId" />
<ref role="3cqZAo" node="4MEOIDEhHGm" resolve="templateRef" />
</node>
<node concept="16syzq" id="6UWSvq5a9vt" role="3PaCim">
<ref role="16sUi3" node="6UWSvq4QqeP" resolve="Cfg" />
<ref role="16sUi3" node="6UWSvq4QqeP" resolve="T" />
</node>
</node>
</node>
@ -4469,7 +4469,7 @@
<property role="Xl_RC" value="no macro template \&quot;" />
</node>
<node concept="37vLTw" id="2Y70AYEejfH" role="3uHU7w">
<ref role="3cqZAo" node="4MEOIDEhHGm" resolve="templateId" />
<ref role="3cqZAo" node="4MEOIDEhHGm" resolve="templateRef" />
</node>
</node>
<node concept="Xl_RD" id="2Y70AYEejfI" role="3uHU7w">
@ -4503,7 +4503,7 @@
<property role="Xl_RC" value="no macro template \&quot;" />
</node>
<node concept="37vLTw" id="6UWSvq5adtU" role="3uHU7w">
<ref role="3cqZAo" node="4MEOIDEhHGm" resolve="templateId" />
<ref role="3cqZAo" node="4MEOIDEhHGm" resolve="templateRef" />
</node>
</node>
<node concept="Xl_RD" id="6UWSvq5a9vJ" role="3uHU7w">
@ -4518,9 +4518,9 @@
</node>
</node>
<node concept="16euLQ" id="6UWSvq4QqeP" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="6UWSvq4QqeQ" role="3ztrMU">
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
</node>
@ -6306,13 +6306,9 @@
<node concept="3clFbJ" id="4pwDyRBzH3C" role="3cqZAp">
<node concept="3clFbS" id="4pwDyRBzH3E" role="3clFbx">
<node concept="3cpWs6" id="4pwDyRBzHYd" role="3cqZAp">
<node concept="2ShNRf" id="4pwDyRBzQu$" role="3cqZAk">
<node concept="1pGfFk" id="4pwDyRBzRGN" role="2ShVmc">
<ref role="37wK5l" to="i348:6lpwCiZjdph" resolve="RuleBuilder" />
<node concept="Xl_RD" id="4pwDyRBzSjG" role="37wK5m">
<property role="Xl_RC" value="empty" />
</node>
</node>
<node concept="10M0yZ" id="5yr01fDt_oo" role="3cqZAk">
<ref role="3cqZAo" to="i348:5yr01fDteq2" resolve="EMPTY" />
<ref role="1PxDUh" to="i348:7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
</node>
</node>
@ -6433,7 +6429,7 @@
<node concept="16euLQ" id="7DvO2M9IiLz" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<node concept="3uibUv" id="7DvO2M9IiL$" role="3ztrMU">
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
</node>
@ -6445,13 +6441,9 @@
<node concept="3Tm1VV" id="2Y70AYExTDE" role="1B3o_S" />
<node concept="3clFbS" id="2Y70AYExTDF" role="3clF47">
<node concept="3clFbF" id="2Y70AYExTDG" role="3cqZAp">
<node concept="2ShNRf" id="2Y70AYExTDH" role="3clFbG">
<node concept="1pGfFk" id="2Y70AYExTDI" role="2ShVmc">
<ref role="37wK5l" to="i348:6lpwCiZjdph" resolve="RuleBuilder" />
<node concept="Xl_RD" id="2Y70AYExTDJ" role="37wK5m">
<property role="Xl_RC" value="empty" />
</node>
</node>
<node concept="10M0yZ" id="5yr01fDtC9O" role="3clFbG">
<ref role="3cqZAo" to="i348:5yr01fDteq2" resolve="EMPTY" />
<ref role="1PxDUh" to="i348:7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
</node>
</node>
@ -6532,13 +6524,9 @@
<node concept="3clFbJ" id="4pwDyRBzVpU" role="3cqZAp">
<node concept="3clFbS" id="4pwDyRBzVpV" role="3clFbx">
<node concept="3cpWs6" id="4pwDyRBzVpW" role="3cqZAp">
<node concept="2ShNRf" id="4pwDyRBzVpX" role="3cqZAk">
<node concept="1pGfFk" id="4pwDyRBzVpY" role="2ShVmc">
<ref role="37wK5l" to="i348:6lpwCiZjdph" resolve="RuleBuilder" />
<node concept="Xl_RD" id="4pwDyRBzVpZ" role="37wK5m">
<property role="Xl_RC" value="empty" />
</node>
</node>
<node concept="10M0yZ" id="5yr01fDtBsC" role="3cqZAk">
<ref role="1PxDUh" to="i348:7eGEHDlc$ap" resolve="RuleBuilder" />
<ref role="3cqZAo" to="i348:5yr01fDteq2" resolve="EMPTY" />
</node>
</node>
</node>
@ -6603,7 +6591,7 @@
<node concept="16euLQ" id="5DUvKnrzejZ" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<node concept="3uibUv" id="5DUvKnrzek0" role="3ztrMU">
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
</node>
@ -6618,13 +6606,9 @@
<node concept="3Tm1VV" id="2Y70AYExGU0" role="1B3o_S" />
<node concept="3clFbS" id="2Y70AYExGU5" role="3clF47">
<node concept="3clFbF" id="2Y70AYExHfP" role="3cqZAp">
<node concept="2ShNRf" id="2Y70AYExHfN" role="3clFbG">
<node concept="1pGfFk" id="2Y70AYExHG$" role="2ShVmc">
<ref role="37wK5l" to="i348:6lpwCiZjdph" resolve="RuleBuilder" />
<node concept="Xl_RD" id="2Y70AYExHIS" role="37wK5m">
<property role="Xl_RC" value="empty" />
</node>
</node>
<node concept="10M0yZ" id="5yr01fDtCtM" role="3clFbG">
<ref role="3cqZAo" to="i348:5yr01fDteq2" resolve="EMPTY" />
<ref role="1PxDUh" to="i348:7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
</node>
</node>
@ -6656,9 +6640,9 @@
</node>
</node>
<node concept="37vLTG" id="7DvO2M9IiLG" role="3clF46">
<property role="TrG5h" value="templateId" />
<node concept="3uibUv" id="7DvO2M9IiLH" role="1tU5fm">
<ref role="3uigEE" to="psr6:4MEOIDEhyPY" resolve="MacroTemplate.ID" />
<property role="TrG5h" value="macroTemplateRef" />
<node concept="3uibUv" id="5yr01fDuQLx" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="37vLTG" id="7DvO2M9IiLI" role="3clF46">
@ -6679,7 +6663,7 @@
<node concept="1rXfSq" id="7DvO2M9IiLP" role="3clFbG">
<ref role="37wK5l" node="7DvO2M9IiO1" resolve="withMacroTemplate" />
<node concept="37vLTw" id="7DvO2M9IiLQ" role="37wK5m">
<ref role="3cqZAo" node="7DvO2M9IiLG" resolve="templateId" />
<ref role="3cqZAo" node="7DvO2M9IiLG" resolve="macroTemplateRef" />
</node>
<node concept="2ShNRf" id="7DvO2M9IiLR" role="37wK5m">
<node concept="YeOm9" id="7DvO2M9IiLS" role="2ShVmc">
@ -6692,7 +6676,7 @@
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="doAction" />
<node concept="37vLTG" id="7DvO2M9IiLW" role="3clF46">
<property role="TrG5h" value="typeTemplate" />
<property role="TrG5h" value="macroTemplate" />
<node concept="3uibUv" id="7DvO2M9IiLX" role="1tU5fm">
<ref role="3uigEE" to="psr6:1hX44vNnjJ$" resolve="MacroTemplate" />
<node concept="16syzq" id="7DvO2M9IiLY" role="11_B2D">
@ -6708,13 +6692,13 @@
<node concept="3clFbF" id="7DvO2M9IiM2" role="3cqZAp">
<node concept="2OqwBi" id="7DvO2M9IiM3" role="3clFbG">
<node concept="37vLTw" id="7DvO2M9IiM4" role="2Oq$k0">
<ref role="3cqZAo" node="7DvO2M9IiLW" resolve="typeTemplate" />
<ref role="3cqZAo" node="7DvO2M9IiLW" resolve="macroTemplate" />
</node>
<node concept="liA8E" id="7DvO2M9IiM5" role="2OqNvi">
<ref role="37wK5l" to="psr6:1eKXYsjvsWF" resolve="doCall" />
<node concept="2OqwBi" id="7DvO2M9IiM6" role="37wK5m">
<node concept="37vLTw" id="7DvO2M9IiM7" role="2Oq$k0">
<ref role="3cqZAo" node="7DvO2M9IiLW" resolve="typeTemplate" />
<ref role="3cqZAo" node="7DvO2M9IiLW" resolve="macroTemplate" />
</node>
<node concept="liA8E" id="7DvO2M9IiM8" role="2OqNvi">
<ref role="37wK5l" to="psr6:1eKXYsjvsWn" resolve="withArgs" />
@ -6736,7 +6720,7 @@
<node concept="16euLQ" id="7DvO2M9IiMc" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<node concept="3uibUv" id="7DvO2M9IiMd" role="3ztrMU">
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
</node>
@ -6748,13 +6732,9 @@
<node concept="3Tm1VV" id="2Y70AYExHLd" role="1B3o_S" />
<node concept="3clFbS" id="2Y70AYExHLe" role="3clF47">
<node concept="3clFbF" id="2Y70AYExHLf" role="3cqZAp">
<node concept="2ShNRf" id="2Y70AYExHLg" role="3clFbG">
<node concept="1pGfFk" id="2Y70AYExHLh" role="2ShVmc">
<ref role="37wK5l" to="i348:6lpwCiZjdph" resolve="RuleBuilder" />
<node concept="Xl_RD" id="2Y70AYExHLi" role="37wK5m">
<property role="Xl_RC" value="empty" />
</node>
</node>
<node concept="10M0yZ" id="5yr01fDtCLJ" role="3clFbG">
<ref role="3cqZAo" to="i348:5yr01fDteq2" resolve="EMPTY" />
<ref role="1PxDUh" to="i348:7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
</node>
</node>
@ -6855,7 +6835,7 @@
<node concept="16euLQ" id="7DvO2M9IiNW" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<node concept="3uibUv" id="7DvO2M9IiNX" role="3ztrMU">
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
<node concept="16euLQ" id="7DvO2M9IiNY" role="16eVyc">
@ -6867,9 +6847,9 @@
<node concept="3clFb_" id="7DvO2M9IiO1" role="jymVt">
<property role="TrG5h" value="withMacroTemplate" />
<node concept="37vLTG" id="7DvO2M9IiO2" role="3clF46">
<property role="TrG5h" value="templateId" />
<node concept="3uibUv" id="7DvO2M9IiO3" role="1tU5fm">
<ref role="3uigEE" to="psr6:4MEOIDEhyPY" resolve="MacroTemplate.ID" />
<property role="TrG5h" value="templateRef" />
<node concept="3uibUv" id="5yr01fDuPU0" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="37vLTG" id="7DvO2M9IiO4" role="3clF46">
@ -6901,8 +6881,8 @@
</node>
<node concept="liA8E" id="6UWSvq4QBqP" role="2OqNvi">
<ref role="37wK5l" node="6UWSvq4Qqe$" resolve="macroTemplate" />
<node concept="37vLTw" id="6UWSvq4QBzV" role="37wK5m">
<ref role="3cqZAo" node="7DvO2M9IiO2" resolve="templateId" />
<node concept="37vLTw" id="5yr01fDuQDE" role="37wK5m">
<ref role="3cqZAo" node="7DvO2M9IiO2" resolve="templateRef" />
</node>
<node concept="16syzq" id="7P_FdVPvnni" role="3PaCim">
<ref role="16sUi3" node="7DvO2M9IiOw" resolve="Cfg" />
@ -6944,7 +6924,7 @@
<node concept="16euLQ" id="7DvO2M9IiOw" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<node concept="3uibUv" id="7DvO2M9IiOx" role="3ztrMU">
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" to="psr6:1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
<node concept="16euLQ" id="7DvO2M9IiOy" role="16eVyc">

View File

@ -5548,10 +5548,15 @@
</node>
<node concept="2ShNRf" id="6i42QSskaRD" role="33vP2m">
<node concept="1pGfFk" id="6i42QSskaRE" role="2ShVmc">
<ref role="37wK5l" to="i348:6lpwCiZjdph" resolve="RuleBuilder" />
<ref role="37wK5l" to="i348:7nPD14OeqYJ" resolve="RuleBuilder" />
<node concept="Xl_RD" id="6i42QSskaRF" role="37wK5m">
<property role="Xl_RC" value="finish" />
</node>
<node concept="Xl_RD" id="5yr01fDub2E" role="37wK5m">
<property role="Xl_RC" value="finish" />
</node>
<node concept="10Nm6u" id="5yr01fDubpe" role="37wK5m" />
<node concept="10Nm6u" id="5yr01fDub_s" role="37wK5m" />
</node>
</node>
</node>

View File

@ -28,14 +28,7 @@
<child id="1068498886297" name="rValue" index="37vLTx" />
<child id="1068498886295" name="lValue" index="37vLTJ" />
</concept>
<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" />
<concept id="1188207840427" name="jetbrains.mps.baseLanguage.structure.AnnotationInstance" flags="nn" index="2AHcQZ">
<reference id="1188208074048" name="annotation" index="2AI5Lk" />
</concept>
<concept id="1188208481402" name="jetbrains.mps.baseLanguage.structure.HasAnnotation" flags="ng" index="2AJDlI">
<child id="1188208488637" name="annotation" index="2AJF6D" />
</concept>
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
@ -43,11 +36,7 @@
<concept id="1197029447546" name="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" flags="nn" index="2OwXpG">
<reference id="1197029500499" name="fieldDeclaration" index="2Oxat5" />
</concept>
<concept id="1145552977093" name="jetbrains.mps.baseLanguage.structure.GenericNewExpression" flags="nn" index="2ShNRf">
<child id="1145553007750" name="creator" index="2ShVmc" />
</concept>
<concept id="1070475354124" name="jetbrains.mps.baseLanguage.structure.ThisExpression" flags="nn" index="Xjq3P" />
<concept id="1081236700938" name="jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" flags="ig" index="2YIFZL" />
<concept id="1068390468200" name="jetbrains.mps.baseLanguage.structure.FieldDeclaration" flags="ig" index="312cEg" />
<concept id="1068390468198" name="jetbrains.mps.baseLanguage.structure.ClassConcept" flags="ig" index="312cEu">
<property id="1075300953594" name="abstractClass" index="1sVAO0" />
@ -72,8 +61,6 @@
<child id="5680397130376446158" name="type" index="1tU5fm" />
</concept>
<concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
<property id="4276006055363816570" name="isSynchronized" index="od$2w" />
<property id="1181808852946" name="isFinal" index="DiZV1" />
<child id="1068580123133" name="returnType" index="3clF45" />
<child id="1068580123134" name="parameter" index="3clF46" />
<child id="1068580123135" name="body" index="3clF47" />
@ -89,11 +76,6 @@
</concept>
<concept id="1068580123140" name="jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" flags="ig" index="3clFbW" />
<concept id="1068581517677" name="jetbrains.mps.baseLanguage.structure.VoidType" flags="in" index="3cqZAl" />
<concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ng" index="1ndlxa">
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
<child id="1068499141038" name="actualArgument" index="37wK5m" />
</concept>
<concept id="1212685548494" name="jetbrains.mps.baseLanguage.structure.ClassCreator" flags="nn" index="1pGfFk" />
<concept id="1107461130800" name="jetbrains.mps.baseLanguage.structure.Classifier" flags="ng" index="3pOWGL">
<property id="521412098689998745" name="nonStatic" index="2bfB8j" />
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
@ -111,9 +93,6 @@
<concept id="1146644641414" name="jetbrains.mps.baseLanguage.structure.ProtectedVisibility" flags="nn" index="3Tmbuc" />
</language>
<language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel">
<concept id="1145404486709" name="jetbrains.mps.lang.smodel.structure.SemanticDowncastExpression" flags="nn" index="2JrnkZ">
<child id="1145404616321" name="leftExpression" index="2JrQYb" />
</concept>
<concept id="6677504323281689838" name="jetbrains.mps.lang.smodel.structure.SConceptType" flags="in" index="3bZ5Sz" />
<concept id="1138055754698" name="jetbrains.mps.lang.smodel.structure.SNodeType" flags="in" index="3Tqbb2" />
</language>
@ -148,7 +127,7 @@
<node concept="3uibUv" id="4KRwoelAyo8" role="3clF45">
<ref role="3uigEE" node="1hX44vNnjJ$" resolve="MacroTemplate" />
<node concept="16syzq" id="4KRwoelDRZs" role="11_B2D">
<ref role="16sUi3" node="4KRwoelDRX0" resolve="Cfg" />
<ref role="16sUi3" node="4KRwoelDRX0" resolve="T" />
</node>
</node>
<node concept="3Tm1VV" id="4KRwoelAtxp" role="1B3o_S" />
@ -158,9 +137,9 @@
<node concept="3bZ5Sz" id="4KRwoelAyUc" role="1tU5fm" />
</node>
<node concept="16euLQ" id="4KRwoelDRX0" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="1eKXYsjxDj6" role="3ztrMU">
<ref role="3uigEE" node="1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" node="1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
</node>
@ -181,31 +160,31 @@
<node concept="3uibUv" id="4MEOIDEgpug" role="3clF45">
<ref role="3uigEE" node="1hX44vNnjJ$" resolve="MacroTemplate" />
<node concept="16syzq" id="4MEOIDEgpuh" role="11_B2D">
<ref role="16sUi3" node="4MEOIDEgpum" resolve="Cfg" />
<ref role="16sUi3" node="4MEOIDEgpum" resolve="T" />
</node>
</node>
<node concept="3Tm1VV" id="4MEOIDEgpui" role="1B3o_S" />
<node concept="3clFbS" id="4MEOIDEgpuj" role="3clF47" />
<node concept="16euLQ" id="4MEOIDEgpum" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="4MEOIDEgpun" role="3ztrMU">
<ref role="3uigEE" node="1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" node="1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
<node concept="37vLTG" id="4MEOIDEhHGm" role="3clF46">
<property role="TrG5h" value="templateId" />
<node concept="3uibUv" id="4MEOIDEhHGl" role="1tU5fm">
<ref role="3uigEE" node="4MEOIDEhyPY" resolve="MacroTemplate.ID" />
<property role="TrG5h" value="templateRef" />
<node concept="3uibUv" id="5yr01fDuNi6" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
</node>
<node concept="2tJIrI" id="4MEOIDEWLmE" role="jymVt" />
<node concept="3clFb_" id="4MEOIDEWLkY" role="jymVt">
<property role="TrG5h" value="allMacroTemplateIds" />
<property role="TrG5h" value="allMacroTemplateRefs" />
<property role="1EzhhJ" value="true" />
<node concept="3vKaQO" id="4MEOIDEWLkZ" role="3clF45">
<node concept="3uibUv" id="4MEOIDEWSWB" role="3O5elw">
<ref role="3uigEE" node="4MEOIDEhyPY" resolve="MacroTemplate.ID" />
<node concept="3uibUv" id="5yr01fDuVLk" role="3O5elw">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="3Tm1VV" id="4MEOIDEWLl1" role="1B3o_S" />
@ -278,7 +257,7 @@
<node concept="16euLQ" id="1eKXYsjvTOg" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<node concept="3uibUv" id="1eKXYsjvTPL" role="3ztrMU">
<ref role="3uigEE" node="1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" node="1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
</node>
@ -297,6 +276,32 @@
</node>
</node>
<node concept="2tJIrI" id="60NbDCXFVbR" role="jymVt" />
<node concept="3clFbW" id="5yr01fDEuEm" role="jymVt">
<node concept="37vLTG" id="5yr01fDEuFQ" role="3clF46">
<property role="TrG5h" value="macroTemplateRef" />
<node concept="3uibUv" id="5yr01fDEuKu" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="3cqZAl" id="5yr01fDEuEo" role="3clF45" />
<node concept="3Tm1VV" id="5yr01fDEuEp" role="1B3o_S" />
<node concept="3clFbS" id="5yr01fDEuEq" role="3clF47">
<node concept="3clFbF" id="5yr01fDEuP6" role="3cqZAp">
<node concept="37vLTI" id="5yr01fDEuP8" role="3clFbG">
<node concept="2OqwBi" id="5yr01fDEuW9" role="37vLTJ">
<node concept="Xjq3P" id="5yr01fDEuXs" role="2Oq$k0" />
<node concept="2OwXpG" id="5yr01fDEuWc" role="2OqNvi">
<ref role="2Oxat5" node="5yr01fDEuP2" resolve="macroTemplateRef" />
</node>
</node>
<node concept="37vLTw" id="5yr01fDEuPc" role="37vLTx">
<ref role="3cqZAo" node="5yr01fDEuFQ" resolve="macroTemplateRef" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="5yr01fDEuCz" role="jymVt" />
<node concept="3clFb_" id="1eKXYsjvsWg" role="jymVt">
<property role="TrG5h" value="withInputNode" />
<property role="1EzhhJ" value="true" />
@ -310,12 +315,27 @@
<node concept="3Tmbuc" id="60NbDCXHdjy" role="1B3o_S" />
<node concept="3clFbS" id="1eKXYsjvsWl" role="3clF47" />
</node>
<node concept="2tJIrI" id="5yr01fDEv10" role="jymVt" />
<node concept="3clFb_" id="5yr01fDEv3T" role="jymVt">
<property role="TrG5h" value="getTemplateRef" />
<node concept="3uibUv" id="5yr01fDEvaQ" role="3clF45">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="3Tmbuc" id="5yr01fDEv9d" role="1B3o_S" />
<node concept="3clFbS" id="5yr01fDEv3X" role="3clF47">
<node concept="3clFbF" id="5yr01fDEvuy" role="3cqZAp">
<node concept="37vLTw" id="5yr01fDEvux" role="3clFbG">
<ref role="3cqZAo" node="5yr01fDEuP2" resolve="macroTemplateRef" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4MEOIDG7xoH" role="jymVt" />
<node concept="3Tm1VV" id="1hX44vNlvEW" role="1B3o_S" />
<node concept="16euLQ" id="1hX44vNlw2n" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<node concept="3uibUv" id="1eKXYsjvytI" role="3ztrMU">
<ref role="3uigEE" node="1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" node="1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
<node concept="3uibUv" id="1hX44vNnjSd" role="EKbjA">
@ -324,141 +344,22 @@
<ref role="16sUi3" node="1hX44vNlw2n" resolve="Cfg" />
</node>
</node>
<node concept="312cEg" id="5yr01fDEuP2" role="jymVt">
<property role="TrG5h" value="macroTemplateRef" />
<node concept="3Tm6S6" id="5yr01fDEuP3" role="1B3o_S" />
<node concept="3uibUv" id="5yr01fDEuP5" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
</node>
<node concept="3HP615" id="1hX44vNnjJ$">
<property role="TrG5h" value="MacroTemplate" />
<node concept="2tJIrI" id="1hX44vNnkEr" role="jymVt" />
<node concept="3HP615" id="1eKXYsjvsOy" role="jymVt">
<property role="2bfB8j" value="true" />
<property role="TrG5h" value="Config" />
<property role="TrG5h" value="Token" />
<node concept="3Tm1VV" id="1eKXYsjvsOz" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="4MEOIDEhyKf" role="jymVt" />
<node concept="312cEu" id="4MEOIDEhyPY" role="jymVt">
<property role="TrG5h" value="ID" />
<node concept="2tJIrI" id="4MEOIDEhz0j" role="jymVt" />
<node concept="2YIFZL" id="4MEOIDEhz4d" role="jymVt">
<property role="TrG5h" value="forReference" />
<node concept="37vLTG" id="4MEOIDEhznZ" role="3clF46">
<property role="TrG5h" value="ref" />
<node concept="3uibUv" id="4MEOIDEipRS" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="3uibUv" id="4MEOIDEhzcj" role="3clF45">
<ref role="3uigEE" node="4MEOIDEhyPY" resolve="MacroTemplate.ID" />
</node>
<node concept="3Tm1VV" id="4MEOIDEhz4g" role="1B3o_S" />
<node concept="3clFbS" id="4MEOIDEhz4h" role="3clF47">
<node concept="3clFbF" id="4MEOIDEhACe" role="3cqZAp">
<node concept="2ShNRf" id="4MEOIDEhACa" role="3clFbG">
<node concept="1pGfFk" id="4MEOIDEhARU" role="2ShVmc">
<ref role="37wK5l" node="4MEOIDEh_LW" resolve="MacroTemplate.ID" />
<node concept="2OqwBi" id="4MEOIDEhAWq" role="37wK5m">
<node concept="37vLTw" id="4MEOIDEhAYV" role="2Oq$k0">
<ref role="3cqZAo" node="4MEOIDEhznZ" resolve="ref" />
</node>
<node concept="liA8E" id="4MEOIDEhAWs" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNodeReference.getNodeId()" resolve="getNodeId" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4MEOIDEh$RD" role="jymVt" />
<node concept="2YIFZL" id="4MEOIDEip_0" role="jymVt">
<property role="TrG5h" value="forNode" />
<node concept="37vLTG" id="4MEOIDEip_1" role="3clF46">
<property role="TrG5h" value="node" />
<node concept="3Tqbb2" id="4MEOIDEip_2" role="1tU5fm" />
</node>
<node concept="3uibUv" id="4MEOIDEip_3" role="3clF45">
<ref role="3uigEE" node="4MEOIDEhyPY" resolve="MacroTemplate.ID" />
</node>
<node concept="3Tm1VV" id="4MEOIDEip_4" role="1B3o_S" />
<node concept="3clFbS" id="4MEOIDEip_5" role="3clF47">
<node concept="3clFbF" id="4MEOIDEip_6" role="3cqZAp">
<node concept="2ShNRf" id="4MEOIDEip_7" role="3clFbG">
<node concept="1pGfFk" id="4MEOIDEip_8" role="2ShVmc">
<ref role="37wK5l" node="4MEOIDEh_LW" resolve="MacroTemplate.ID" />
<node concept="2OqwBi" id="4MEOIDEip_9" role="37wK5m">
<node concept="2JrnkZ" id="4MEOIDEip_b" role="2Oq$k0">
<node concept="37vLTw" id="4MEOIDEip_c" role="2JrQYb">
<ref role="3cqZAo" node="4MEOIDEip_1" resolve="node" />
</node>
</node>
<node concept="liA8E" id="4MEOIDEip_e" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getNodeId()" resolve="getNodeId" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4MEOIDEip$Z" role="jymVt" />
<node concept="3clFb_" id="4MEOIDEi5VO" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="toString" />
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<node concept="3Tm1VV" id="4MEOIDEi5VP" role="1B3o_S" />
<node concept="17QB3L" id="5hSMZ_lGZu6" role="3clF45" />
<node concept="3clFbS" id="4MEOIDEi5VS" role="3clF47">
<node concept="3clFbF" id="4MEOIDEi6jx" role="3cqZAp">
<node concept="2OqwBi" id="4MEOIDEi6qK" role="3clFbG">
<node concept="37vLTw" id="4MEOIDEi6jw" role="2Oq$k0">
<ref role="3cqZAo" node="4MEOIDEh_rV" resolve="nodeId" />
</node>
<node concept="liA8E" id="4MEOIDEi6Bi" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~Object.toString()" resolve="toString" />
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="4MEOIDEi5VT" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="4MEOIDEi65J" role="jymVt" />
<node concept="3clFbW" id="4MEOIDEh_LW" role="jymVt">
<node concept="37vLTG" id="4MEOIDEh_Rv" role="3clF46">
<property role="TrG5h" value="nodeId" />
<node concept="3uibUv" id="4MEOIDEh_Tz" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeId" resolve="SNodeId" />
</node>
</node>
<node concept="3cqZAl" id="4MEOIDEh_LY" role="3clF45" />
<node concept="3Tm6S6" id="4MEOIDEh_Rg" role="1B3o_S" />
<node concept="3clFbS" id="4MEOIDEh_M0" role="3clF47">
<node concept="3clFbF" id="4MEOIDEhA70" role="3cqZAp">
<node concept="37vLTI" id="4MEOIDEhAvZ" role="3clFbG">
<node concept="37vLTw" id="4MEOIDEhA$B" role="37vLTx">
<ref role="3cqZAo" node="4MEOIDEh_Rv" resolve="nodeId" />
</node>
<node concept="2OqwBi" id="4MEOIDEhAba" role="37vLTJ">
<node concept="Xjq3P" id="4MEOIDEhA6Z" role="2Oq$k0" />
<node concept="2OwXpG" id="4MEOIDEhAlD" role="2OqNvi">
<ref role="2Oxat5" node="4MEOIDEh_rV" resolve="nodeId" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4MEOIDEh_GM" role="jymVt" />
<node concept="312cEg" id="4MEOIDEh_rV" role="jymVt">
<property role="TrG5h" value="nodeId" />
<node concept="3Tm6S6" id="4MEOIDEh_rW" role="1B3o_S" />
<node concept="3uibUv" id="4MEOIDEh_AW" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeId" resolve="SNodeId" />
</node>
</node>
<node concept="2tJIrI" id="4MEOIDEhA0P" role="jymVt" />
<node concept="3Tm1VV" id="4MEOIDEhyPZ" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="1eKXYsjvsN9" role="jymVt" />
<node concept="3clFb_" id="1eKXYsjvsWn" role="jymVt">
<property role="TrG5h" value="withArgs" />
@ -471,7 +372,7 @@
</node>
</node>
<node concept="16syzq" id="1eKXYsjvtmV" role="3clF45">
<ref role="16sUi3" node="1eKXYsjvsL$" resolve="Cfg" />
<ref role="16sUi3" node="1eKXYsjvsL$" resolve="T" />
</node>
<node concept="3Tm1VV" id="1eKXYsjvsWs" role="1B3o_S" />
<node concept="3clFbS" id="1eKXYsjvsWt" role="3clF47" />
@ -543,7 +444,7 @@
<node concept="37vLTG" id="1eKXYsjvsWJ" role="3clF46">
<property role="TrG5h" value="config" />
<node concept="16syzq" id="1eKXYsjvtUf" role="1tU5fm">
<ref role="16sUi3" node="1eKXYsjvsL$" resolve="Cfg" />
<ref role="16sUi3" node="1eKXYsjvsL$" resolve="T" />
</node>
</node>
<node concept="37vLTG" id="1eKXYsjvsWL" role="3clF46">
@ -565,9 +466,9 @@
<node concept="2tJIrI" id="Ya9Z$kGXv_" role="jymVt" />
<node concept="3Tm1VV" id="1hX44vNnjJ_" role="1B3o_S" />
<node concept="16euLQ" id="1eKXYsjvsL$" role="16eVyc">
<property role="TrG5h" value="Cfg" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="1eKXYsjvsTm" role="3ztrMU">
<ref role="3uigEE" node="1eKXYsjvsOy" resolve="MacroTemplate.Config" />
<ref role="3uigEE" node="1eKXYsjvsOy" resolve="MacroTemplate.Token" />
</node>
</node>
</node>

View File

@ -2235,9 +2235,9 @@
</node>
</node>
<node concept="37vLTG" id="4MEOIDFgZnJ" role="3clF46">
<property role="TrG5h" value="typeTplId" />
<node concept="3uibUv" id="4MEOIDFgZnK" role="1tU5fm">
<ref role="3uigEE" to="psr6:4MEOIDEhyPY" resolve="MacroTemplate.ID" />
<property role="TrG5h" value="macroTemplateRef" />
<node concept="3uibUv" id="5yr01fDuRRf" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="37vLTG" id="4MEOIDFgV3f" role="3clF46">
@ -2691,9 +2691,25 @@
<node concept="312cEu" id="7eGEHDlc$ap">
<property role="TrG5h" value="RuleBuilder" />
<node concept="2tJIrI" id="6lpwCiZjgvw" role="jymVt" />
<node concept="Wx3nA" id="5yr01fDteq2" role="jymVt">
<property role="TrG5h" value="EMPTY" />
<node concept="3Tm1VV" id="5yr01fDt$cP" role="1B3o_S" />
<node concept="3uibUv" id="5yr01fDtjwJ" role="1tU5fm">
<ref role="3uigEE" node="7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
<node concept="2ShNRf" id="5yr01fDtkZh" role="33vP2m">
<node concept="1pGfFk" id="5yr01fDtmgl" role="2ShVmc">
<ref role="37wK5l" node="6lpwCiZjdph" resolve="RuleBuilder" />
<node concept="Xl_RD" id="5yr01fDtmiV" role="37wK5m">
<property role="Xl_RC" value="empty" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="5yr01fDt70k" role="jymVt" />
<node concept="3clFbW" id="6lpwCiZjdph" role="jymVt">
<node concept="3cqZAl" id="6lpwCiZjdpi" role="3clF45" />
<node concept="3Tm1VV" id="6lpwCiZjdpj" role="1B3o_S" />
<node concept="3Tm6S6" id="5yr01fDQXux" role="1B3o_S" />
<node concept="3clFbS" id="6lpwCiZjdpk" role="3clF47">
<node concept="1VxSAg" id="7nPD14Oesbn" role="3cqZAp">
<ref role="37wK5l" node="7nPD14OeqYJ" resolve="RuleBuilder" />
@ -2715,7 +2731,7 @@
<node concept="2tJIrI" id="3KXGt7WvW6X" role="jymVt" />
<node concept="3clFbW" id="7nPD14OeqYJ" role="jymVt">
<node concept="37vLTG" id="6xVZN2uA02z" role="3clF46">
<property role="TrG5h" value="tmpRuleTag" />
<property role="TrG5h" value="baseTag" />
<node concept="17QB3L" id="6xVZN2uA0cE" role="1tU5fm" />
</node>
<node concept="37vLTG" id="7nPD14OeqYK" role="3clF46">
@ -2740,7 +2756,7 @@
<node concept="3clFbF" id="6xVZN2uAqIF" role="3cqZAp">
<node concept="37vLTI" id="6xVZN2uArcw" role="3clFbG">
<node concept="37vLTw" id="6xVZN2uArjF" role="37vLTx">
<ref role="3cqZAo" node="6xVZN2uA02z" resolve="tmpRuleTag" />
<ref role="3cqZAo" node="6xVZN2uA02z" resolve="baseTag" />
</node>
<node concept="2OqwBi" id="6xVZN2uAqPp" role="37vLTJ">
<node concept="Xjq3P" id="6xVZN2uAqID" role="2Oq$k0" />