Introduce ExpandMacro template and prototype.

ExpandMacroTemplate to be used for dispatching macro invocations
based on the concept of the specified node.
Prototype is an abstraction to be implemented by
specific templates.
This commit is contained in:
Fedor Isakov 2020-03-23 11:18:51 +01:00
parent d5ea8e8006
commit ea670422f1
6 changed files with 1871 additions and 6 deletions

View File

@ -4956,8 +4956,13 @@
</node>
<node concept="2rT7sh" id="5itBwM61GZv" role="2rTMjI">
<property role="TrG5h" value="param_field" />
<ref role="2rTdP9" to="wq2x:5itBwM5i6X6" resolve="CallMacroParameterDeclaration" />
<ref role="2rZz_L" to="tpee:fz12cDC" resolve="FieldDeclaration" />
<ref role="2rTdP9" to="tpee:4H$HgYMZ7sw" resolve="IVariableDeclaration" />
</node>
<node concept="2rT7sh" id="5itBwM6Miwn" role="2rTMjI">
<property role="TrG5h" value="expand_token" />
<ref role="2rZz_L" to="tpee:fz12cDA" resolve="ClassConcept" />
<ref role="2rTdP9" to="wq2x:5itBwM65AQ4" resolve="ExpandMacroTemplate" />
</node>
<node concept="3lhOvk" id="2N2MQGCMWNw" role="3lj3bC">
<ref role="30HIoZ" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
@ -5385,6 +5390,59 @@
</node>
</node>
</node>
<node concept="3aamgX" id="5itBwM6Z77s" role="3acgRq">
<ref role="30HIoZ" to="wq2x:5itBwM6_4x3" resolve="ExpandMacroParameterReference" />
<node concept="1Koe21" id="5itBwM6ZbCV" role="1lVwrX">
<node concept="312cEu" id="5itBwM6ZbCW" role="1Koe22">
<property role="TrG5h" value="Context" />
<node concept="312cEg" id="5itBwM6ZbCX" role="jymVt">
<property role="TrG5h" value="field" />
<node concept="3Tm6S6" id="5itBwM6ZbCY" role="1B3o_S" />
<node concept="3uibUv" id="5itBwM6ZbCZ" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
<node concept="3clFb_" id="5itBwM6ZbD0" role="jymVt">
<property role="TrG5h" value="context" />
<node concept="3uibUv" id="5itBwM6ZbD1" role="3clF45">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
<node concept="3Tm6S6" id="5itBwM6ZbD2" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM6ZbD3" role="3clF47">
<node concept="3clFbF" id="5itBwM6ZbD4" role="3cqZAp">
<node concept="37vLTw" id="5itBwM6ZbD5" role="3clFbG">
<ref role="3cqZAo" node="5itBwM6ZbCX" resolve="field" />
<node concept="raruj" id="5itBwM6ZbD6" role="lGtFl" />
<node concept="1ZhdrF" id="5itBwM6ZbD7" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068498886296/1068581517664" />
<property role="2qtEX8" value="variableDeclaration" />
<node concept="3$xsQk" id="5itBwM6ZbD8" role="3$ytzL">
<node concept="3clFbS" id="5itBwM6ZbD9" role="2VODD2">
<node concept="3clFbF" id="5itBwM6ZbDa" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6ZbDb" role="3clFbG">
<node concept="1iwH7S" id="5itBwM6ZbDc" role="2Oq$k0" />
<node concept="1iwH70" id="5itBwM6ZbDd" role="2OqNvi">
<ref role="1iwH77" node="5itBwM61GZv" resolve="param_field" />
<node concept="2OqwBi" id="5itBwM6ZbDe" role="1iwH7V">
<node concept="30H73N" id="5itBwM6ZbDf" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM6ZgRR" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6_hXY" resolve="declaration" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm6S6" id="5itBwM6ZbDh" role="1B3o_S" />
</node>
</node>
</node>
<node concept="3aamgX" id="10IUAVUq92w" role="3acgRq">
<ref role="30HIoZ" to="wq2x:3TnYLtqfh$J" resolve="ContextParameterReference" />
<node concept="1Koe21" id="10IUAVUqcHp" role="1lVwrX">
@ -6608,6 +6666,11 @@
</node>
</node>
<node concept="2tJIrI" id="4MEOIDG8yS6" role="jymVt" />
<node concept="2tJIrI" id="5itBwM6R7Ll" role="jymVt">
<node concept="5jKBG" id="5itBwM6R9$A" role="lGtFl">
<ref role="v9R2y" node="5itBwM6OLaP" resolve="frag_MacroTable_ExpandMacroTemplate" />
</node>
</node>
<node concept="2tJIrI" id="1GNw78$IsA6" role="jymVt">
<node concept="5jKBG" id="1GKPrS22e71" role="lGtFl">
<ref role="v9R2y" node="1GNw78$HcGL" resolve="frag_MacroTable_MacroTemplate" />
@ -16954,8 +17017,8 @@
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
<node concept="3uibUv" id="5itBwM5TCDO" role="3clF45">
<ref role="3uigEE" node="36tQV5AxhJd" resolve="Token" />
<node concept="3uibUv" id="5itBwM721Ie" role="3clF45">
<ref role="3uigEE" node="5itBwM5JjhA" resolve="__MacroTable._Template.Token" />
</node>
<node concept="3Tm1VV" id="5itBwM5TBk2" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM5TBk3" role="3clF47">
@ -17040,8 +17103,8 @@
</node>
</node>
</node>
<node concept="3uibUv" id="5itBwM5VgXF" role="3clF45">
<ref role="3uigEE" node="36tQV5AxhJd" resolve="Token" />
<node concept="3uibUv" id="5itBwM723c5" role="3clF45">
<ref role="3uigEE" node="5itBwM5JjhA" resolve="__MacroTable._Template.Token" />
</node>
<node concept="3Tm1VV" id="5itBwM5Vf_q" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM5Vf_r" role="3clF47">
@ -17415,11 +17478,583 @@
</node>
</node>
</node>
<node concept="17Uvod" id="5itBwM6Jc6e" role="lGtFl">
<property role="2qtEX9" value="name" />
<property role="P4ACc" value="ceab5195-25ea-4f22-9b92-103b95ca8c0c/1169194658468/1169194664001" />
<node concept="3zFVjK" id="5itBwM6Jc6f" role="3zH0cK">
<node concept="3clFbS" id="5itBwM6Jc6g" role="2VODD2">
<node concept="3clFbF" id="5itBwM6JeAb" role="3cqZAp">
<node concept="3cpWs3" id="5itBwM6JeAc" role="3clFbG">
<node concept="3zGtF$" id="5itBwM6JeAd" role="3uHU7w" />
<node concept="2OqwBi" id="5itBwM6JeAe" role="3uHU7B">
<node concept="3TrcHB" id="5itBwM6JeAf" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
<node concept="30H73N" id="5itBwM6JeAg" role="2Oq$k0" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="5itBwM5Td0V" role="jymVt" />
<node concept="2tJIrI" id="5itBwM5Td2d" role="jymVt" />
<node concept="3Tm1VV" id="5itBwM5DJeg" role="1B3o_S" />
</node>
</node>
<node concept="13MO4I" id="5itBwM6OLaP">
<property role="3GE5qa" value="macro" />
<property role="TrG5h" value="frag_MacroTable_ExpandMacroTemplate" />
<ref role="3gUMe" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
<node concept="312cEu" id="5itBwM6OPxj" role="13RCb5">
<property role="TrG5h" value="__MacroTable" />
<node concept="2tJIrI" id="5itBwM6OSjX" role="jymVt" />
<node concept="312cEu" id="5itBwM6OT70" role="jymVt">
<property role="TrG5h" value="_Template" />
<node concept="2tJIrI" id="5itBwM6P6dn" role="jymVt" />
<node concept="312cEu" id="5itBwM6XBFY" role="jymVt">
<property role="TrG5h" value="Token" />
<node concept="2tJIrI" id="5itBwM6XBFZ" role="jymVt" />
<node concept="3clFbW" id="5itBwM6XBG0" role="jymVt">
<node concept="37vLTG" id="5itBwM6XBG1" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="5itBwM6XBG2" role="1tU5fm" />
</node>
<node concept="37vLTG" id="5itBwM6XBG3" role="3clF46">
<property role="TrG5h" value="session" />
<node concept="3uibUv" id="5itBwM6XBG4" role="1tU5fm">
<ref role="3uigEE" to="i348:18kNIl1vDPZ" resolve="TemplateApplicationSession" />
</node>
</node>
<node concept="3cqZAl" id="5itBwM6XBG5" role="3clF45" />
<node concept="3Tm1VV" id="5itBwM6XBG6" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM6XBG7" role="3clF47">
<node concept="3clFbF" id="5itBwM6XBG8" role="3cqZAp">
<node concept="37vLTI" id="5itBwM6XBG9" role="3clFbG">
<node concept="37vLTw" id="5itBwM6XBGa" role="37vLTx">
<ref role="3cqZAo" node="5itBwM6XBG1" resolve="input" />
</node>
<node concept="2OqwBi" id="5itBwM6XBGb" role="37vLTJ">
<node concept="Xjq3P" id="5itBwM6XBGc" role="2Oq$k0" />
<node concept="2OwXpG" id="5itBwM6XBGd" role="2OqNvi">
<ref role="2Oxat5" node="5itBwM6XBIn" resolve="input" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5itBwM6XBGe" role="3cqZAp">
<node concept="37vLTI" id="5itBwM6XBGf" role="3clFbG">
<node concept="37vLTw" id="5itBwM6XBGg" role="37vLTx">
<ref role="3cqZAo" node="5itBwM6XBG3" resolve="session" />
</node>
<node concept="2OqwBi" id="5itBwM6XBGh" role="37vLTJ">
<node concept="Xjq3P" id="5itBwM6XBGi" role="2Oq$k0" />
<node concept="2OwXpG" id="5itBwM6XBGj" role="2OqNvi">
<ref role="2Oxat5" node="5itBwM6XBHK" resolve="session" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="5itBwM6XBGk" role="jymVt" />
<node concept="3clFb_" id="5itBwM6XBGl" role="jymVt">
<property role="TrG5h" value="withParam" />
<node concept="37vLTG" id="5itBwM6XBGm" role="3clF46">
<property role="TrG5h" value="value" />
<node concept="8X2XB" id="5itBwM765bC" role="1tU5fm">
<node concept="3uibUv" id="5itBwM6XBGn" role="8Xvag">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
</node>
<node concept="3uibUv" id="5itBwM6XBGo" role="3clF45">
<ref role="3uigEE" node="5itBwM6XBFY" resolve="__MacroTable._Template.Token" />
</node>
<node concept="3Tm1VV" id="5itBwM6XBGp" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM6XBGq" role="3clF47">
<node concept="3clFbF" id="5itBwM6XBGr" role="3cqZAp">
<node concept="37vLTI" id="5itBwM6XBGs" role="3clFbG">
<node concept="1eOMI4" id="5itBwM6XBGt" role="37vLTx">
<node concept="10QFUN" id="5itBwM6XBGu" role="1eOMHV">
<node concept="AH0OO" id="5itBwM766Hw" role="10QFUP">
<node concept="3cmrfG" id="5itBwM7670L" role="AHEQo">
<property role="3cmrfH" value="0" />
<node concept="17Uvod" id="5itBwM769ze" role="lGtFl">
<property role="2qtEX9" value="value" />
<property role="P4ACc" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580320020/1068580320021" />
<node concept="3zFVjK" id="5itBwM769zf" role="3zH0cK">
<node concept="3clFbS" id="5itBwM769zg" role="2VODD2">
<node concept="3clFbF" id="5itBwM76fT0" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM76gaP" role="3clFbG">
<node concept="1iwH7S" id="5itBwM76fSZ" role="2Oq$k0" />
<node concept="1qCSth" id="5itBwM76gLZ" role="2OqNvi">
<property role="1qCSqd" value="idx" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="5itBwM6XBGv" role="AHHXb">
<ref role="3cqZAo" node="5itBwM6XBGm" resolve="value" />
</node>
</node>
<node concept="3uibUv" id="5itBwM6XBGw" role="10QFUM">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
<node concept="29HgVG" id="5itBwM6XBGx" role="lGtFl">
<node concept="3NFfHV" id="5itBwM6XBGy" role="3NFExx">
<node concept="3clFbS" id="5itBwM6XBGz" role="2VODD2">
<node concept="3clFbF" id="5itBwM6XBG$" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6XBG_" role="3clFbG">
<node concept="30H73N" id="5itBwM6XBGA" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM6XBGB" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6wB6D" resolve="type" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="5itBwM6XBGC" role="37vLTJ">
<node concept="Xjq3P" id="5itBwM6XBGD" role="2Oq$k0" />
<node concept="2OwXpG" id="5itBwM6XBGE" role="2OqNvi">
<ref role="2Oxat5" node="5itBwM6XBHO" resolve="param" />
<node concept="1ZhdrF" id="5itBwM6XBGF" role="lGtFl">
<property role="2qtEX8" value="fieldDeclaration" />
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1197029447546/1197029500499" />
<node concept="3$xsQk" id="5itBwM6XBGG" role="3$ytzL">
<node concept="3clFbS" id="5itBwM6XBGH" role="2VODD2">
<node concept="3clFbF" id="5itBwM6XBGI" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6XBGJ" role="3clFbG">
<node concept="1iwH7S" id="5itBwM6XBGK" role="2Oq$k0" />
<node concept="1iwH70" id="5itBwM6XBGL" role="2OqNvi">
<ref role="1iwH77" node="5itBwM61GZv" resolve="param_field" />
<node concept="30H73N" id="5itBwM6XBGM" role="1iwH7V" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1WS0z7" id="5itBwM6XBGN" role="lGtFl">
<property role="1qytDF" value="idx" />
<node concept="3JmXsc" id="5itBwM6XBGO" role="3Jn$fo">
<node concept="3clFbS" id="5itBwM6XBGP" role="2VODD2">
<node concept="3clFbF" id="5itBwM6XBGQ" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6XBGR" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6YigZ" role="2Oq$k0">
<node concept="30H73N" id="5itBwM6XBGS" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM6Yjp_" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6gb4P" resolve="prototype" />
</node>
</node>
<node concept="3Tsc0h" id="5itBwM6YkwL" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM6wU6s" resolve="parameter" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5itBwM6XBGU" role="3cqZAp">
<node concept="Xjq3P" id="5itBwM6XBGV" role="3clFbG" />
</node>
</node>
</node>
<node concept="2tJIrI" id="5itBwM6XBGW" role="jymVt" />
<node concept="3clFb_" id="5itBwM6XBGX" role="jymVt">
<property role="TrG5h" value="withLogical" />
<node concept="37vLTG" id="5itBwM6XBGY" role="3clF46">
<property role="TrG5h" value="logical" />
<node concept="8X2XB" id="5itBwM6XBGZ" role="1tU5fm">
<node concept="3uibUv" id="5itBwM6XBH0" role="8Xvag">
<ref role="3uigEE" to="bj13:~MetaLogical" resolve="MetaLogical" />
</node>
</node>
</node>
<node concept="3uibUv" id="5itBwM6XBH1" role="3clF45">
<ref role="3uigEE" node="5itBwM6XBFY" resolve="__MacroTable._Template.Token" />
</node>
<node concept="3Tm1VV" id="5itBwM6XBH2" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM6XBH3" role="3clF47">
<node concept="3clFbF" id="5itBwM6XBH4" role="3cqZAp">
<node concept="37vLTI" id="5itBwM6XBH5" role="3clFbG">
<node concept="AH0OO" id="5itBwM6XBH6" role="37vLTx">
<node concept="3cmrfG" id="5itBwM6XBH7" role="AHEQo">
<property role="3cmrfH" value="0" />
<node concept="17Uvod" id="5itBwM6XBH8" role="lGtFl">
<property role="2qtEX9" value="value" />
<property role="P4ACc" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580320020/1068580320021" />
<node concept="3zFVjK" id="5itBwM6XBH9" role="3zH0cK">
<node concept="3clFbS" id="5itBwM6XBHa" role="2VODD2">
<node concept="3clFbF" id="5itBwM6XBHb" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6XBHc" role="3clFbG">
<node concept="1iwH7S" id="5itBwM6XBHd" role="2Oq$k0" />
<node concept="1qCSth" id="5itBwM6XBHe" role="2OqNvi">
<property role="1qCSqd" value="idx" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="5itBwM6XBHf" role="AHHXb">
<ref role="3cqZAo" node="5itBwM6XBGY" resolve="logical" />
</node>
</node>
<node concept="2OqwBi" id="5itBwM6XBHg" role="37vLTJ">
<node concept="Xjq3P" id="5itBwM6XBHh" role="2Oq$k0" />
<node concept="2OwXpG" id="5itBwM6XBHi" role="2OqNvi">
<ref role="2Oxat5" node="5itBwM6XBIc" resolve="logical" />
<node concept="1ZhdrF" id="5itBwM6XBHj" role="lGtFl">
<property role="2qtEX8" value="fieldDeclaration" />
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1197029447546/1197029500499" />
<node concept="3$xsQk" id="5itBwM6XBHk" role="3$ytzL">
<node concept="3clFbS" id="5itBwM6XBHl" role="2VODD2">
<node concept="3clFbF" id="5itBwM6XBHm" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6XBHn" role="3clFbG">
<node concept="1iwH7S" id="5itBwM6XBHo" role="2Oq$k0" />
<node concept="1iwH70" id="5itBwM6XBHp" role="2OqNvi">
<ref role="1iwH77" node="452KZTbtpTP" resolve="logical_field" />
<node concept="30H73N" id="5itBwM6XBHq" role="1iwH7V" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1WS0z7" id="5itBwM6XBHr" role="lGtFl">
<property role="1qytDF" value="idx" />
<node concept="3JmXsc" id="5itBwM6XBHs" role="3Jn$fo">
<node concept="3clFbS" id="5itBwM6XBHt" role="2VODD2">
<node concept="3clFbF" id="5itBwM6XBHu" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6XBHv" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6XBHw" role="2Oq$k0">
<node concept="2OqwBi" id="5itBwM6Ymi0" role="2Oq$k0">
<node concept="30H73N" id="5itBwM6XBHx" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM6YnHQ" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6gb4P" resolve="prototype" />
</node>
</node>
<node concept="3Tsc0h" id="5itBwM6YoCa" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM6iJYb" resolve="logical" />
</node>
</node>
<node concept="3goQfb" id="5itBwM6XBHz" role="2OqNvi">
<node concept="1bVj0M" id="5itBwM6XBH$" role="23t8la">
<node concept="3clFbS" id="5itBwM6XBH_" role="1bW5cS">
<node concept="3clFbF" id="5itBwM6XBHA" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6XBHB" role="3clFbG">
<node concept="37vLTw" id="5itBwM6XBHC" role="2Oq$k0">
<ref role="3cqZAo" node="5itBwM6XBHE" resolve="it" />
</node>
<node concept="3Tsc0h" id="5itBwM6XBHD" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:2E5lcNn8k3O" resolve="declaration" />
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="5itBwM6XBHE" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="5itBwM6XBHF" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5itBwM6XBHG" role="3cqZAp">
<node concept="Xjq3P" id="5itBwM6XBHH" role="3clFbG" />
</node>
</node>
</node>
<node concept="2tJIrI" id="5itBwM6XBHI" role="jymVt" />
<node concept="3clFb_" id="5itBwM6VImB" role="jymVt">
<property role="TrG5h" value="apply" />
<node concept="3uibUv" id="5itBwM6VImZ" role="3clF45">
<ref role="3uigEE" to="i348:7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
<node concept="3Tm1VV" id="5itBwM6VIn0" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM6VIn1" role="3clF47">
<node concept="3cpWs8" id="5itBwM6VIn2" role="3cqZAp">
<node concept="3cpWsn" id="5itBwM6VIn3" role="3cpWs9">
<property role="TrG5h" value="_session" />
<node concept="3uibUv" id="5itBwM6VIn4" role="1tU5fm">
<ref role="3uigEE" to="i348:18kNIl1vDPZ" resolve="TemplateApplicationSession" />
</node>
<node concept="37vLTw" id="5itBwM6XZyo" role="33vP2m">
<ref role="3cqZAo" node="5itBwM6XBHK" resolve="session" />
</node>
<node concept="2ZBi8u" id="5itBwM6VIn6" role="lGtFl">
<ref role="2rW$FS" node="429xoypVg6q" resolve="apply_session_parameter" />
</node>
</node>
</node>
<node concept="3cpWs8" id="5itBwM6VIn7" role="3cqZAp">
<node concept="3cpWsn" id="5itBwM6VIn8" role="3cpWs9">
<property role="TrG5h" value="builder" />
<node concept="3uibUv" id="5itBwM6VIn9" role="1tU5fm">
<ref role="3uigEE" to="i348:7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
<node concept="2ShNRf" id="5itBwM6VIna" role="33vP2m">
<node concept="1pGfFk" id="5itBwM6VInb" role="2ShVmc">
<ref role="37wK5l" to="i348:5yr01fE1Jnt" resolve="RuleBuilder" />
<node concept="37vLTw" id="5itBwM6XZAl" role="37wK5m">
<ref role="3cqZAo" node="5itBwM6XBHK" resolve="session" />
</node>
<node concept="Xl_RD" id="5itBwM6VInd" role="37wK5m">
<property role="Xl_RC" value="" />
<node concept="17Uvod" id="5itBwM6VIne" role="lGtFl">
<property role="P4ACc" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1070475926800/1070475926801" />
<property role="2qtEX9" value="value" />
<node concept="3zFVjK" id="5itBwM6VInf" role="3zH0cK">
<node concept="3clFbS" id="5itBwM6VIng" role="2VODD2">
<node concept="3clFbF" id="5itBwM6VInh" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6VIni" role="3clFbG">
<node concept="30H73N" id="5itBwM6VInj" role="2Oq$k0" />
<node concept="2qgKlT" id="5itBwM6VInk" role="2OqNvi">
<ref role="37wK5l" to="tpcu:hEwIO9y" resolve="getFqName" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2ZBi8u" id="5itBwM6VInl" role="lGtFl">
<ref role="2rW$FS" node="4vbeH84GUyf" resolve="builder_variable" />
</node>
</node>
</node>
<node concept="3clFbH" id="5itBwM6VInm" role="3cqZAp">
<node concept="2b32R4" id="5itBwM6VInn" role="lGtFl">
<node concept="3JmXsc" id="5itBwM6VIno" role="2P8S$">
<node concept="3clFbS" id="5itBwM6VInp" role="2VODD2">
<node concept="3clFbF" id="5itBwM6VInq" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6VInr" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6VIns" role="2Oq$k0">
<node concept="30H73N" id="5itBwM6VInt" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM6VInu" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM67JAZ" resolve="code" />
</node>
</node>
<node concept="3Tsc0h" id="5itBwM6VInv" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5itBwM6VInw" role="3cqZAp">
<node concept="37vLTw" id="5itBwM6VInx" role="3clFbG">
<ref role="3cqZAo" node="5itBwM6VIn8" resolve="builder" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="5itBwM6XBHJ" role="jymVt" />
<node concept="312cEg" id="5itBwM6XBHK" role="jymVt">
<property role="TrG5h" value="session" />
<node concept="3Tmbuc" id="5itBwM6XBHL" role="1B3o_S" />
<node concept="3uibUv" id="5itBwM6XBHM" role="1tU5fm">
<ref role="3uigEE" to="i348:18kNIl1vDPZ" resolve="TemplateApplicationSession" />
</node>
</node>
<node concept="3Tm1VV" id="5itBwM6XBHN" role="1B3o_S" />
<node concept="312cEg" id="5itBwM6XBHO" role="jymVt">
<property role="TrG5h" value="param" />
<node concept="3Tmbuc" id="5itBwM6XBHP" role="1B3o_S" />
<node concept="3uibUv" id="5itBwM6XBHQ" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
<node concept="29HgVG" id="5itBwM6XBHR" role="lGtFl">
<node concept="3NFfHV" id="5itBwM6XBHS" role="3NFExx">
<node concept="3clFbS" id="5itBwM6XBHT" role="2VODD2">
<node concept="3clFbF" id="5itBwM6XBHU" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6XBHV" role="3clFbG">
<node concept="30H73N" id="5itBwM6XBHW" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM6XBHX" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6wB6D" resolve="type" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1WS0z7" id="5itBwM6XBHY" role="lGtFl">
<ref role="2rW$FS" node="5itBwM61GZv" resolve="param_field" />
<node concept="3JmXsc" id="5itBwM6XBHZ" role="3Jn$fo">
<node concept="3clFbS" id="5itBwM6XBI0" role="2VODD2">
<node concept="3clFbF" id="5itBwM6XBI1" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6XBI2" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6YqLV" role="2Oq$k0">
<node concept="30H73N" id="5itBwM6XBI3" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM6YrFV" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6gb4P" resolve="prototype" />
</node>
</node>
<node concept="3Tsc0h" id="5itBwM6XBI4" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM6wU6s" resolve="parameter" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="17Uvod" id="5itBwM6XBI5" role="lGtFl">
<property role="2qtEX9" value="name" />
<property role="P4ACc" value="ceab5195-25ea-4f22-9b92-103b95ca8c0c/1169194658468/1169194664001" />
<node concept="3zFVjK" id="5itBwM6XBI6" role="3zH0cK">
<node concept="3clFbS" id="5itBwM6XBI7" role="2VODD2">
<node concept="3clFbF" id="5itBwM6XBI8" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6XBI9" role="3clFbG">
<node concept="30H73N" id="5itBwM6XBIa" role="2Oq$k0" />
<node concept="3TrcHB" id="5itBwM6XBIb" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="10Nm6u" id="5itBwM73nin" role="33vP2m">
<node concept="1W57fq" id="5itBwM73qU7" role="lGtFl">
<node concept="3IZrLx" id="5itBwM73qU8" role="3IZSJc">
<node concept="3clFbS" id="5itBwM73qU9" role="2VODD2">
<node concept="3clFbF" id="5itBwM73rFG" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM73tAC" role="3clFbG">
<node concept="2OqwBi" id="5itBwM73sl2" role="2Oq$k0">
<node concept="30H73N" id="5itBwM73rFF" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM73sZJ" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6zLOl" resolve="init" />
</node>
</node>
<node concept="3x8VRR" id="5itBwM73uj3" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="gft3U" id="5itBwM73$fG" role="UU_$l">
<node concept="10Nm6u" id="5itBwM73_hz" role="gfFT$" />
</node>
</node>
<node concept="29HgVG" id="5itBwM73w9s" role="lGtFl">
<node concept="3NFfHV" id="5itBwM73wRd" role="3NFExx">
<node concept="3clFbS" id="5itBwM73wRe" role="2VODD2">
<node concept="3clFbF" id="5itBwM73xhf" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM73xQN" role="3clFbG">
<node concept="30H73N" id="5itBwM73xhe" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM73yab" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6zLOl" resolve="init" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="312cEg" id="5itBwM6XBIc" role="jymVt">
<property role="TrG5h" value="logical" />
<node concept="3Tmbuc" id="5itBwM6XBId" role="1B3o_S" />
<node concept="3uibUv" id="5itBwM6XBIe" role="1tU5fm">
<ref role="3uigEE" to="bj13:~MetaLogical" resolve="MetaLogical" />
</node>
<node concept="1WS0z7" id="5itBwM6XBIf" role="lGtFl">
<node concept="3JmXsc" id="5itBwM6XBIg" role="3Jn$fo">
<node concept="3clFbS" id="5itBwM6XBIh" role="2VODD2">
<node concept="3clFbF" id="5itBwM6XBIi" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6XBIj" role="3clFbG">
<node concept="30H73N" id="5itBwM6XBIk" role="2Oq$k0" />
<node concept="2qgKlT" id="5itBwM6XBIl" role="2OqNvi">
<ref role="37wK5l" to="ha02:6YKq674fNYS" resolve="availableLogicalVariable" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1sPUBX" id="5itBwM6XBIm" role="lGtFl">
<ref role="v9R2y" node="452KZTbxEFE" resolve="contextName_field_declaration" />
</node>
</node>
<node concept="312cEg" id="5itBwM6XBIn" role="jymVt">
<property role="TrG5h" value="input" />
<node concept="3Tmbuc" id="5itBwM6XBIo" role="1B3o_S" />
<node concept="3Tqbb2" id="5itBwM6XBIp" role="1tU5fm" />
</node>
<node concept="2ZBi8u" id="5itBwM6XBIq" role="lGtFl">
<ref role="2rW$FS" node="5itBwM6Miwn" resolve="expand_token" />
</node>
</node>
<node concept="2tJIrI" id="5itBwM6P5hY" role="jymVt" />
<node concept="2tJIrI" id="5itBwM6P5ky" role="jymVt" />
<node concept="3Tm1VV" id="5itBwM6OT71" role="1B3o_S" />
<node concept="raruj" id="5itBwM6OV88" role="lGtFl" />
<node concept="1WS0z7" id="5itBwM6OVWA" role="lGtFl">
<node concept="3JmXsc" id="5itBwM6OVWB" role="3Jn$fo">
<node concept="3clFbS" id="5itBwM6OVWC" role="2VODD2">
<node concept="3clFbF" id="5itBwM6OWpJ" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6P0s0" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6OWBE" role="2Oq$k0">
<node concept="30H73N" id="5itBwM6OWpI" role="2Oq$k0" />
<node concept="3Tsc0h" id="5itBwM6OXAs" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:1pPth$m5B4Y" resolve="macro" />
</node>
</node>
<node concept="v3k3i" id="5itBwM6P2Lk" role="2OqNvi">
<node concept="chp4Y" id="5itBwM6P3ZA" role="v3oSu">
<ref role="cht4Q" to="wq2x:5itBwM65AQ4" resolve="ExpandMacroTemplate" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="17Uvod" id="5itBwM70qnJ" role="lGtFl">
<property role="2qtEX9" value="name" />
<property role="P4ACc" value="ceab5195-25ea-4f22-9b92-103b95ca8c0c/1169194658468/1169194664001" />
<node concept="3zFVjK" id="5itBwM70qnK" role="3zH0cK">
<node concept="3clFbS" id="5itBwM70qnL" role="2VODD2">
<node concept="3clFbF" id="5itBwM70rXY" role="3cqZAp">
<node concept="3cpWs3" id="5itBwM70tN_" role="3clFbG">
<node concept="3zGtF$" id="5itBwM70tPR" role="3uHU7w" />
<node concept="2OqwBi" id="5itBwM70sfp" role="3uHU7B">
<node concept="30H73N" id="5itBwM70rXX" role="2Oq$k0" />
<node concept="3TrcHB" id="5itBwM70t0j" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="5itBwM6OPxk" role="1B3o_S" />
</node>
</node>
</model>

