Enable use of input node in macro body. Allow specifying a subset of macro parameters in macro call.

This commit is contained in:
Fedor Isakov 2018-11-20 21:38:36 +01:00
parent bfcf89e3df
commit 9c4dad3e91
2 changed files with 312 additions and 80 deletions

View File

@ -301,7 +301,9 @@
<concept id="400642802549924137" name="jetbrains.mps.baseLanguage.jdk7.structure.StringSwitchStatement" flags="nn" index="2ignYC" />
</language>
<language id="b401a680-8325-4110-8fd3-84331ff25bef" name="jetbrains.mps.lang.generator">
<concept id="1510949579266781519" name="jetbrains.mps.lang.generator.structure.TemplateCallMacro" flags="ln" index="5jKBG" />
<concept id="1510949579266781519" name="jetbrains.mps.lang.generator.structure.TemplateCallMacro" flags="ln" index="5jKBG">
<child id="1510949579266801461" name="sourceNodeQuery" index="5jGum" />
</concept>
<concept id="1114706874351" name="jetbrains.mps.lang.generator.structure.CopySrcNodeMacro" flags="ln" index="29HgVG">
<child id="1168024447342" name="sourceNodeQuery" index="3NFExx" />
</concept>
@ -701,6 +703,7 @@
<child id="1225711182005" name="list" index="1y566C" />
<child id="1225711191269" name="index" index="1y58nS" />
</concept>
<concept id="1225727723840" name="jetbrains.mps.baseLanguage.collections.structure.FindFirstOperation" flags="nn" index="1z4cxt" />
<concept id="1202120902084" name="jetbrains.mps.baseLanguage.collections.structure.WhereOperation" flags="nn" index="3zZkjj" />
<concept id="1202128969694" name="jetbrains.mps.baseLanguage.collections.structure.SelectOperation" flags="nn" index="3$u5V9" />
<concept id="1176501494711" name="jetbrains.mps.baseLanguage.collections.structure.IsNotEmptyOperation" flags="nn" index="3GX2aA" />
@ -4574,6 +4577,11 @@
<ref role="2rZz_L" to="tpee:fz3uBXI" resolve="VariableDeclaration" />
<ref role="2rTdP9" to="wq2x:1pPth$m5Bbz" resolve="MacroDeclaration" />
</node>
<node concept="2rT7sh" id="6EY0p2x1Uxb" role="2rTMjI">
<property role="TrG5h" value="macro_inputNode_field" />
<ref role="2rTdP9" to="wq2x:1pPth$m5Bbz" resolve="MacroDeclaration" />
<ref role="2rZz_L" to="tpee:fz12cDC" resolve="FieldDeclaration" />
</node>
<node concept="2rT7sh" id="4JJCDIm$O$I" role="2rTMjI">
<property role="TrG5h" value="macro_template_constructor" />
<ref role="2rTdP9" to="wq2x:1pPth$m5Bbz" resolve="MacroDeclaration" />
@ -4782,38 +4790,61 @@
</node>
<node concept="3aamgX" id="6DOfTm$$E65" role="3acgRq">
<ref role="30HIoZ" to="wq2x:6DOfTm$$CHj" resolve="MacroInputReference" />
<node concept="1Koe21" id="6DOfTm$$I_M" role="1lVwrX">
<node concept="3clFb_" id="6DOfTm$$I_N" role="1Koe22">
<property role="TrG5h" value="context" />
<node concept="37vLTG" id="6DOfTm$$I_O" role="3clF46">
<property role="TrG5h" value="inputNode" />
<node concept="3Tqbb2" id="6DOfTm$$I_P" role="1tU5fm" />
<node concept="14YyZ8" id="6EY0p2x1XUi" role="1lVwrX">
<node concept="14ZrTv" id="6EY0p2x1XUm" role="14ZwWg">
<node concept="30G5F_" id="6EY0p2x1XUn" role="150hEN">
<node concept="3clFbS" id="6EY0p2x1XUo" role="2VODD2">
<node concept="3clFbF" id="6EY0p2x1XUC" role="3cqZAp">
<node concept="2OqwBi" id="6EY0p2x204T" role="3clFbG">
<node concept="2OqwBi" id="6EY0p2x1Ztt" role="2Oq$k0">
<node concept="30H73N" id="6EY0p2x1XUB" role="2Oq$k0" />
<node concept="2Xjw5R" id="6EY0p2x1ZLA" role="2OqNvi">
<node concept="1xMEDy" id="6EY0p2x1ZLC" role="1xVPHs">
<node concept="chp4Y" id="6EY0p2x1ZLQ" role="ri$Ld">
<ref role="cht4Q" to="wq2x:7IysFeA0yb0" resolve="MacroParameterDeclaration" />
</node>
</node>
</node>
</node>
<node concept="3x8VRR" id="6EY0p2x20zZ" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="3Tm6S6" id="6DOfTm$$I_Q" role="1B3o_S" />
<node concept="3uibUv" id="6DOfTm$$I_R" role="3clF45">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
<node concept="3clFbS" id="6DOfTm$$I_S" role="3clF47">
<node concept="3clFbF" id="6DOfTm$$I_T" role="3cqZAp">
<node concept="37vLTw" id="6DOfTm$$I_U" role="3clFbG">
<ref role="3cqZAo" node="6DOfTm$$I_O" resolve="inputNode" />
<node concept="raruj" id="6DOfTm$$I_V" role="lGtFl" />
<node concept="1ZhdrF" id="6DOfTm$$I_W" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068498886296/1068581517664" />
<property role="2qtEX8" value="variableDeclaration" />
<node concept="3$xsQk" id="6DOfTm$$I_X" role="3$ytzL">
<node concept="3clFbS" id="6DOfTm$$I_Y" role="2VODD2">
<node concept="3clFbF" id="6DOfTm$$I_Z" role="3cqZAp">
<node concept="2OqwBi" id="6DOfTm$$IA0" role="3clFbG">
<node concept="1iwH7S" id="6DOfTm$$IA1" role="2Oq$k0" />
<node concept="1iwH70" id="6DOfTm$$IA2" role="2OqNvi">
<ref role="1iwH77" node="7IysFeAiAcO" resolve="macro_inputNode_variable" />
<node concept="2OqwBi" id="6DOfTm$$IA3" role="1iwH7V">
<node concept="30H73N" id="6DOfTm$$IA4" role="2Oq$k0" />
<node concept="2Xjw5R" id="6DOfTm$$IA5" role="2OqNvi">
<node concept="1xMEDy" id="6DOfTm$$IA6" role="1xVPHs">
<node concept="chp4Y" id="6DOfTm$$IA7" role="ri$Ld">
<ref role="cht4Q" to="wq2x:1pPth$m5Bbz" resolve="MacroDeclaration" />
<node concept="1Koe21" id="6DOfTm$$I_M" role="150oIE">
<node concept="3clFb_" id="6DOfTm$$I_N" role="1Koe22">
<property role="TrG5h" value="context" />
<node concept="37vLTG" id="6DOfTm$$I_O" role="3clF46">
<property role="TrG5h" value="inputNode" />
<node concept="3Tqbb2" id="6DOfTm$$I_P" role="1tU5fm" />
</node>
<node concept="3Tm6S6" id="6DOfTm$$I_Q" role="1B3o_S" />
<node concept="3uibUv" id="6DOfTm$$I_R" role="3clF45">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
<node concept="3clFbS" id="6DOfTm$$I_S" role="3clF47">
<node concept="3clFbF" id="6DOfTm$$I_T" role="3cqZAp">
<node concept="37vLTw" id="6DOfTm$$I_U" role="3clFbG">
<ref role="3cqZAo" node="6DOfTm$$I_O" resolve="inputNode" />
<node concept="raruj" id="6DOfTm$$I_V" role="lGtFl" />
<node concept="1ZhdrF" id="6DOfTm$$I_W" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068498886296/1068581517664" />
<property role="2qtEX8" value="variableDeclaration" />
<node concept="3$xsQk" id="6DOfTm$$I_X" role="3$ytzL">
<node concept="3clFbS" id="6DOfTm$$I_Y" role="2VODD2">
<node concept="3clFbF" id="6DOfTm$$I_Z" role="3cqZAp">
<node concept="2OqwBi" id="6DOfTm$$IA0" role="3clFbG">
<node concept="1iwH7S" id="6DOfTm$$IA1" role="2Oq$k0" />
<node concept="1iwH70" id="6DOfTm$$IA2" role="2OqNvi">
<ref role="1iwH77" node="7IysFeAiAcO" resolve="macro_inputNode_variable" />
<node concept="2OqwBi" id="6DOfTm$$IA3" role="1iwH7V">
<node concept="30H73N" id="6DOfTm$$IA4" role="2Oq$k0" />
<node concept="2Xjw5R" id="6DOfTm$$IA5" role="2OqNvi">
<node concept="1xMEDy" id="6DOfTm$$IA6" role="1xVPHs">
<node concept="chp4Y" id="6DOfTm$$IA7" role="ri$Ld">
<ref role="cht4Q" to="wq2x:1pPth$m5Bbz" resolve="MacroDeclaration" />
</node>
</node>
</node>
</node>
</node>
@ -4828,6 +4859,58 @@
</node>
</node>
</node>
<node concept="1Koe21" id="6EY0p2x20$x" role="14YRTM">
<node concept="312cEu" id="6EY0p2x20IG" role="1Koe22">
<property role="TrG5h" value="Context" />
<node concept="3clFb_" id="6EY0p2x20$y" role="jymVt">
<property role="TrG5h" value="context" />
<node concept="3Tm6S6" id="6EY0p2x20$_" role="1B3o_S" />
<node concept="3uibUv" id="6EY0p2x20$A" role="3clF45">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
<node concept="3clFbS" id="6EY0p2x20$B" role="3clF47">
<node concept="3clFbF" id="6EY0p2x20LD" role="3cqZAp">
<node concept="37vLTw" id="6EY0p2x20LB" role="3clFbG">
<ref role="3cqZAo" node="6EY0p2x20JX" resolve="inputNode" />
<node concept="raruj" id="6EY0p2x20LW" role="lGtFl" />
<node concept="1ZhdrF" id="6EY0p2x20LY" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068498886296/1068581517664" />
<property role="2qtEX8" value="variableDeclaration" />
<node concept="3$xsQk" id="6EY0p2x20LZ" role="3$ytzL">
<node concept="3clFbS" id="6EY0p2x20M0" role="2VODD2">
<node concept="3clFbF" id="6EY0p2x22r$" role="3cqZAp">
<node concept="2OqwBi" id="6EY0p2x22r_" role="3clFbG">
<node concept="1iwH7S" id="6EY0p2x22rA" role="2Oq$k0" />
<node concept="1iwH70" id="6EY0p2x22rB" role="2OqNvi">
<ref role="1iwH77" node="6EY0p2x1Uxb" resolve="macro_inputNode_field" />
<node concept="2OqwBi" id="6EY0p2x22rC" role="1iwH7V">
<node concept="30H73N" id="6EY0p2x22rD" role="2Oq$k0" />
<node concept="2Xjw5R" id="6EY0p2x22rE" role="2OqNvi">
<node concept="1xMEDy" id="6EY0p2x22rF" role="1xVPHs">
<node concept="chp4Y" id="6EY0p2x22rG" role="ri$Ld">
<ref role="cht4Q" to="wq2x:1pPth$m5Bbz" resolve="MacroDeclaration" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="312cEg" id="6EY0p2x20JX" role="jymVt">
<property role="TrG5h" value="inputNode" />
<node concept="3Tm6S6" id="6EY0p2x20JY" role="1B3o_S" />
<node concept="3Tqbb2" id="6EY0p2x20KB" role="1tU5fm" />
</node>
<node concept="3Tm6S6" id="6EY0p2x20IK" role="1B3o_S" />
</node>
</node>
</node>
</node>
<node concept="3aamgX" id="7IysFeAI2sm" role="3acgRq">
@ -9593,6 +9676,9 @@
<node concept="2ShNRf" id="4MEOIDGHbyX" role="3clFbG">
<node concept="1pGfFk" id="4MEOIDGHc5A" role="2ShVmc">
<ref role="37wK5l" node="1GNw78$kUFK" resolve="__MacroTable._Template.MacroConfig" />
<node concept="37vLTw" id="6EY0p2x1U_O" role="37wK5m">
<ref role="3cqZAo" node="4MEOIDGHboL" resolve="inputNode" />
</node>
<node concept="2OqwBi" id="4MEOIDGHc9G" role="37wK5m">
<node concept="2ShNRf" id="4MEOIDGHc9H" role="2Oq$k0">
<node concept="YeOm9" id="4MEOIDGHc9I" role="2ShVmc">
@ -9720,6 +9806,19 @@
<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">
<node concept="2OqwBi" id="6EY0p2x1W5Y" role="37vLTJ">
<node concept="Xjq3P" id="6EY0p2x1W7T" role="2Oq$k0" />
<node concept="2OwXpG" id="6EY0p2x1W61" role="2OqNvi">
<ref role="2Oxat5" node="6EY0p2x1UB0" resolve="input" />
</node>
</node>
<node concept="37vLTw" id="6EY0p2x1UBa" role="37vLTx">
<ref role="3cqZAo" node="6EY0p2x1Uw4" resolve="input" />
</node>
</node>
</node>
<node concept="3clFbJ" id="1GNw78$lynN" role="3cqZAp">
<node concept="3clFbS" id="1GNw78$lynO" role="3clFbx">
<node concept="3clFbF" id="1GNw78$lynP" role="3cqZAp">
@ -9815,6 +9914,10 @@
</node>
</node>
</node>
<node concept="37vLTG" id="6EY0p2x1Uw4" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="6EY0p2x1UwW" role="1tU5fm" />
</node>
<node concept="37vLTG" id="1GNw78$l3fp" role="3clF46">
<property role="TrG5h" value="args" />
<node concept="8X2XB" id="1GNw78$l3N7" role="1tU5fm">
@ -10091,7 +10194,14 @@
<ref role="v9R2y" node="452KZTbxEFE" resolve="contextName_field_declaration" />
</node>
</node>
<node concept="2tJIrI" id="4MEOIDGDRuv" role="jymVt" />
<node concept="312cEg" id="6EY0p2x1UB0" role="jymVt">
<property role="TrG5h" value="input" />
<node concept="3Tm6S6" id="6EY0p2x1UB1" role="1B3o_S" />
<node concept="3Tqbb2" id="6EY0p2x1UB3" role="1tU5fm" />
<node concept="2ZBi8u" id="6EY0p2x1XTP" role="lGtFl">
<ref role="2rW$FS" node="6EY0p2x1Uxb" resolve="macro_inputNode_field" />
</node>
</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" />
@ -10157,6 +10267,7 @@
<node concept="2ShNRf" id="4KRwoelAVUw" role="3clFbG">
<node concept="1pGfFk" id="4KRwoelAVUx" role="2ShVmc">
<ref role="37wK5l" node="1GNw78$kUFK" resolve="__MacroTable._Template.MacroConfig" />
<node concept="10Nm6u" id="6EY0p2x1Wqz" role="37wK5m" />
<node concept="37vLTw" id="4KRwoelAWIE" role="37wK5m">
<ref role="3cqZAo" node="4KRwoelAK4h" resolve="args" />
</node>
@ -11398,42 +11509,17 @@
</node>
</node>
</node>
<node concept="10Nm6u" id="7kTeLbPzWAC" role="37wK5m">
<node concept="2b32R4" id="7kTeLbPzWAD" role="lGtFl">
<node concept="3JmXsc" id="7kTeLbPzWAE" role="2P8S$">
<node concept="3clFbS" id="7kTeLbPzWAF" role="2VODD2">
<node concept="3clFbF" id="7kTeLbPzWAG" role="3cqZAp">
<node concept="2OqwBi" id="7kTeLbPzWAH" role="3clFbG">
<node concept="2OqwBi" id="7kTeLbPzWAI" role="2Oq$k0">
<node concept="2OqwBi" id="7kTeLbPzWAJ" role="2Oq$k0">
<node concept="30H73N" id="7kTeLbPzWAK" role="2Oq$k0" />
<node concept="3TrEf2" id="7kTeLbPzWAL" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5hSMZ_lrcKO" resolve="argument" />
</node>
</node>
<node concept="3Tsc0h" id="7kTeLbPzWAM" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1L74NXEmFJV" resolve="binding" />
</node>
</node>
<node concept="3$u5V9" id="7kTeLbPzWAN" role="2OqNvi">
<node concept="1bVj0M" id="7kTeLbPzWAO" role="23t8la">
<node concept="3clFbS" id="7kTeLbPzWAP" role="1bW5cS">
<node concept="3clFbF" id="7kTeLbPzWAQ" role="3cqZAp">
<node concept="2OqwBi" id="7kTeLbPzWAR" role="3clFbG">
<node concept="37vLTw" id="7kTeLbPzWAS" role="2Oq$k0">
<ref role="3cqZAo" node="7kTeLbPzWAU" resolve="it" />
</node>
<node concept="3TrEf2" id="7kTeLbPzWAT" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:1L74NXGK1G1" resolve="code" />
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="7kTeLbPzWAU" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="7kTeLbPzWAV" role="1tU5fm" />
</node>
</node>
<node concept="10Nm6u" id="6EY0p2x2qNr" role="37wK5m">
<node concept="5jKBG" id="6EY0p2x2qOp" role="lGtFl">
<ref role="v9R2y" node="6EY0p2x2d9D" resolve="frag_callMacro_parameters" />
<node concept="30H73N" id="6EY0p2x2qOw" role="v9R3O" />
<node concept="3NFfHV" id="6EY0p2x2u0R" role="5jGum">
<node concept="3clFbS" id="6EY0p2x2u0S" role="2VODD2">
<node concept="3clFbF" id="6EY0p2x2ukU" role="3cqZAp">
<node concept="2OqwBi" id="6EY0p2x2uKT" role="3clFbG">
<node concept="30H73N" id="6EY0p2x2ukT" role="2Oq$k0" />
<node concept="3TrEf2" id="6EY0p2x2uXW" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5hSMZ_lpUoi" resolve="declaration" />
</node>
</node>
</node>
@ -15496,5 +15582,155 @@
</node>
</node>
</node>
<node concept="13MO4I" id="6EY0p2x2d9D">
<property role="3GE5qa" value="macro" />
<property role="TrG5h" value="frag_callMacro_parameters" />
<ref role="3gUMe" to="wq2x:1pPth$m5Bbz" resolve="MacroDeclaration" />
<node concept="1N15co" id="6EY0p2x2d9F" role="1s_3oS">
<property role="TrG5h" value="call" />
<node concept="3Tqbb2" id="6EY0p2x2d9J" role="1N15GL">
<ref role="ehGHo" to="wq2x:4MEOIDFfpSk" resolve="CallMacroPseudoConstraint" />
</node>
</node>
<node concept="3clFb_" id="6EY0p2x2d9M" role="13RCb5">
<property role="TrG5h" value="context" />
<node concept="10Q1$e" id="6EY0p2x2d9R" role="3clF45">
<node concept="3uibUv" id="6EY0p2x2d9O" role="10Q1$1">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
<node concept="3clFbS" id="6EY0p2x2da0" role="3clF47">
<node concept="3clFbF" id="6EY0p2x2d9Y" role="3cqZAp">
<node concept="2ShNRf" id="6EY0p2x2d9W" role="3clFbG">
<node concept="3g6Rrh" id="6EY0p2x2ecQ" role="2ShVmc">
<node concept="10Nm6u" id="6EY0p2x2ed3" role="3g7hyw">
<node concept="raruj" id="6EY0p2x2ed6" role="lGtFl" />
<node concept="1WS0z7" id="6EY0p2x2edg" role="lGtFl">
<node concept="3JmXsc" id="6EY0p2x2edh" role="3Jn$fo">
<node concept="3clFbS" id="6EY0p2x2edi" role="2VODD2">
<node concept="3clFbF" id="6EY0p2x2eiS" role="3cqZAp">
<node concept="2OqwBi" id="6EY0p2x2exM" role="3clFbG">
<node concept="30H73N" id="6EY0p2x2fwx" role="2Oq$k0" />
<node concept="3Tsc0h" id="6EY0p2x2eL8" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:7IysFeA0yca" resolve="parameter" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1W57fq" id="6EY0p2x2eLr" role="lGtFl">
<node concept="3IZrLx" id="6EY0p2x2eLs" role="3IZSJc">
<node concept="3clFbS" id="6EY0p2x2eLt" role="2VODD2">
<node concept="3clFbF" id="6EY0p2x2fE6" role="3cqZAp">
<node concept="2OqwBi" id="6EY0p2x2nq3" role="3clFbG">
<node concept="2OqwBi" id="6EY0p2x2j5P" role="2Oq$k0">
<node concept="2OqwBi" id="6EY0p2x2gGR" role="2Oq$k0">
<node concept="2OqwBi" id="6EY0p2x2fVZ" role="2Oq$k0">
<node concept="v3LJS" id="6EY0p2x2fE5" role="2Oq$k0">
<ref role="v3LJV" node="6EY0p2x2d9F" resolve="call" />
</node>
<node concept="3TrEf2" id="6EY0p2x2gb2" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5hSMZ_lrcKO" resolve="argument" />
</node>
</node>
<node concept="3Tsc0h" id="6EY0p2x2hiT" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1L74NXEmFJV" resolve="binding" />
</node>
</node>
<node concept="1z4cxt" id="6EY0p2x2lD6" role="2OqNvi">
<node concept="1bVj0M" id="6EY0p2x2lD8" role="23t8la">
<node concept="3clFbS" id="6EY0p2x2lD9" role="1bW5cS">
<node concept="3clFbF" id="6EY0p2x2lNa" role="3cqZAp">
<node concept="3clFbC" id="6EY0p2x2mYt" role="3clFbG">
<node concept="30H73N" id="6EY0p2x2mYO" role="3uHU7w" />
<node concept="2OqwBi" id="6EY0p2x2m5y" role="3uHU7B">
<node concept="37vLTw" id="6EY0p2x2lN9" role="2Oq$k0">
<ref role="3cqZAo" node="6EY0p2x2lDa" resolve="it" />
</node>
<node concept="3TrEf2" id="6EY0p2x2mjl" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:1L74NXEmG0t" resolve="parameter" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="6EY0p2x2lDa" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="6EY0p2x2lDb" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="3x8VRR" id="6EY0p2x2nVI" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="gft3U" id="6EY0p2x2nVO" role="UU_$l">
<node concept="10Nm6u" id="6EY0p2x2nVS" role="gfFT$" />
</node>
</node>
<node concept="29HgVG" id="6EY0p2x2nWw" role="lGtFl">
<node concept="3NFfHV" id="6EY0p2x2piG" role="3NFExx">
<node concept="3clFbS" id="6EY0p2x2piH" role="2VODD2">
<node concept="3clFbF" id="6EY0p2x2pwQ" role="3cqZAp">
<node concept="2OqwBi" id="6EY0p2x2pWQ" role="3clFbG">
<node concept="2OqwBi" id="6EY0p2x2pwS" role="2Oq$k0">
<node concept="2OqwBi" id="6EY0p2x2pwT" role="2Oq$k0">
<node concept="2OqwBi" id="6EY0p2x2pwU" role="2Oq$k0">
<node concept="v3LJS" id="6EY0p2x2pwV" role="2Oq$k0">
<ref role="v3LJV" node="6EY0p2x2d9F" resolve="call" />
</node>
<node concept="3TrEf2" id="6EY0p2x2pwW" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5hSMZ_lrcKO" resolve="argument" />
</node>
</node>
<node concept="3Tsc0h" id="6EY0p2x2pwX" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1L74NXEmFJV" resolve="binding" />
</node>
</node>
<node concept="1z4cxt" id="6EY0p2x2pwY" role="2OqNvi">
<node concept="1bVj0M" id="6EY0p2x2pwZ" role="23t8la">
<node concept="3clFbS" id="6EY0p2x2px0" role="1bW5cS">
<node concept="3clFbF" id="6EY0p2x2px1" role="3cqZAp">
<node concept="3clFbC" id="6EY0p2x2px2" role="3clFbG">
<node concept="30H73N" id="6EY0p2x2px3" role="3uHU7w" />
<node concept="2OqwBi" id="6EY0p2x2px4" role="3uHU7B">
<node concept="37vLTw" id="6EY0p2x2px5" role="2Oq$k0">
<ref role="3cqZAo" node="6EY0p2x2px7" resolve="it" />
</node>
<node concept="3TrEf2" id="6EY0p2x2px6" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:1L74NXEmG0t" resolve="parameter" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="6EY0p2x2px7" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="6EY0p2x2px8" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="3TrEf2" id="6EY0p2x2qil" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:1L74NXGK1G1" resolve="code" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3uibUv" id="6EY0p2x2diF" role="3g7fb8">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -186,7 +186,6 @@
<concept id="1182511038748" name="jetbrains.mps.lang.smodel.structure.Model_NodesIncludingImportedOperation" flags="nn" index="1j9C0f">
<reference id="1182511038750" name="concept" index="1j9C0d" />
</concept>
<concept id="1139613262185" name="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" flags="nn" index="1mfA1w" />
<concept id="1172008320231" name="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" flags="nn" index="3x8VRR" />
<concept id="1144100932627" name="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" flags="ng" index="1xIGOp" />
<concept id="1144101972840" name="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" flags="ng" index="1xMEDy">
@ -642,16 +641,16 @@
<node concept="3clFbS" id="6DOfTm$$ZXN" role="2VODD2">
<node concept="3cpWs8" id="6DOfTm$$ZXO" role="3cqZAp">
<node concept="3cpWsn" id="6DOfTm$$ZXP" role="3cpWs9">
<property role="TrG5h" value="mpd" />
<property role="TrG5h" value="md" />
<node concept="3Tqbb2" id="6DOfTm$$ZXQ" role="1tU5fm">
<ref role="ehGHo" to="wq2x:7IysFeA0yb0" resolve="MacroParameterDeclaration" />
<ref role="ehGHo" to="wq2x:1pPth$m5Bbz" resolve="MacroDeclaration" />
</node>
<node concept="2OqwBi" id="6DOfTm$$ZXR" role="33vP2m">
<node concept="2rP1CM" id="6DOfTm$$ZXS" role="2Oq$k0" />
<node concept="2Xjw5R" id="6DOfTm$$ZXT" role="2OqNvi">
<node concept="1xMEDy" id="6DOfTm$$ZXU" role="1xVPHs">
<node concept="chp4Y" id="6DOfTm$$ZXV" role="ri$Ld">
<ref role="cht4Q" to="wq2x:7IysFeA0yb0" resolve="MacroParameterDeclaration" />
<node concept="chp4Y" id="6EY0p2x1LUm" role="ri$Ld">
<ref role="cht4Q" to="wq2x:1pPth$m5Bbz" resolve="MacroDeclaration" />
</node>
</node>
</node>
@ -702,11 +701,8 @@
<node concept="2OqwBi" id="6DOfTm$_0_g" role="HW$Y0">
<node concept="1PxgMI" id="6DOfTm$$ZYg" role="2Oq$k0">
<property role="1BlNFB" value="true" />
<node concept="2OqwBi" id="6DOfTm$$ZYh" role="1m5AlR">
<node concept="37vLTw" id="6DOfTm$$ZYi" role="2Oq$k0">
<ref role="3cqZAo" node="6DOfTm$$ZXP" resolve="mpd" />
</node>
<node concept="1mfA1w" id="6DOfTm$$ZYj" role="2OqNvi" />
<node concept="37vLTw" id="6DOfTm$$ZYi" role="1m5AlR">
<ref role="3cqZAo" node="6DOfTm$$ZXP" resolve="md" />
</node>
<node concept="chp4Y" id="6DOfTm$$ZYk" role="3oSUPX">
<ref role="cht4Q" to="wq2x:1pPth$m5Bbz" resolve="MacroDeclaration" />
@ -726,7 +722,7 @@
</node>
<node concept="2OqwBi" id="6DOfTm$$ZYm" role="3clFbw">
<node concept="37vLTw" id="6DOfTm$$ZYn" role="2Oq$k0">
<ref role="3cqZAo" node="6DOfTm$$ZXP" resolve="mpd" />
<ref role="3cqZAo" node="6DOfTm$$ZXP" resolve="md" />
</node>
<node concept="3x8VRR" id="6DOfTm$$ZYo" role="2OqNvi" />
</node>