View File

@ -147,6 +147,10 @@
<child id="1803469493727536396" name="concept" index="hTh3Z" />
</concept>
<concept id="1179409122411" name="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" flags="nn" index="2qgKlT" />
<concept id="2396822768958367367" name="jetbrains.mps.lang.smodel.structure.AbstractTypeCastExpression" flags="nn" index="$5XWr">
<child id="6733348108486823193" name="leftExpression" index="1m5AlR" />
<child id="3906496115198199033" name="conceptArgument" index="3oSUPX" />
</concept>
<concept id="1143234257716" name="jetbrains.mps.lang.smodel.structure.Node_GetModelOperation" flags="nn" index="I4A8Y" />
<concept id="1145383075378" name="jetbrains.mps.lang.smodel.structure.SNodeListType" flags="in" index="2I9FWS">
<reference id="1145383142433" name="elementConcept" index="2I9WkF" />
@ -160,11 +164,15 @@
<concept id="1154546950173" name="jetbrains.mps.lang.smodel.structure.ConceptReference" flags="ng" index="3gn64h">
<reference id="1154546997487" name="concept" index="3gnhBz" />
</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">
<child id="1207343664468" name="conceptArgument" index="ri$Ld" />
</concept>
<concept id="1140137987495" name="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" flags="nn" index="1PxgMI">
<property id="1238684351431" name="asCast" index="1BlNFB" />
</concept>
<concept id="1138055754698" name="jetbrains.mps.lang.smodel.structure.SNodeType" flags="in" index="3Tqbb2">
<reference id="1138405853777" name="concept" index="ehGHo" />
</concept>
@ -1537,5 +1545,251 @@
</node>
</node>
</node>
<node concept="13h7C7" id="5itBwM6yEs0">
<property role="3GE5qa" value="macro.decl" />
<ref role="13h7C2" to="wq2x:5itBwM65AQ4" resolve="ExpandMacroTemplate" />
<node concept="13hLZK" id="5itBwM6yEs1" role="13h7CW">
<node concept="3clFbS" id="5itBwM6yEs2" role="2VODD2" />
</node>
<node concept="13i0hz" id="5itBwM6yGqJ" role="13h7CS">
<property role="TrG5h" value="availableLogicalVariable" />
<ref role="13i0hy" to="ha02:6YKq674fNYS" resolve="availableLogicalVariable" />
<node concept="3Tm1VV" id="5itBwM6yGqK" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM6yGqQ" role="3clF47">
<node concept="3clFbF" id="5itBwM6yJrk" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6yRt9" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6yNDi" role="2Oq$k0">
<node concept="2OqwBi" id="5itBwM6yKVw" role="2Oq$k0">
<node concept="2OqwBi" id="5itBwM6yK3P" role="2Oq$k0">
<node concept="13iPFW" id="5itBwM6yJrj" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM6yKJG" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6gb4P" resolve="prototype" />
</node>
</node>
<node concept="3Tsc0h" id="5itBwM6yL8x" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM6iJYb" resolve="logical" />
</node>
</node>
<node concept="3goQfb" id="5itBwM6yPfJ" role="2OqNvi">
<node concept="1bVj0M" id="5itBwM6yPfL" role="23t8la">
<node concept="3clFbS" id="5itBwM6yPfM" role="1bW5cS">
<node concept="3clFbF" id="5itBwM6yPJV" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6yQ03" role="3clFbG">
<node concept="37vLTw" id="5itBwM6yPJU" role="2Oq$k0">
<ref role="3cqZAo" node="5itBwM6yPfN" resolve="it" />
</node>
<node concept="3Tsc0h" id="5itBwM6yQBv" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:2E5lcNn8k3O" resolve="declaration" />
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="5itBwM6yPfN" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="5itBwM6yPfO" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="3QWeyG" id="5itBwM6ySwl" role="2OqNvi">
<node concept="2OqwBi" id="5itBwM6yVQz" role="576Qk">
<node concept="2OqwBi" id="5itBwM6yTl0" role="2Oq$k0">
<node concept="13iPFW" id="5itBwM6ySJn" role="2Oq$k0" />
<node concept="3Tsc0h" id="5itBwM6yTS2" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM688rM" resolve="variable" />
</node>
</node>
<node concept="3goQfb" id="5itBwM6yYnv" role="2OqNvi">
<node concept="1bVj0M" id="5itBwM6yYnx" role="23t8la">
<node concept="3clFbS" id="5itBwM6yYny" role="1bW5cS">
<node concept="3clFbF" id="5itBwM6yY_Z" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6yYX1" role="3clFbG">
<node concept="37vLTw" id="5itBwM6yY_Y" role="2Oq$k0">
<ref role="3cqZAo" node="5itBwM6yYnz" resolve="it" />
</node>
<node concept="3Tsc0h" id="5itBwM6yZH0" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:2E5lcNn8k3O" resolve="declaration" />
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="5itBwM6yYnz" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="5itBwM6yYn$" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="A3Dl8" id="5itBwM6yGqR" role="3clF45">
<node concept="3Tqbb2" id="5itBwM6yGqS" role="A3Ik2">
<ref role="ehGHo" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
</node>
</node>
</node>
</node>
<node concept="13h7C7" id="5itBwM6_y5u">
<property role="3GE5qa" value="macro.decl" />
<ref role="13h7C2" to="wq2x:5itBwM6_4x3" resolve="ExpandMacroParameterReference" />
<node concept="13hLZK" id="5itBwM6_y5v" role="13h7CW">
<node concept="3clFbS" id="5itBwM6_y5w" role="2VODD2" />
</node>
<node concept="13i0hz" id="5itBwM6_zET" role="13h7CS">
<property role="TrG5h" value="getVariable" />
<ref role="13i0hy" to="tpek:SORzhOpB6t" resolve="getVariable" />
<node concept="3Tm1VV" id="5itBwM6_zEU" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM6_zEX" role="3clF47">
<node concept="3clFbF" id="5itBwM6_BgO" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6_Bri" role="3clFbG">
<node concept="13iPFW" id="5itBwM6_BgN" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM6_BYk" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6_hXY" resolve="declaration" />
</node>
</node>
</node>
</node>
<node concept="3Tqbb2" id="5itBwM6_zEY" role="3clF45">
<ref role="ehGHo" to="tpee:4H$HgYMZ7sw" resolve="IVariableDeclaration" />
</node>
</node>
</node>
<node concept="13h7C7" id="5itBwM6JptA">
<property role="3GE5qa" value="macro.decl" />
<ref role="13h7C2" to="wq2x:5itBwM6cWQh" resolve="ExpandMacroPrototype" />
<node concept="13hLZK" id="5itBwM6JptB" role="13h7CW">
<node concept="3clFbS" id="5itBwM6JptC" role="2VODD2" />
</node>
<node concept="13i0hz" id="5itBwM6Jqgp" role="13h7CS">
<property role="TrG5h" value="availableLogicalVariable" />
<ref role="13i0hy" to="ha02:6YKq674fNYS" resolve="availableLogicalVariable" />
<node concept="3Tm1VV" id="5itBwM6Jqgq" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM6Jqgw" role="3clF47">
<node concept="3clFbF" id="5itBwM6JqIp" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6JtG5" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6Jrih" role="2Oq$k0">
<node concept="13iPFW" id="5itBwM6JqIo" role="2Oq$k0" />
<node concept="3Tsc0h" id="5itBwM6JrOE" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM6iJYb" resolve="logical" />
</node>
</node>
<node concept="3goQfb" id="5itBwM6Jw5a" role="2OqNvi">
<node concept="1bVj0M" id="5itBwM6Jw5c" role="23t8la">
<node concept="3clFbS" id="5itBwM6Jw5d" role="1bW5cS">
<node concept="3clFbF" id="5itBwM6JwbU" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6Jws0" role="3clFbG">
<node concept="37vLTw" id="5itBwM6JwbT" role="2Oq$k0">
<ref role="3cqZAo" node="5itBwM6Jw5e" resolve="it" />
</node>
<node concept="3Tsc0h" id="5itBwM6JxsG" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:2E5lcNn8k3O" resolve="declaration" />
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="5itBwM6Jw5e" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="5itBwM6Jw5f" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="A3Dl8" id="5itBwM6Jqgx" role="3clF45">
<node concept="3Tqbb2" id="5itBwM6Jqgy" role="A3Ik2">
<ref role="ehGHo" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
</node>
</node>
</node>
<node concept="13i0hz" id="5itBwM6SJm6" role="13h7CS">
<property role="TrG5h" value="runtimeClassName" />
<node concept="3Tm1VV" id="5itBwM6SJm7" role="1B3o_S" />
<node concept="17QB3L" id="5itBwM6SJRc" role="3clF45" />
<node concept="3clFbS" id="5itBwM6SJm9" role="3clF47">
<node concept="3clFbF" id="5itBwM6SRYn" role="3cqZAp">
<node concept="3cpWs3" id="5itBwM6TmzD" role="3clFbG">
<node concept="Xl_RD" id="5itBwM6TmzG" role="3uHU7w">
<property role="Xl_RC" value="_Prototype" />
</node>
<node concept="2OqwBi" id="5itBwM6TlqY" role="3uHU7B">
<node concept="13iPFW" id="5itBwM6Tlc0" role="2Oq$k0" />
<node concept="3TrcHB" id="5itBwM6Tm5I" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="13i0hz" id="5itBwM6TAWc" role="13h7CS">
<property role="TrG5h" value="runtimeClassLongName" />
<node concept="3Tm1VV" id="5itBwM6TAWd" role="1B3o_S" />
<node concept="17QB3L" id="5itBwM6TAWe" role="3clF45" />
<node concept="3clFbS" id="5itBwM6TAWf" role="3clF47">
<node concept="3clFbF" id="5itBwM6TAWg" role="3cqZAp">
<node concept="3cpWs3" id="5itBwM6TAWj" role="3clFbG">
<node concept="3cpWs3" id="5itBwM6TAWk" role="3uHU7B">
<node concept="2OqwBi" id="5itBwM6TAWl" role="3uHU7B">
<node concept="1PxgMI" id="5itBwM6TAWm" role="2Oq$k0">
<property role="1BlNFB" value="true" />
<node concept="chp4Y" id="5itBwM6TAWn" role="3oSUPX">
<ref role="cht4Q" to="wq2x:1pPth$m5B4X" resolve="MacroTable" />
</node>
<node concept="2OqwBi" id="5itBwM6TAWo" role="1m5AlR">
<node concept="13iPFW" id="5itBwM6TAWp" role="2Oq$k0" />
<node concept="1mfA1w" id="5itBwM6TAWq" role="2OqNvi" />
</node>
</node>
<node concept="2qgKlT" id="5itBwM6TAWr" role="2OqNvi">
<ref role="37wK5l" node="4MEOIDG8goY" resolve="runtimeClassName" />
</node>
</node>
<node concept="Xl_RD" id="5itBwM6TAWs" role="3uHU7w">
<property role="Xl_RC" value="." />
</node>
</node>
<node concept="2OqwBi" id="5itBwM6TJq5" role="3uHU7w">
<node concept="13iPFW" id="5itBwM6TAWu" role="2Oq$k0" />
<node concept="2qgKlT" id="5itBwM6TKrG" role="2OqNvi">
<ref role="37wK5l" node="5itBwM6SJm6" resolve="runtimeClassName" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="13i0hz" id="5itBwM6U7Q2" role="13h7CS">
<property role="TrG5h" value="runtimeClassFqName" />
<node concept="3Tm1VV" id="5itBwM6U7Q3" role="1B3o_S" />
<node concept="17QB3L" id="5itBwM6U7Q4" role="3clF45" />
<node concept="3clFbS" id="5itBwM6U7Q5" role="3clF47">
<node concept="3clFbF" id="5itBwM6U7Q6" role="3cqZAp">
<node concept="3cpWs3" id="5itBwM6U7Q7" role="3clFbG">
<node concept="3cpWs3" id="5itBwM6U7Q8" role="3uHU7B">
<node concept="2OqwBi" id="5itBwM6U7Q9" role="3uHU7B">
<node concept="2OqwBi" id="5itBwM6U7Qa" role="2Oq$k0">
<node concept="13iPFW" id="5itBwM6U7Qb" role="2Oq$k0" />
<node concept="I4A8Y" id="5itBwM6U7Qc" role="2OqNvi" />
</node>
<node concept="LkI2h" id="5itBwM6U7Qd" role="2OqNvi" />
</node>
<node concept="Xl_RD" id="5itBwM6U7Qe" role="3uHU7w">
<property role="Xl_RC" value="!" />
</node>
</node>
<node concept="2OqwBi" id="5itBwM6U7Qf" role="3uHU7w">
<node concept="13iPFW" id="5itBwM6U7Qg" role="2Oq$k0" />
<node concept="2qgKlT" id="5itBwM6UapF" role="2OqNvi">
<ref role="37wK5l" node="5itBwM6TAWc" resolve="runtimeClassLongName" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -177,6 +177,9 @@
<child id="3906496115198199033" name="conceptArgument" index="3oSUPX" />
</concept>
<concept id="1143234257716" name="jetbrains.mps.lang.smodel.structure.Node_GetModelOperation" flags="nn" index="I4A8Y" />
<concept id="1145383075378" name="jetbrains.mps.lang.smodel.structure.SNodeListType" flags="in" index="2I9FWS">
<reference id="1145383142433" name="elementConcept" index="2I9WkF" />
</concept>
<concept id="1171407110247" name="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" flags="nn" index="2Xjw5R" />
<concept id="2644386474300074836" name="jetbrains.mps.lang.smodel.structure.ConceptIdRefExpression" flags="nn" index="35c_gC">
<reference id="2644386474300074837" name="conceptDeclaration" index="35c_gD" />
@ -1526,5 +1529,90 @@
</node>
</node>
</node>
<node concept="1M2fIO" id="5itBwM6Bi6q">
<property role="3GE5qa" value="macro.decl" />
<ref role="1M2myG" to="wq2x:5itBwM6_4x3" resolve="ExpandMacroParameterReference" />
<node concept="1N5Pfh" id="5itBwM6BiT3" role="1Mr941">
<ref role="1N5Vy1" to="wq2x:5itBwM6_hXY" resolve="declaration" />
<node concept="3dgokm" id="5itBwM6BjFH" role="1N6uqs">
<node concept="3clFbS" id="5itBwM6BjFI" role="2VODD2">
<node concept="3cpWs8" id="5itBwM6BnN1" role="3cqZAp">
<node concept="3cpWsn" id="5itBwM6BnN2" role="3cpWs9">
<property role="TrG5h" value="parameter" />
<node concept="2I9FWS" id="5itBwM6BmQZ" role="1tU5fm">
<ref role="2I9WkF" to="wq2x:5itBwM6wvc4" resolve="ExpandMacroParameterDeclaration" />
</node>
<node concept="2OqwBi" id="5itBwM6BnN3" role="33vP2m">
<node concept="2OqwBi" id="5itBwM6BnN4" role="2Oq$k0">
<node concept="2OqwBi" id="5itBwM6BnN5" role="2Oq$k0">
<node concept="2rP1CM" id="5itBwM6CvJv" role="2Oq$k0" />
<node concept="2Xjw5R" id="5itBwM6BnN7" role="2OqNvi">
<node concept="1xMEDy" id="5itBwM6BnN8" role="1xVPHs">
<node concept="chp4Y" id="5itBwM6BnN9" role="ri$Ld">
<ref role="cht4Q" to="wq2x:5itBwM65AQ4" resolve="ExpandMacroTemplate" />
</node>
</node>
<node concept="1xIGOp" id="5itBwM6BnNa" role="1xVPHs" />
</node>
</node>
<node concept="3TrEf2" id="5itBwM6BnNb" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6gb4P" resolve="prototype" />
</node>
</node>
<node concept="3Tsc0h" id="5itBwM6BnNc" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM6wU6s" resolve="parameter" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5itBwM6BoLz" role="3cqZAp">
<node concept="2ShNRf" id="5itBwM6BoLv" role="3clFbG">
<node concept="YeOm9" id="5itBwM6BqXP" role="2ShVmc">
<node concept="1Y3b0j" id="5itBwM6BqXS" role="YeSDq">
<property role="2bfB8j" value="true" />
<ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
<ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
<node concept="3Tm1VV" id="5itBwM6BqXT" role="1B3o_S" />
<node concept="37vLTw" id="5itBwM6Bqko" role="37wK5m">
<ref role="3cqZAo" node="5itBwM6BnN2" resolve="parameter" />
</node>
<node concept="3clFb_" id="5itBwM6Brqv" role="jymVt">
<property role="TrG5h" value="getName" />
<node concept="17QB3L" id="5itBwM6Brqw" role="3clF45" />
<node concept="3Tm1VV" id="5itBwM6Brqx" role="1B3o_S" />
<node concept="37vLTG" id="5itBwM6Brqz" role="3clF46">
<property role="TrG5h" value="child" />
<node concept="3Tqbb2" id="5itBwM6Brq$" role="1tU5fm" />
</node>
<node concept="3clFbS" id="5itBwM6BrqA" role="3clF47">
<node concept="3clFbF" id="5itBwM6BsFX" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6Bw7l" role="3clFbG">
<node concept="1PxgMI" id="5itBwM6BuJ_" role="2Oq$k0">
<property role="1BlNFB" value="true" />
<node concept="chp4Y" id="5itBwM6BvYm" role="3oSUPX">
<ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
<node concept="37vLTw" id="5itBwM6BsFW" role="1m5AlR">
<ref role="3cqZAo" node="5itBwM6Brqz" resolve="child" />
</node>
</node>
<node concept="3TrcHB" id="5itBwM6BwEd" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="5itBwM6BrqB" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -1705,7 +1705,7 @@
<node concept="l2Vlx" id="1pPth$m5Qg$" role="2iSdaV" />
<node concept="3F2HdR" id="1pPth$m5Bbp" role="3EZMnx">
<property role="2czwfO" value=" " />
<ref role="1NtTu8" to="wq2x:1pPth$m5B4Y" resolve="macro" />
<ref role="1NtTu8" to="wq2x:5itBwM6ukmz" resolve="prototype" />
<node concept="l2Vlx" id="1pPth$m5Bbr" role="2czzBx" />
<node concept="pj6Ft" id="1pPth$m5Bbw" role="3F10Kt">
<property role="VOm3f" value="true" />
@ -1719,6 +1719,43 @@
</node>
</node>
</node>
<node concept="3F0ifn" id="5itBwM6vf5H" role="3EZMnx">
<property role="3F0ifm" value=" " />
<node concept="VPxyj" id="5itBwM6vf5I" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="VPM3Z" id="5itBwM6vf5J" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="pVoyu" id="5itBwM6vf5K" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="ljvvj" id="5itBwM6vf5L" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
</node>
<node concept="3EZMnI" id="5itBwM6un7P" role="3EZMnx">
<node concept="VPM3Z" id="5itBwM6un7Q" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="l2Vlx" id="5itBwM6un7R" role="2iSdaV" />
<node concept="3F2HdR" id="5itBwM6un7S" role="3EZMnx">
<property role="2czwfO" value=" " />
<ref role="1NtTu8" to="wq2x:1pPth$m5B4Y" resolve="macro" />
<node concept="l2Vlx" id="5itBwM6un7T" role="2czzBx" />
<node concept="pj6Ft" id="5itBwM6un7U" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="tppnM" id="5itBwM6un7V" role="sWeuL">
<node concept="pVoyu" id="5itBwM6un7W" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="ljvvj" id="5itBwM6un7X" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
</node>
</node>
<node concept="l2Vlx" id="1pPth$m5B5h" role="2iSdaV" />
</node>
@ -6301,5 +6338,594 @@
</node>
</node>
</node>
<node concept="24kQdi" id="5itBwM66PmJ">
<property role="3GE5qa" value="macro.decl" />
<ref role="1XX52x" to="wq2x:5itBwM66Jqx" resolve="ExpandMacroInputDeclaration" />
<node concept="3EZMnI" id="5itBwM66PK5" role="2wV5jI">
<node concept="3F0A7n" id="5itBwM66QyO" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node>
<node concept="l2Vlx" id="5itBwM66PK8" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="5itBwM6707b">
<property role="3GE5qa" value="macro.decl" />
<ref role="1XX52x" to="wq2x:5itBwM66cNU" resolve="ExpandMacroInputSpecification" />
<node concept="3EZMnI" id="5itBwM6707d" role="2wV5jI">
<node concept="1iCGBv" id="5itBwM6707f" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:5itBwM66ULm" resolve="applicableConcept" />
<node concept="1sVBvm" id="5itBwM6707g" role="1sWHZn">
<node concept="3F0A7n" id="5itBwM6707h" role="2wV5jI">
<property role="1Intyy" value="true" />
<ref role="1k5W1q" node="7ksQUDZqcLh" resolve="ConceptName" />
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
<node concept="3F1sOY" id="5itBwM6707i" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:5itBwM66hzH" resolve="input" />
</node>
<node concept="l2Vlx" id="5itBwM6707j" role="2iSdaV" />
<node concept="1QoScp" id="5itBwM6707m" role="3EZMnx">
<property role="1QpmdY" value="true" />
<node concept="3F0ifn" id="5itBwM6707n" role="1QoS34">
<property role="3F0ifm" value="exactly" />
<ref role="1k5W1q" to="qgy9:4aJUH_hW38r" resolve="RuleKeyword" />
<ref role="1ERwB7" node="5itBwM67a4R" resolve="ExpandMacroInput_DELETE" />
<node concept="OXEIz" id="5itBwM6707o" role="P5bDN">
<node concept="1oHujT" id="5itBwM6707p" role="OY2wv">
<property role="1oHujS" value="including all subconcepts" />
<node concept="1oIgkG" id="5itBwM6707q" role="1oHujR">
<node concept="3clFbS" id="5itBwM6707r" role="2VODD2">
<node concept="3clFbF" id="5itBwM6707s" role="3cqZAp">
<node concept="37vLTI" id="5itBwM6707t" role="3clFbG">
<node concept="3clFbT" id="5itBwM6707u" role="37vLTx">
<property role="3clFbU" value="false" />
</node>
<node concept="2OqwBi" id="5itBwM6707v" role="37vLTJ">
<node concept="3GMtW1" id="5itBwM6707w" role="2Oq$k0" />
<node concept="3TrcHB" id="5itBwM6707x" role="2OqNvi">
<ref role="3TsBF5" to="wq2x:5itBwM66fYr" resolve="exactMatch" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="pkWqt" id="5itBwM6707y" role="3e4ffs">
<node concept="3clFbS" id="5itBwM6707z" role="2VODD2">
<node concept="3clFbF" id="5itBwM6707$" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6707_" role="3clFbG">
<node concept="pncrf" id="5itBwM6707A" role="2Oq$k0" />
<node concept="3TrcHB" id="5itBwM6707B" role="2OqNvi">
<ref role="3TsBF5" to="wq2x:5itBwM66fYr" resolve="exactMatch" />
</node>
</node>
</node>
</node>
</node>
<node concept="3F0ifn" id="5itBwM6707C" role="1QoVPY">
<property role="3F0ifm" value="" />
<property role="ilYzB" value="&lt;with subconcepts&gt;" />
<ref role="1ERwB7" node="12yN8DyB6zn" resolve="RuleInput_ActionMap" />
<node concept="OXEIz" id="5itBwM6707D" role="P5bDN">
<node concept="1oHujT" id="5itBwM6707E" role="OY2wv">
<property role="1oHujS" value="exactly" />
<node concept="1oIgkG" id="5itBwM6707F" role="1oHujR">
<node concept="3clFbS" id="5itBwM6707G" role="2VODD2">
<node concept="3clFbF" id="5itBwM6707H" role="3cqZAp">
<node concept="37vLTI" id="5itBwM6707I" role="3clFbG">
<node concept="3clFbT" id="5itBwM6707J" role="37vLTx">
<property role="3clFbU" value="true" />
</node>
<node concept="2OqwBi" id="5itBwM6707K" role="37vLTJ">
<node concept="3GMtW1" id="5itBwM6707L" role="2Oq$k0" />
<node concept="3TrcHB" id="5itBwM6707M" role="2OqNvi">
<ref role="3TsBF5" to="wq2x:5itBwM66fYr" resolve="exactMatch" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1h_SRR" id="5itBwM67a4R">
<property role="3GE5qa" value="macro.decl" />
<property role="TrG5h" value="ExpandMacroInput_DELETE" />
<ref role="1h_SK9" to="wq2x:5itBwM66cNU" resolve="ExpandMacroInputSpecification" />
<node concept="1hA7zw" id="5itBwM67c3s" role="1h_SK8">
<property role="1hAc7j" value="g_hAxAO/delete_action_id" />
<node concept="1hAIg9" id="5itBwM67c3t" role="1hA7z_">
<node concept="3clFbS" id="5itBwM67c3u" role="2VODD2">
<node concept="3clFbF" id="5itBwM67cQn" role="3cqZAp">
<node concept="37vLTI" id="5itBwM67edM" role="3clFbG">
<node concept="3clFbT" id="5itBwM67eFp" role="37vLTx" />
<node concept="2OqwBi" id="5itBwM67cXz" role="37vLTJ">
<node concept="0IXxy" id="5itBwM67cQm" role="2Oq$k0" />
<node concept="3TrcHB" id="5itBwM67dw4" role="2OqNvi">
<ref role="3TsBF5" to="wq2x:5itBwM66fYr" resolve="exactMatch" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="jK8Ss" id="5itBwM67fuA" role="jK8aL">
<node concept="3clFbS" id="5itBwM67fuB" role="2VODD2">
<node concept="3clFbF" id="5itBwM67fYh" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM67gaX" role="3clFbG">
<node concept="0IXxy" id="5itBwM67fYg" role="2Oq$k0" />
<node concept="3TrcHB" id="5itBwM67gHx" role="2OqNvi">
<ref role="3TsBF5" to="wq2x:5itBwM66fYr" resolve="exactMatch" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="24kQdi" id="5itBwM67$dn">
<property role="3GE5qa" value="macro.decl" />
<ref role="1XX52x" to="wq2x:5itBwM65AQ4" resolve="ExpandMacroTemplate" />
<node concept="3EZMnI" id="5itBwM67$AH" role="2wV5jI">
<node concept="3F0A7n" id="5itBwM67$AJ" role="3EZMnx">
<ref role="1k5W1q" to="tpen:hshUnm6" resolve="StaticMethod" />
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node>
<node concept="1iCGBv" id="5itBwM6grn2" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:5itBwM6gb4P" resolve="prototype" />
<node concept="1sVBvm" id="5itBwM6grn4" role="1sWHZn">
<node concept="3F0A7n" id="5itBwM6grMo" role="2wV5jI">
<property role="1Intyy" value="true" />
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
<ref role="1k5W1q" node="7ksQUDZpd8b" resolve="ConstraintKeyword" />
<node concept="Vb9p2" id="5itBwM6nGXD" role="3F10Kt">
<property role="Vbekb" value="g1_tSyq/BOLD_ITALIC" />
</node>
</node>
</node>
</node>
<node concept="3F1sOY" id="5itBwM67$AL" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:5itBwM67n1U" resolve="inputSpec" />
</node>
<node concept="3F0ifn" id="5itBwM67ZpX" role="3EZMnx">
<property role="3F0ifm" value="produce" />
<ref role="1k5W1q" to="qgy9:4aJUH_hW38r" resolve="RuleKeyword" />
<node concept="lj46D" id="5itBwM67ZpY" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="pVoyu" id="5itBwM67ZpZ" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="A1WHu" id="5itBwM67Zq0" role="3vIgyS">
<ref role="A1WHt" node="5itBwM68iwp" resolve="ExpandMacroTemplate_AddVariable" />
</node>
</node>
<node concept="3EZMnI" id="5itBwM67Zq1" role="3EZMnx">
<node concept="3F0ifn" id="5itBwM67Zq2" role="3EZMnx">
<property role="3F0ifm" value="&lt;" />
<node concept="11LMrY" id="5itBwM67Zq3" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="VPM3Z" id="5itBwM67Zq4" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="3F2HdR" id="5itBwM67Zq5" role="3EZMnx">
<property role="2czwfO" value="," />
<ref role="1NtTu8" to="wq2x:5itBwM688rM" resolve="variable" />
<node concept="l2Vlx" id="5itBwM67Zq6" role="2czzBx" />
<node concept="3F0ifn" id="5itBwM67Zq7" role="2czzBI">
<property role="ilYzB" value="&lt;no logical&gt;" />
</node>
</node>
<node concept="3F0ifn" id="5itBwM67Zq8" role="3EZMnx">
<property role="3F0ifm" value="&gt;" />
<node concept="11L4FC" id="5itBwM67Zq9" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="l2Vlx" id="5itBwM67Zqa" role="2iSdaV" />
<node concept="pkWqt" id="5itBwM67Zqb" role="pqm2j">
<node concept="3clFbS" id="5itBwM67Zqc" role="2VODD2">
<node concept="3clFbF" id="5itBwM67Zqd" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM67Zqe" role="3clFbG">
<node concept="2OqwBi" id="5itBwM67Zqf" role="2Oq$k0">
<node concept="pncrf" id="5itBwM67Zqg" role="2Oq$k0" />
<node concept="3Tsc0h" id="5itBwM68c9i" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM688rM" resolve="variable" />
</node>
</node>
<node concept="3GX2aA" id="5itBwM67Zqi" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="3EZMnI" id="5itBwM67Zqj" role="3EZMnx">
<node concept="VPM3Z" id="5itBwM67Zqk" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="lj46D" id="5itBwM67Zql" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="pVoyu" id="5itBwM67Zqm" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="l2Vlx" id="5itBwM67Zqn" role="2iSdaV" />
<node concept="3F0ifn" id="5itBwM67Zqo" role="3EZMnx">
<property role="3F0ifm" value="%%" />
<ref role="1k5W1q" node="7LZcKzBE07j" resolve="EmitConstraint" />
<node concept="lj46D" id="5itBwM67Zqp" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="ljvvj" id="5itBwM67Zqq" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="3EZMnI" id="5itBwM67Zqr" role="3EZMnx">
<property role="S$Qs1" value="true" />
<node concept="VPM3Z" id="5itBwM67Zqs" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="pVoyu" id="5itBwM67Zqt" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="lj46D" id="5itBwM67Zqu" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="ljvvj" id="5itBwM67Zqv" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="l2Vlx" id="5itBwM67Zqw" role="2iSdaV" />
<node concept="3F1sOY" id="5itBwM67Zqx" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:5itBwM67JAZ" resolve="code" />
<node concept="lj46D" id="5itBwM67Zqy" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
</node>
<node concept="3F0ifn" id="5itBwM67Zqz" role="3EZMnx">
<property role="3F0ifm" value="%%" />
<ref role="1k5W1q" node="7LZcKzBE07j" resolve="EmitConstraint" />
<node concept="lj46D" id="5itBwM67Zq$" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="pVoyu" id="5itBwM67Zq_" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
</node>
<node concept="l2Vlx" id="5itBwM67$B8" role="2iSdaV" />
</node>
</node>
<node concept="3ICXOK" id="5itBwM68iwp">
<property role="3GE5qa" value="macro.decl" />
<property role="TrG5h" value="ExpandMacroTemplate_AddVariable" />
<ref role="aqKnT" to="wq2x:5itBwM65AQ4" resolve="ExpandMacroTemplate" />
<node concept="1Qtc8_" id="5itBwM68m4e" role="IW6Ez">
<node concept="3cWJ9i" id="5itBwM68mtA" role="1Qtc8$">
<node concept="CtIbL" id="5itBwM68mtC" role="CtIbM">
<property role="CtIbK" value="30NnNOohrQL/RIGHT" />
</node>
</node>
<node concept="IWgqT" id="5itBwM68ngk" role="1Qtc8A">
<node concept="1hCUdq" id="5itBwM68ngl" role="1hCUd6">
<node concept="3clFbS" id="5itBwM68ngm" role="2VODD2">
<node concept="3clFbF" id="5itBwM68nlf" role="3cqZAp">
<node concept="Xl_RD" id="5itBwM68nle" role="3clFbG">
<property role="Xl_RC" value="&lt;" />
</node>
</node>
</node>
</node>
<node concept="IWg2L" id="5itBwM68ngn" role="IWgqQ">
<node concept="3clFbS" id="5itBwM68ngo" role="2VODD2">
<node concept="3clFbF" id="5itBwM68v8z" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM68xMZ" role="3clFbG">
<node concept="2OqwBi" id="5itBwM68vbp" role="2Oq$k0">
<node concept="7Obwk" id="5itBwM68v8y" role="2Oq$k0" />
<node concept="3Tsc0h" id="5itBwM6jq_b" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM688rM" resolve="variable" />
</node>
</node>
<node concept="2DeJg1" id="5itBwM68_0M" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="27VH4U" id="5itBwM68odB" role="2jiSrf">
<node concept="3clFbS" id="5itBwM68odC" role="2VODD2">
<node concept="3clFbF" id="5itBwM68oFh" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM68rV4" role="3clFbG">
<node concept="2OqwBi" id="5itBwM68oYd" role="2Oq$k0">
<node concept="7Obwk" id="5itBwM68oFg" role="2Oq$k0" />
<node concept="3Tsc0h" id="5itBwM6jqaf" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM688rM" resolve="variable" />
</node>
</node>
<node concept="1v1jN8" id="5itBwM68uH5" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="24kQdi" id="5itBwM6d6mn">
<property role="3GE5qa" value="macro.decl" />
<ref role="1XX52x" to="wq2x:5itBwM6cWQh" resolve="ExpandMacroPrototype" />
<node concept="3EZMnI" id="5itBwM6d7yl" role="2wV5jI">
<node concept="3EZMnI" id="5itBwM6k_cU" role="3EZMnx">
<node concept="3F0ifn" id="5itBwM6k_cV" role="3EZMnx">
<property role="3F0ifm" value="&lt;" />
<node concept="11LMrY" id="5itBwM6k_cW" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="VPM3Z" id="5itBwM6k_cX" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="3F2HdR" id="5itBwM6k_cY" role="3EZMnx">
<property role="2czwfO" value="," />
<ref role="1NtTu8" to="wq2x:5itBwM6iJYb" resolve="logical" />
<node concept="l2Vlx" id="5itBwM6k_cZ" role="2czzBx" />
<node concept="3F0ifn" id="5itBwM6k_d0" role="2czzBI">
<property role="ilYzB" value="&lt;no logical&gt;" />
</node>
</node>
<node concept="3F0ifn" id="5itBwM6k_d1" role="3EZMnx">
<property role="3F0ifm" value="&gt;" />
<node concept="11L4FC" id="5itBwM6k_d2" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="l2Vlx" id="5itBwM6k_d3" role="2iSdaV" />
<node concept="pkWqt" id="5itBwM6k_d4" role="pqm2j">
<node concept="3clFbS" id="5itBwM6k_d5" role="2VODD2">
<node concept="3clFbF" id="5itBwM6k_d6" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6k_d7" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6k_d8" role="2Oq$k0">
<node concept="pncrf" id="5itBwM6k_d9" role="2Oq$k0" />
<node concept="3Tsc0h" id="5itBwM6kAS0" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM6iJYb" resolve="logical" />
</node>
</node>
<node concept="3GX2aA" id="5itBwM6k_db" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="3F0A7n" id="5itBwM6db6q" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
<ref role="1k5W1q" node="7ksQUDZpyGq" resolve="Constraint" />
<node concept="A1WHu" id="5itBwM6tdq_" role="3vIgyS">
<ref role="A1WHt" node="5itBwM6jwaC" resolve="ExpandMacroPrototype_AddLogical" />
</node>
</node>
<node concept="3F0ifn" id="5itBwM6iMJx" role="3EZMnx">
<property role="3F0ifm" value="matching" />
</node>
<node concept="1iCGBv" id="5itBwM6dGOD" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:5itBwM6dfdw" resolve="applicableConcept" />
<node concept="1sVBvm" id="5itBwM6dGOE" role="1sWHZn">
<node concept="3F0A7n" id="5itBwM6dGOF" role="2wV5jI">
<property role="1Intyy" value="true" />
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
<ref role="1k5W1q" node="7ksQUDZqcLh" resolve="ConceptName" />
</node>
</node>
</node>
<node concept="3F2HdR" id="5itBwM6x16d" role="3EZMnx">
<property role="2czwfO" value=" " />
<ref role="1NtTu8" to="wq2x:5itBwM6wU6s" resolve="parameter" />
<node concept="l2Vlx" id="5itBwM6x16f" role="2czzBx" />
<node concept="3F0ifn" id="5itBwM6x1xb" role="2czzBI">
<property role="3F0ifm" value="" />
<property role="ilYzB" value="&lt;no parameter&gt;" />
</node>
<node concept="lj46D" id="5itBwM6x5ul" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="pVoyu" id="5itBwM6x6Em" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="tppnM" id="5itBwM76LYm" role="sWeuL">
<node concept="ljvvj" id="5itBwM76Nak" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
</node>
<node concept="l2Vlx" id="5itBwM6d7yo" role="2iSdaV" />
</node>
</node>
<node concept="3p36aQ" id="5itBwM6esH8">
<property role="3GE5qa" value="macro.decl" />
<ref role="aqKnT" to="wq2x:5itBwM6cWQh" resolve="ExpandMacroPrototype" />
<node concept="3ft5Ry" id="5itBwM6faZa" role="3ft7WO">
<ref role="4PJHt" to="wq2x:5itBwM6cWQh" resolve="ExpandMacroPrototype" />
</node>
</node>
<node concept="3ICXOK" id="5itBwM6jwaC">
<property role="3GE5qa" value="macro.decl" />
<property role="TrG5h" value="ExpandMacroPrototype_AddLogical" />
<ref role="aqKnT" to="wq2x:5itBwM6cWQh" resolve="ExpandMacroPrototype" />
<node concept="1Qtc8_" id="5itBwM6jwXh" role="IW6Ez">
<node concept="3cWJ9i" id="5itBwM6jwXi" role="1Qtc8$">
<node concept="CtIbL" id="5itBwM6jwXj" role="CtIbM">
<property role="CtIbK" value="1A4kJjlVmVt/LEFT" />
</node>
</node>
<node concept="IWgqT" id="5itBwM6jwXk" role="1Qtc8A">
<node concept="1hCUdq" id="5itBwM6jwXl" role="1hCUd6">
<node concept="3clFbS" id="5itBwM6jwXm" role="2VODD2">
<node concept="3clFbF" id="5itBwM6jwXn" role="3cqZAp">
<node concept="Xl_RD" id="5itBwM6jwXo" role="3clFbG">
<property role="Xl_RC" value="&lt;" />
</node>
</node>
</node>
</node>
<node concept="IWg2L" id="5itBwM6jwXp" role="IWgqQ">
<node concept="3clFbS" id="5itBwM6jwXq" role="2VODD2">
<node concept="3clFbF" id="5itBwM6jwXr" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6jwXs" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6jwXt" role="2Oq$k0">
<node concept="7Obwk" id="5itBwM6jwXu" role="2Oq$k0" />
<node concept="3Tsc0h" id="5itBwM6jwXv" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM6iJYb" resolve="logical" />
</node>
</node>
<node concept="2DeJg1" id="5itBwM6jwXw" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="27VH4U" id="5itBwM6jwXx" role="2jiSrf">
<node concept="3clFbS" id="5itBwM6jwXy" role="2VODD2">
<node concept="3clFbF" id="5itBwM6jwXz" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6jwX$" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6jwX_" role="2Oq$k0">
<node concept="7Obwk" id="5itBwM6jwXA" role="2Oq$k0" />
<node concept="3Tsc0h" id="5itBwM6jwXB" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:5itBwM6iJYb" resolve="logical" />
</node>
</node>
<node concept="1v1jN8" id="5itBwM6jwXC" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="24kQdi" id="5itBwM6wF4e">
<property role="3GE5qa" value="macro.decl" />
<ref role="1XX52x" to="wq2x:5itBwM6wvc4" resolve="ExpandMacroParameterDeclaration" />
<node concept="3EZMnI" id="5itBwM6wGDw" role="2wV5jI">
<node concept="3F1sOY" id="5itBwM6wIeU" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:5itBwM6wB6D" resolve="type" />
</node>
<node concept="3F0A7n" id="5itBwM6wJ1C" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
<node concept="A1WHu" id="5itBwM6$dr5" role="3vIgyS">
<ref role="A1WHt" node="5itBwM6zZc4" resolve="ExpandMacroParameterDeclaration_AddInit" />
</node>
</node>
<node concept="3EZMnI" id="5itBwM6zOYW" role="3EZMnx">
<node concept="VPM3Z" id="5itBwM6zOYY" role="3F10Kt" />
<node concept="3F0ifn" id="5itBwM6zOZ9" role="3EZMnx">
<property role="3F0ifm" value="=" />
<ref role="1k5W1q" to="tpen:hF$iUjy" resolve="Operator" />
</node>
<node concept="3F1sOY" id="5itBwM6zSWn" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:5itBwM6zLOl" resolve="init" />
</node>
<node concept="l2Vlx" id="5itBwM6zOZ1" role="2iSdaV" />
<node concept="pkWqt" id="5itBwM6zUxF" role="pqm2j">
<node concept="3clFbS" id="5itBwM6zUxG" role="2VODD2">
<node concept="3clFbF" id="5itBwM6zVok" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6zWOx" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6zVCf" role="2Oq$k0">
<node concept="pncrf" id="5itBwM6zVoj" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM6zWhF" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6zLOl" resolve="init" />
</node>
</node>
<node concept="3x8VRR" id="5itBwM6zX5m" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="l2Vlx" id="5itBwM6wGDz" role="2iSdaV" />
</node>
</node>
<node concept="3ICXOK" id="5itBwM6zZc4">
<property role="3GE5qa" value="macro.decl" />
<property role="TrG5h" value="ExpandMacroParameterDeclaration_AddInit" />
<ref role="aqKnT" to="wq2x:5itBwM6wvc4" resolve="ExpandMacroParameterDeclaration" />
<node concept="1Qtc8_" id="5itBwM6$0Ll" role="IW6Ez">
<node concept="3cWJ9i" id="5itBwM6$1aH" role="1Qtc8$">
<node concept="CtIbL" id="5itBwM6$1aJ" role="CtIbM">
<property role="CtIbK" value="30NnNOohrQL/RIGHT" />
</node>
</node>
<node concept="IWgqT" id="5itBwM6$2mJ" role="1Qtc8A">
<node concept="1hCUdq" id="5itBwM6$2mK" role="1hCUd6">
<node concept="3clFbS" id="5itBwM6$2mL" role="2VODD2">
<node concept="3clFbF" id="5itBwM6$3eg" role="3cqZAp">
<node concept="Xl_RD" id="5itBwM6$3ef" role="3clFbG">
<property role="Xl_RC" value="=" />
</node>
</node>
</node>
</node>
<node concept="IWg2L" id="5itBwM6$2mM" role="IWgqQ">
<node concept="3clFbS" id="5itBwM6$2mN" role="2VODD2">
<node concept="3clFbF" id="5itBwM6$7sQ" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6$7Ub" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6$7vd" role="2Oq$k0">
<node concept="7Obwk" id="5itBwM6$7sP" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM6$7TA" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6zLOl" resolve="init" />
</node>
</node>
<node concept="2DeJnY" id="5itBwM6$9ht" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="27VH4U" id="5itBwM6$4rz" role="2jiSrf">
<node concept="3clFbS" id="5itBwM6$4r$" role="2VODD2">
<node concept="3clFbF" id="5itBwM6$4SY" role="3cqZAp">
<node concept="2OqwBi" id="5itBwM6$6qY" role="3clFbG">
<node concept="2OqwBi" id="5itBwM6$58T" role="2Oq$k0">
<node concept="7Obwk" id="5itBwM6$4SX" role="2Oq$k0" />
<node concept="3TrEf2" id="5itBwM6$5P_" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6zLOl" resolve="init" />
</node>
</node>
<node concept="3w_OXm" id="5itBwM6$6Zk" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="24kQdi" id="5itBwM6_l8V">
<property role="3GE5qa" value="macro.decl" />
<ref role="1XX52x" to="wq2x:5itBwM6_4x3" resolve="ExpandMacroParameterReference" />
<node concept="3EZMnI" id="5itBwM6_l8X" role="2wV5jI">
<node concept="1iCGBv" id="5itBwM6_lyo" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:5itBwM6_hXY" resolve="declaration" />
<node concept="1sVBvm" id="5itBwM6_lyq" role="1sWHZn">
<node concept="3F0A7n" id="5itBwM6_mlc" role="2wV5jI">
<property role="1Intyy" value="true" />
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
<node concept="l2Vlx" id="5itBwM6_l90" role="2iSdaV" />
</node>
</node>
<node concept="3p36aQ" id="5itBwM6_E2n">
<property role="3GE5qa" value="macro.decl" />
<ref role="aqKnT" to="wq2x:5itBwM6_4x3" resolve="ExpandMacroParameterReference" />
<node concept="3XHNnq" id="5itBwM6BeH8" role="3ft7WO">
<ref role="3XGfJA" to="wq2x:5itBwM6_hXY" resolve="declaration" />
</node>
<node concept="3VyMlK" id="5itBwM6_HND" role="3ft7WO" />
</node>
</model>

View File

@ -433,6 +433,13 @@
<property role="34LRSv" value="macro table" />
<property role="EcuMT" value="1618328391714763069" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyj" id="5itBwM6ukmz" role="1TKVEi">
<property role="IQ2ns" value="6097203247162410403" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="prototype" />
<property role="20lbJX" value="fLJekj5/_0__n" />
<ref role="20lvS9" node="5itBwM6ugMI" resolve="MacroPrototype" />
</node>
<node concept="1TJgyj" id="1pPth$m5B4Y" role="1TKVEi">
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="macro" />
@ -1543,5 +1550,175 @@
<property role="3GE5qa" value="macro" />
<property role="TrG5h" value="MacroTemplateBody" />
</node>
<node concept="1TIwiD" id="5itBwM65AQ4">
<property role="EcuMT" value="6097203247155932548" />
<property role="3GE5qa" value="macro.decl" />
<property role="TrG5h" value="ExpandMacroTemplate" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="PrWs8" id="5itBwM65IKl" role="PzmwI">
<ref role="PrY4T" node="5itBwM56wgT" resolve="MacroTemplate" />
</node>
<node concept="PrWs8" id="5itBwM65IKm" role="PzmwI">
<ref role="PrY4T" node="5itBwM5wMtr" resolve="MacroTemplateBody" />
</node>
<node concept="PrWs8" id="5itBwM65IKn" role="PzmwI">
<ref role="PrY4T" node="7IysFeBd3kI" resolve="ApplicationSessionParticipant" />
</node>
<node concept="PrWs8" id="5itBwM65IKo" role="PzmwI">
<ref role="PrY4T" to="5j4j:7E86$tK$Rgo" resolve="LogicalVariableScope" />
</node>
<node concept="PrWs8" id="5itBwM65IKp" role="PzmwI">
<ref role="PrY4T" node="1CgWc1Tyjkz" resolve="Commentable" />
</node>
<node concept="1TJgyj" id="5itBwM67n1U" role="1TKVEi">
<property role="IQ2ns" value="6097203247156392058" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="inputSpec" />
<property role="20lbJX" value="fLJekj4/_1" />
<ref role="20lvS9" node="5itBwM66cNU" resolve="ExpandMacroInputSpecification" />
</node>
<node concept="1TJgyj" id="5itBwM688rM" role="1TKVEi">
<property role="IQ2ns" value="6097203247156594418" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="variable" />
<property role="20lbJX" value="fLJekj5/_0__n" />
<ref role="20lvS9" node="7IysFe_ZPXH" resolve="MacroBodyLogicalDeclaration" />
</node>
<node concept="1TJgyj" id="5itBwM67JAZ" role="1TKVEi">
<property role="IQ2ns" value="6097203247156492735" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="code" />
<property role="20lbJX" value="fLJekj4/_1" />
<ref role="20lvS9" to="tpee:fzclF80" resolve="StatementList" />
</node>
<node concept="1TJgyj" id="5itBwM6gb4P" role="1TKVEi">
<property role="IQ2ns" value="6097203247158702389" />
<property role="20lbJX" value="fLJekj4/_1" />
<property role="20kJfa" value="prototype" />
<ref role="20lvS9" node="5itBwM6cWQh" resolve="ExpandMacroPrototype" />
</node>
</node>
<node concept="1TIwiD" id="5itBwM66cNU">
<property role="EcuMT" value="6097203247156088058" />
<property role="3GE5qa" value="macro.decl" />
<property role="TrG5h" value="ExpandMacroInputSpecification" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyi" id="5itBwM66fYr" role="1TKVEl">
<property role="IQ2nx" value="6097203247156101019" />
<property role="TrG5h" value="exactMatch" />
<ref role="AX2Wp" to="tpck:fKAQMTB" resolve="boolean" />
</node>
<node concept="1TJgyj" id="5itBwM66hzH" role="1TKVEi">
<property role="IQ2ns" value="6097203247156107501" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="input" />
<property role="20lbJX" value="fLJekj4/_1" />
<ref role="20lvS9" node="5itBwM66Jqx" resolve="ExpandMacroInputDeclaration" />
</node>
<node concept="1TJgyj" id="5itBwM66ULm" role="1TKVEi">
<property role="IQ2ns" value="6097203247156276310" />
<property role="20kJfa" value="applicableConcept" />
<property role="20lbJX" value="fLJekj4/_1" />
<ref role="20lvS9" to="tpce:h0PkWnZ" resolve="AbstractConceptDeclaration" />
</node>
</node>
<node concept="1TIwiD" id="5itBwM66Jqx">
<property role="EcuMT" value="6097203247156229793" />
<property role="3GE5qa" value="macro.decl" />
<property role="TrG5h" value="ExpandMacroInputDeclaration" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="PrWs8" id="5itBwM66NnE" role="PzmwI">
<ref role="PrY4T" to="tpee:4H$HgYMZ7sw" resolve="IVariableDeclaration" />
</node>
<node concept="PrWs8" id="5itBwM66NnF" role="PzmwI">
<ref role="PrY4T" to="tpee:hCUYCKd" resolve="IValidIdentifier" />
</node>
<node concept="PrWs8" id="5itBwM66NnG" role="PzmwI">
<ref role="PrY4T" to="tpck:hqLv6T6" resolve="IResolveInfo" />
</node>
</node>
<node concept="1TIwiD" id="5itBwM6cWQh">
<property role="EcuMT" value="6097203247157857681" />
<property role="3GE5qa" value="macro.decl" />
<property role="TrG5h" value="ExpandMacroPrototype" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyj" id="5itBwM6iJYb" role="1TKVEi">
<property role="IQ2ns" value="6097203247159377803" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="logical" />
<property role="20lbJX" value="fLJekj5/_0__n" />
<ref role="20lvS9" node="7IysFe_ZPXH" resolve="MacroBodyLogicalDeclaration" />
</node>
<node concept="1TJgyj" id="5itBwM6wU6s" role="1TKVEi">
<property role="IQ2ns" value="6097203247163089308" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="parameter" />
<property role="20lbJX" value="fLJekj5/_0__n" />
<ref role="20lvS9" node="5itBwM6wvc4" resolve="ExpandMacroParameterDeclaration" />
</node>
<node concept="1TJgyj" id="5itBwM6dfdw" role="1TKVEi">
<property role="IQ2ns" value="6097203247157932896" />
<property role="20kJfa" value="applicableConcept" />
<property role="20lbJX" value="fLJekj4/_1" />
<ref role="20lvS9" to="tpce:h0PkWnZ" resolve="AbstractConceptDeclaration" />
</node>
<node concept="PrWs8" id="5itBwM6ur5y" role="PzmwI">
<ref role="PrY4T" node="5itBwM6ugMI" resolve="MacroPrototype" />
</node>
<node concept="PrWs8" id="5itBwM6JnRR" role="PzmwI">
<ref role="PrY4T" to="5j4j:7E86$tK$Rgo" resolve="LogicalVariableScope" />
</node>
</node>
<node concept="PlHQZ" id="5itBwM6ugMI">
<property role="EcuMT" value="6097203247162395822" />
<property role="3GE5qa" value="macro" />
<property role="TrG5h" value="MacroPrototype" />
<node concept="PrWs8" id="5itBwM6vXP4" role="PrDN$">
<ref role="PrY4T" to="tpee:hCUYCKd" resolve="IValidIdentifier" />
</node>
</node>
<node concept="1TIwiD" id="5itBwM6wvc4">
<property role="EcuMT" value="6097203247162979076" />
<property role="3GE5qa" value="macro.decl" />
<property role="TrG5h" value="ExpandMacroParameterDeclaration" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyj" id="5itBwM6wB6D" role="1TKVEi">
<property role="IQ2ns" value="6097203247163011497" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="type" />
<property role="20lbJX" value="fLJekj4/_1" />
<ref role="20lvS9" to="tpee:fz3vP1H" resolve="Type" />
</node>
<node concept="1TJgyj" id="5itBwM6zLOl" role="1TKVEi">
<property role="IQ2ns" value="6097203247163841813" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="init" />
<ref role="20lvS9" to="tpee:fz3vP1J" resolve="Expression" />
</node>
<node concept="PrWs8" id="5itBwM6w_7N" role="PzmwI">
<ref role="PrY4T" to="tpee:hCUYCKd" resolve="IValidIdentifier" />
</node>
<node concept="PrWs8" id="5itBwM6w_Uw" role="PzmwI">
<ref role="PrY4T" to="tpee:4H$HgYMZ7sw" resolve="IVariableDeclaration" />
</node>
<node concept="PrWs8" id="5itBwM6wAjW" role="PzmwI">
<ref role="PrY4T" to="tpck:hqLv6T6" resolve="IResolveInfo" />
</node>
</node>
<node concept="1TIwiD" id="5itBwM6_4x3">
<property role="EcuMT" value="6097203247164180547" />
<property role="3GE5qa" value="macro.decl" />
<property role="TrG5h" value="ExpandMacroParameterReference" />
<ref role="1TJDcQ" to="tpee:fz3vP1J" resolve="Expression" />
<node concept="PrWs8" id="5itBwM6_aQ4" role="PzmwI">
<ref role="PrY4T" to="tpee:SORzhOp6jM" resolve="IVariableReference" />
</node>
<node concept="1TJgyj" id="5itBwM6_hXY" role="1TKVEi">
<property role="IQ2ns" value="6097203247164235646" />
<property role="20kJfa" value="declaration" />
<property role="20lbJX" value="fLJekj4/_1" />
<ref role="20lvS9" node="5itBwM6wvc4" resolve="ExpandMacroParameterDeclaration" />
</node>
</node>
</model>

View File

@ -1604,5 +1604,90 @@
<ref role="1YaFvo" to="wq2x:5itBwM5kgmv" resolve="CallMacroParameterReference" />
</node>
</node>
<node concept="1YbPZF" id="5itBwM6CP5U">
<property role="TrG5h" value="typeof_ExpandMacroParameterDeclaration" />
<property role="3GE5qa" value="macro.decl" />
<node concept="3clFbS" id="5itBwM6CP5V" role="18ibNy">
<node concept="1ZobV4" id="5itBwM6CUq1" role="3cqZAp">
<property role="3wDh2S" value="true" />
<node concept="mw_s8" id="5itBwM6CUNB" role="1ZfhK$">
<node concept="1Z2H0r" id="5itBwM6CUNz" role="mwGJk">
<node concept="2OqwBi" id="5itBwM6CVdx" role="1Z2MuG">
<node concept="1YBJjd" id="5itBwM6CVdc" role="2Oq$k0">
<ref role="1YBMHb" node="5itBwM6CP5X" resolve="empd" />
</node>
<node concept="3TrEf2" id="5itBwM6CVFg" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6zLOl" resolve="init" />
</node>
</node>
</node>
</node>
<node concept="mw_s8" id="5itBwM6CWuS" role="1ZfhKB">
<node concept="2OqwBi" id="5itBwM6CWxu" role="mwGJk">
<node concept="1YBJjd" id="5itBwM6CWuQ" role="2Oq$k0">
<ref role="1YBMHb" node="5itBwM6CP5X" resolve="empd" />
</node>
<node concept="3TrEf2" id="5itBwM6CWyJ" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6wB6D" resolve="type" />
</node>
</node>
</node>
</node>
<node concept="1Z5TYs" id="5itBwM6CSqL" role="3cqZAp">
<node concept="mw_s8" id="5itBwM6CSOn" role="1ZfhKB">
<node concept="2OqwBi" id="5itBwM6CSY8" role="mwGJk">
<node concept="1YBJjd" id="5itBwM6CSOl" role="2Oq$k0">
<ref role="1YBMHb" node="5itBwM6CP5X" resolve="empd" />
</node>
<node concept="3TrEf2" id="5itBwM6CTbh" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6wB6D" resolve="type" />
</node>
</node>
</node>
<node concept="mw_s8" id="5itBwM6CSqO" role="1ZfhK$">
<node concept="1Z2H0r" id="5itBwM6CR4C" role="mwGJk">
<node concept="1YBJjd" id="5itBwM6CRvK" role="1Z2MuG">
<ref role="1YBMHb" node="5itBwM6CP5X" resolve="empd" />
</node>
</node>
</node>
</node>
</node>
<node concept="1YaCAy" id="5itBwM6CP5X" role="1YuTPh">
<property role="TrG5h" value="empd" />
<ref role="1YaFvo" to="wq2x:5itBwM6wvc4" resolve="ExpandMacroParameterDeclaration" />
</node>
</node>
<node concept="1YbPZF" id="5itBwM6D9Oh">
<property role="TrG5h" value="typeof_ExpandMacroParameterReference" />
<property role="3GE5qa" value="macro.decl" />
<node concept="3clFbS" id="5itBwM6D9Oi" role="18ibNy">
<node concept="1Z5TYs" id="5itBwM6DcLk" role="3cqZAp">
<node concept="mw_s8" id="5itBwM6Dd$g" role="1ZfhKB">
<node concept="1Z2H0r" id="5itBwM6Dd$c" role="mwGJk">
<node concept="2OqwBi" id="5itBwM6De69" role="1Z2MuG">
<node concept="1YBJjd" id="5itBwM6DdXP" role="2Oq$k0">
<ref role="1YBMHb" node="5itBwM6D9Ok" resolve="empr" />
</node>
<node concept="3TrEf2" id="5itBwM6Deg$" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5itBwM6_hXY" resolve="declaration" />
</node>
</node>
</node>
</node>
<node concept="mw_s8" id="5itBwM6DcLn" role="1ZfhK$">
<node concept="1Z2H0r" id="5itBwM6DaB0" role="mwGJk">
<node concept="1YBJjd" id="5itBwM6DcfF" role="1Z2MuG">
<ref role="1YBMHb" node="5itBwM6D9Ok" resolve="empr" />
</node>
</node>
</node>
</node>
</node>
<node concept="1YaCAy" id="5itBwM6D9Ok" role="1YuTPh">
<property role="TrG5h" value="empr" />
<ref role="1YaFvo" to="wq2x:5itBwM6_4x3" resolve="ExpandMacroParameterReference" />
</node>
</node>
</model>