Switch all type aspects in mpscore sample to typechecking terms

This includes dropping of Recover rule table and relying on
the automatic types recovery.
This commit is contained in:
Fedor Isakov 2022-07-26 13:12:43 +02:00
parent f9eb52a60f
commit 7fe773dcc2
16 changed files with 2702 additions and 8401 deletions

View File

@ -97,17 +97,20 @@
<child id="1144231408325" name="iteration" index="1Dwrff" />
</concept>
</language>
<language id="443f4c36-fcf5-4eb6-9500-8d06ed259e3e" name="jetbrains.mps.baseLanguage.classifiers">
<concept id="1205752813637" name="jetbrains.mps.baseLanguage.classifiers.structure.BaseClassifierType" flags="in" index="2WtX_t" />
<concept id="1205752906494" name="jetbrains.mps.baseLanguage.classifiers.structure.DefaultClassifierType" flags="in" index="2WukfA" />
</language>
<language id="3a13115c-633c-4c5c-bbcc-75c4219e9555" name="jetbrains.mps.lang.quotation">
<concept id="1196350785110" name="jetbrains.mps.lang.quotation.structure.AbstractAntiquotation" flags="ng" index="2c44t0">
<child id="1196350785111" name="expression" index="2c44t1" />
<concept id="5455284157994012186" name="jetbrains.mps.lang.quotation.structure.NodeBuilderInitLink" flags="ng" index="2pIpSj">
<reference id="5455284157994012188" name="link" index="2pIpSl" />
<child id="1595412875168045827" name="initValue" index="28nt2d" />
</concept>
<concept id="1196350785117" name="jetbrains.mps.lang.quotation.structure.ReferenceAntiquotation" flags="ng" index="2c44tb" />
<concept id="1196350785113" name="jetbrains.mps.lang.quotation.structure.Quotation" flags="nn" index="2c44tf">
<child id="1196350785114" name="quotedNode" index="2c44tc" />
<concept id="5455284157993863837" name="jetbrains.mps.lang.quotation.structure.NodeBuilder" flags="nn" index="2pJPEk">
<child id="5455284157993863838" name="quotedNode" index="2pJPEn" />
</concept>
<concept id="5455284157993863840" name="jetbrains.mps.lang.quotation.structure.NodeBuilderNode" flags="nn" index="2pJPED">
<reference id="5455284157993910961" name="concept" index="2pJxaS" />
<child id="5455284157993911099" name="values" index="2pJxcM" />
</concept>
<concept id="8182547171709752110" name="jetbrains.mps.lang.quotation.structure.NodeBuilderExpression" flags="nn" index="36biLy">
<child id="8182547171709752112" name="expression" index="36biLW" />
</concept>
</language>
<language id="35320f26-77cb-4c55-be9f-a97a27770af1" name="jetbrains.mps.logic">
@ -153,17 +156,22 @@
</concept>
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<child id="5169995583184591170" name="smodelAttribute" index="lGtFl" />
</concept>
<concept id="3364660638048049745" name="jetbrains.mps.lang.core.structure.LinkAttribute" flags="ng" index="A9Btn">
<property id="1757699476691236116" name="role_DebugInfo" index="2qtEX8" />
<property id="1341860900488019036" name="linkId" index="P3scX" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="4b5b4f8d-d30a-4ef8-9bf4-dfd26af9d462" name="jetbrains.mps.lang.typechecking">
<concept id="7505246501517185035" name="jetbrains.mps.lang.typechecking.structure.TypeTermDeclaration" flags="ng" index="3iyMRA">
<child id="7505246501517407186" name="builder" index="3i_WSZ" />
</concept>
<concept id="7505246501517142009" name="jetbrains.mps.lang.typechecking.structure.TypeTermTable" flags="ng" index="3iyXCk" />
<concept id="7505246501517400215" name="jetbrains.mps.lang.typechecking.structure.TypeNodeBuilder" flags="ng" index="3i_YlU">
<child id="7505246501517414874" name="body" index="3i_UKR" />
</concept>
<concept id="1722266558648635144" name="jetbrains.mps.lang.typechecking.structure.FeatureReferenceExpression" flags="ng" index="1NbZt7">
<reference id="1722266558648637849" name="feature" index="1NbY7m" />
</concept>
</language>
<language id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections">
<concept id="1162935959151" name="jetbrains.mps.baseLanguage.collections.structure.GetSizeOperation" flags="nn" index="34oBXx" />
<concept id="1225711141656" name="jetbrains.mps.baseLanguage.collections.structure.ListElementAccessExpression" flags="nn" index="1y4W85">
@ -199,7 +207,9 @@
<concept id="861509610434276450" name="jetbrains.mps.lang.coderules.structure.TermTemplate" flags="ng" index="nspSf">
<child id="861509610434276451" name="feature" index="nspSe" />
</concept>
<concept id="861509610434294982" name="jetbrains.mps.lang.coderules.structure.ValueFeature" flags="ng" index="nssqF" />
<concept id="861509610434294982" name="jetbrains.mps.lang.coderules.structure.ValueFeature" flags="ng" index="nssqF">
<child id="1722266558649369683" name="type" index="1NczKs" />
</concept>
<concept id="861509610434435669" name="jetbrains.mps.lang.coderules.structure.TermFeatureOverride" flags="ng" index="nsMwS">
<reference id="861509610434435672" name="feature" index="nsMwP" />
<child id="1149537088045275069" name="item" index="iSaTp" />
@ -212,9 +222,6 @@
<reference id="3541122455446356437" name="extends" index="2YbDB9" />
<child id="3575255234175157601" name="template" index="1nK1Vg" />
</concept>
<concept id="6856711987714624232" name="jetbrains.mps.lang.coderules.structure.LateExpressionItem" flags="ng" index="HKQnh">
<child id="6856711987714624233" name="code" index="HKQng" />
</concept>
<concept id="2381360340662937504" name="jetbrains.mps.lang.coderules.structure.TermType" flags="ig" index="32pEOW" />
<concept id="6097203247156088058" name="jetbrains.mps.lang.coderules.structure.ExpandMacroInputSpecification" flags="ng" index="3ixlbQ">
<reference id="6097203247156276310" name="applicableConcept" index="3ixz9q" />
@ -1085,23 +1092,6 @@
</node>
</node>
</node>
<node concept="ns1xd" id="2q9s7foPxYa">
<property role="TrG5h" value="Terms" />
<node concept="ns1x$" id="2q9s7foPy7G" role="ns1xc">
<property role="TrG5h" value="baseClassifier" />
<property role="3uGXoX" value="true" />
<node concept="nspSf" id="2q9s7foPy7H" role="ns1xx" />
</node>
<node concept="ns1x$" id="2q9s7foUKiD" role="ns1xc">
<property role="TrG5h" value="defaultClassifier" />
<ref role="ns1xW" node="2q9s7foPy7G" resolve="baseClassifier" />
<node concept="nspSf" id="2q9s7foUKiE" role="ns1xx">
<node concept="nssqF" id="2q9s7foUKjg" role="nspSe">
<property role="TrG5h" value="classifier" />
</node>
</node>
</node>
</node>
<node concept="AVZre" id="2q9s7foPy7Z">
<property role="TrG5h" value="Converts" />
<ref role="2YbDB9" to="kqnc:24Vro6cM_J$" resolve="ConversionMain" />
@ -1340,144 +1330,38 @@
</node>
</node>
</node>
<node concept="AVZre" id="2q9s7foUOwF">
<property role="TrG5h" value="Recover" />
<ref role="2YbDB9" to="kqnc:6Qzc0KyJGzD" resolve="Recover" />
<node concept="1nLNMY" id="2q9s7foUOEl" role="1nK1Vg">
<property role="TrG5h" value="recover_defaultClassifierType" />
<node concept="3clFbS" id="2q9s7foUOEm" role="1nLNMH">
<node concept="1nLNNL" id="2q9s7foUOF6" role="3cqZAp">
<node concept="1nLNMm" id="2q9s7foUOF8" role="1nLNNK">
<node concept="3NuqgR" id="1stFrrzRYJk" role="0Rg$4">
<node concept="3Tqbb2" id="1stFrrzRYOx" role="3vLBG7">
<ref role="ehGHo" to="tp4f:hyWqMFP" resolve="IClassifier" />
</node>
<node concept="aZer4" id="2q9s7foUPm8" role="3XD1gS">
<property role="TrG5h" value="Cls" />
</node>
</node>
<node concept="3Aq93q" id="2q9s7foUOFf" role="1nLNMb">
<node concept="3I6sU6" id="2q9s7foUOFg" role="3Ip0Jz">
<node concept="3I6s7M" id="2q9s7foUOFn" role="3I6sU7">
<node concept="3Aqt3T" id="2q9s7foUOFm" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="2q9s7foUPkh" role="3AunhB">
<ref role="a7OzE" node="2q9s7foUPja" resolve="Node" />
</node>
<node concept="1HFMs5" id="2q9s7foUPkY" role="3AunhB">
<node concept="a7P8L" id="2q9s7foUPkE" role="1uarlU">
<ref role="a7OzE" node="2q9s7foUPj$" resolve="T" />
</node>
<node concept="ns1u0" id="2q9s7foUPlo" role="1uarlW">
<ref role="ns1xF" node="2q9s7foUKiD" resolve="defaultClassifier" />
<node concept="nsMwS" id="2q9s7foUPlH" role="ns1xD">
<ref role="nsMwP" node="2q9s7foUKjg" resolve="classifier" />
<node concept="a7P8L" id="2q9s7foUPmn" role="iSaTp">
<ref role="a7OzE" node="2q9s7foUPm8" resolve="Cls" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="2q9s7foUPj9" role="0Rg$4">
<node concept="aZer4" id="2q9s7foUPja" role="3XD1gS">
<property role="TrG5h" value="Node" />
</node>
<node concept="3Tqbb2" id="2q9s7foUPjk" role="3vLBG7" />
</node>
<node concept="3NuqgR" id="2q9s7foUPjz" role="0Rg$4">
<node concept="aZer4" id="2q9s7foUPj$" role="3XD1gS">
<property role="TrG5h" value="T" />
</node>
<node concept="32pEOW" id="2q9s7foUPjL" role="3vLBG7" />
</node>
<node concept="3xSepi" id="2q9s7foUPmU" role="3xSepv">
<node concept="3Aq9E8" id="2q9s7foUPmV" role="3xSepj">
<node concept="3I6sU6" id="2q9s7foUPmW" role="3Ip0Jz">
<node concept="3I6s7M" id="2q9s7foUPni" role="3I6sU7">
<node concept="3A8Hvi" id="2q9s7foUPno" role="3I6s78">
<node concept="HKQnh" id="2q9s7foUPnK" role="3A8w4Q">
<node concept="2c44tf" id="2q9s7foUPo1" role="HKQng">
<node concept="2WukfA" id="2q9s7foUPFU" role="2c44tc">
<node concept="2c44tb" id="2q9s7foUQ7c" role="lGtFl">
<property role="2qtEX8" value="classifier" />
<property role="P3scX" value="443f4c36-fcf5-4eb6-9500-8d06ed259e3e/1205752906494/1205752917136" />
<node concept="1Ft4W6" id="2q9s7foUQ7k" role="2c44t1">
<node concept="a7P8L" id="2q9s7foUQ7j" role="1FtiSR">
<ref role="a7OzE" node="2q9s7foUPm8" resolve="Cls" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="a7P8L" id="2q9s7foUPn3" role="3A8wtg">
<ref role="a7OzE" node="2q9s7foUPja" resolve="Node" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3iyXCk" id="2q9s7foPxYa">
<property role="TrG5h" value="Terms" />
<node concept="3iyMRA" id="2q9s7foPy7G" role="ns1xc">
<property role="TrG5h" value="baseClassifier" />
<property role="3uGXoX" value="true" />
<node concept="nspSf" id="2q9s7foPy7H" role="ns1xx" />
<node concept="3i_YlU" id="4APe_wKEoI9" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKEoJr" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKEoJt" role="2pJPEn">
<ref role="2pJxaS" to="tp4f:hyWtXx5" resolve="BaseClassifierType" />
</node>
</node>
</node>
</node>
<node concept="1nLNMY" id="2q9s7fpPmBn" role="1nK1Vg">
<property role="TrG5h" value="recover_baseClassifierType" />
<node concept="3clFbS" id="2q9s7fpPmBo" role="1nLNMH">
<node concept="1nLNNL" id="2q9s7fpPmCf" role="3cqZAp">
<node concept="1nLNMm" id="2q9s7fpPmCg" role="1nLNNK">
<node concept="3Aq93q" id="2q9s7fpPmCm" role="1nLNMb">
<node concept="3I6sU6" id="2q9s7fpPmCn" role="3Ip0Jz">
<node concept="3I6s7M" id="2q9s7fpPmCu" role="3I6sU7">
<node concept="3Aqt3T" id="2q9s7fpPmCt" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="2q9s7fpPmDw" role="3AunhB">
<ref role="a7OzE" node="2q9s7fpPmCA" resolve="Node" />
</node>
<node concept="1HFMs5" id="2q9s7fpPmEh" role="3AunhB">
<node concept="a7P8L" id="2q9s7fpPmDX" role="1uarlU">
<ref role="a7OzE" node="2q9s7fpPmD0" resolve="T" />
</node>
<node concept="ns1u0" id="2q9s7fpPmEF" role="1uarlW">
<ref role="ns1xF" node="2q9s7foPy7G" resolve="baseClassifier" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="2q9s7fpPmC_" role="0Rg$4">
<node concept="aZer4" id="2q9s7fpPmCA" role="3XD1gS">
<property role="TrG5h" value="Node" />
</node>
<node concept="3Tqbb2" id="2q9s7fpPmCK" role="3vLBG7" />
</node>
<node concept="3NuqgR" id="2q9s7fpPmCZ" role="0Rg$4">
<node concept="aZer4" id="2q9s7fpPmD0" role="3XD1gS">
<property role="TrG5h" value="T" />
</node>
<node concept="32pEOW" id="2q9s7fpPmDd" role="3vLBG7" />
</node>
<node concept="3xSepi" id="2q9s7fpPmF0" role="3xSepv">
<node concept="3Aq9E8" id="2q9s7fpPmF1" role="3xSepj">
<node concept="3I6sU6" id="2q9s7fpPmF2" role="3Ip0Jz">
<node concept="3I6s7M" id="2q9s7fpPmFx" role="3I6sU7">
<node concept="3A8Hvi" id="2q9s7fpPmFB" role="3I6s78">
<node concept="HKQnh" id="2q9s7fpPmFZ" role="3A8w4Q">
<node concept="2c44tf" id="2q9s7fpPmGC" role="HKQng">
<node concept="2WtX_t" id="2q9s7fpPmGS" role="2c44tc" />
</node>
</node>
<node concept="a7P8L" id="2q9s7fpPmF9" role="3A8wtg">
<ref role="a7OzE" node="2q9s7fpPmCA" resolve="Node" />
</node>
</node>
</node>
<node concept="3iyMRA" id="2q9s7foUKiD" role="ns1xc">
<property role="TrG5h" value="defaultClassifier" />
<ref role="ns1xW" node="2q9s7foPy7G" resolve="baseClassifier" />
<node concept="nspSf" id="2q9s7foUKiE" role="ns1xx">
<node concept="nssqF" id="2q9s7foUKjg" role="nspSe">
<property role="TrG5h" value="classifier" />
<node concept="3Tqbb2" id="4APe_wKMu6_" role="1NczKs" />
</node>
</node>
<node concept="3i_YlU" id="4APe_wKEosd" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKEose" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKEosf" role="2pJPEn">
<ref role="2pJxaS" to="tp4f:hyWukbY" resolve="DefaultClassifierType" />
<node concept="2pIpSj" id="4APe_wKEoBX" role="2pJxcM">
<ref role="2pIpSl" to="tp4f:hyWumMg" resolve="classifier" />
<node concept="36biLy" id="4APe_wKEoCz" role="28nt2d">
<node concept="1NbZt7" id="4APe_wKEoDW" role="36biLW">
<ref role="1NbY7m" node="2q9s7foUKjg" resolve="classifier" />
</node>
</node>
</node>

View File

@ -90,7 +90,6 @@
<property id="1176718929932" name="isFinal" index="3TUv4t" />
<child id="1068431790190" name="initializer" index="33vP2m" />
</concept>
<concept id="1068431790189" name="jetbrains.mps.baseLanguage.structure.Type" flags="in" index="33vP2l" />
<concept id="1068498886296" name="jetbrains.mps.baseLanguage.structure.VariableReference" flags="nn" index="37vLTw">
<reference id="1068581517664" name="variableDeclaration" index="3cqZAo" />
</concept>
@ -190,10 +189,6 @@
<concept id="1080120340718" name="jetbrains.mps.baseLanguage.structure.AndExpression" flags="nn" index="1Wc70l" />
</language>
<language id="fd392034-7849-419d-9071-12563d152375" name="jetbrains.mps.baseLanguage.closures">
<concept id="1199542442495" name="jetbrains.mps.baseLanguage.closures.structure.FunctionType" flags="in" index="1ajhzC">
<child id="1199542457201" name="resultType" index="1ajl9A" />
<child id="1199542501692" name="parameterType" index="1ajw0F" />
</concept>
<concept id="1199569711397" name="jetbrains.mps.baseLanguage.closures.structure.ClosureLiteral" flags="nn" index="1bVj0M">
<child id="1199569906740" name="parameter" index="1bW2Oz" />
<child id="1199569916463" name="body" index="1bW5cS" />
@ -224,11 +219,6 @@
</concept>
</language>
<language id="3a13115c-633c-4c5c-bbcc-75c4219e9555" name="jetbrains.mps.lang.quotation">
<concept id="1196350785110" name="jetbrains.mps.lang.quotation.structure.AbstractAntiquotation" flags="ng" index="2c44t0">
<child id="1196350785111" name="expression" index="2c44t1" />
</concept>
<concept id="1196350785118" name="jetbrains.mps.lang.quotation.structure.ListAntiquotation" flags="ng" index="2c44t8" />
<concept id="1196350785112" name="jetbrains.mps.lang.quotation.structure.Antiquotation" flags="ng" index="2c44te" />
<concept id="1196350785113" name="jetbrains.mps.lang.quotation.structure.Quotation" flags="nn" index="2c44tf">
<child id="1196350785114" name="quotedNode" index="2c44tc" />
</concept>
@ -632,168 +622,6 @@
</node>
</node>
</node>
<node concept="AVZre" id="2WQBycG$hsu">
<property role="3GE5qa" value="rule" />
<property role="TrG5h" value="RecoverClosure" />
<ref role="2YbDB9" to="kqnc:6Qzc0KyJGzD" resolve="Recover" />
<node concept="1nLNMY" id="2WQBycG$nvU" role="1nK1Vg">
<property role="TrG5h" value="recover_FunctionType" />
<node concept="3clFbS" id="2WQBycG$nvV" role="1nLNMH">
<node concept="1nLNNL" id="12QmIo_7sfB" role="3cqZAp">
<node concept="1nLNMm" id="12QmIo_7sfC" role="1nLNNK">
<node concept="3NuqgR" id="5upUcEtdUWB" role="0Rg$4">
<node concept="aZer4" id="5upUcEtdUWC" role="3XD1gS">
<property role="TrG5h" value="Node" />
</node>
<node concept="3Tqbb2" id="5f6wxQ30Ugg" role="3vLBG7" />
</node>
<node concept="3NuqgR" id="6$zPHjYFkwG" role="0Rg$4">
<node concept="aZer4" id="6$MmqWfm96E" role="3XD1gS">
<property role="TrG5h" value="ResultTypeNode" />
</node>
<node concept="3Tqbb2" id="6$zPHjYFky5" role="3vLBG7">
<ref role="ehGHo" to="tpee:fz3vP1H" resolve="Type" />
</node>
</node>
<node concept="3Aq93q" id="5upUcEtdUWy" role="1nLNMb">
<node concept="3I6sU6" id="5upUcEtdUWz" role="3Ip0Jz">
<node concept="3I6s7M" id="5upUcEtdXZM" role="3I6sU7">
<node concept="3Aqt3T" id="5upUcEtdXZL" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="5upUcEtdXZR" role="3AunhB">
<ref role="a7OzE" node="5upUcEtdUWC" resolve="Node" />
</node>
<node concept="1HFMs5" id="6$MmqWfm90W" role="3AunhB">
<node concept="a7P8L" id="6$MmqWfm8Z0" role="1uarlU">
<ref role="a7OzE" node="6$MmqWfm8Xk" resolve="Type" />
</node>
<node concept="ns1u0" id="6$MmqWfm933" role="1uarlW">
<ref role="ns1xF" to="fa4b:6$MmqWflYd6" resolve="function" />
<node concept="nsMwS" id="6$MmqWfm93a" role="ns1xD">
<ref role="nsMwP" to="fa4b:6$MmqWflYdw" resolve="params" />
<node concept="a7P8L" id="6$MmqWfm93e" role="iSaTp">
<ref role="a7OzE" node="5upUcEtdY0_" resolve="ParamTypes" />
</node>
</node>
<node concept="nsMwS" id="6$MmqWfm93s" role="ns1xD">
<ref role="nsMwP" to="fa4b:6$MmqWflYdg" resolve="result" />
<node concept="a7P8L" id="6$MmqWfm93z" role="iSaTp">
<ref role="a7OzE" node="6$MmqWfm8Yx" resolve="ResultType" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="2WQBycG$nBx" role="0Rg$4">
<node concept="aZer4" id="2WQBycG$nBy" role="3XD1gS">
<property role="TrG5h" value="ParamTypesNodes" />
</node>
<node concept="2I9FWS" id="2WQBycG$nBP" role="3vLBG7">
<ref role="2I9WkF" to="tpee:fz3vP1H" resolve="Type" />
</node>
</node>
<node concept="3NuqgR" id="6$MmqWfm8Xj" role="0Rg$4">
<node concept="aZer4" id="6$MmqWfm8Xk" role="3XD1gS">
<property role="TrG5h" value="Type" />
</node>
<node concept="aZer4" id="6$MmqWfm8Yx" role="3XD1gS">
<property role="TrG5h" value="ResultType" />
</node>
<node concept="32pEOW" id="6$MmqWfm8XD" role="3vLBG7" />
</node>
<node concept="3NuqgR" id="5f6wxQ30Unu" role="0Rg$4">
<node concept="aZer4" id="5upUcEtdY0_" role="3XD1gS">
<property role="TrG5h" value="ParamTypes" />
</node>
<node concept="VbTHi" id="6$MmqWfm8UR" role="3vLBG7" />
</node>
<node concept="3xSepi" id="6$MmqWfm93L" role="3xSepv">
<node concept="3Aq9E8" id="6$MmqWfm93M" role="3xSepj">
<node concept="3I6sU6" id="6$MmqWfm93N" role="3Ip0Jz">
<node concept="3IrJb3" id="2dupQuU$hnj" role="3I6sU7">
<node concept="3clFbS" id="2dupQuU$hnk" role="3IrJb0">
<node concept="3Aqczg" id="2dupQuU$hnl" role="3cqZAp">
<node concept="3A8Hvi" id="2dupQuU$fQt" role="3Aqpz8">
<node concept="HKQnh" id="2dupQuU$fTg" role="3A8w4Q">
<node concept="2ShNRf" id="2dupQuU$fTl" role="HKQng">
<node concept="2T8Vx0" id="2dupQuU$h13" role="2ShVmc">
<node concept="2I9FWS" id="2dupQuU$h15" role="2T96Bj">
<ref role="2I9WkF" to="tpee:fz3vP1H" resolve="Type" />
</node>
</node>
</node>
</node>
<node concept="a7P8L" id="2dupQuU$fPQ" role="3A8wtg">
<ref role="a7OzE" node="2WQBycG$nBy" resolve="ParamTypesNodes" />
</node>
</node>
</node>
<node concept="3Aqczg" id="2dupQuU$hnm" role="3cqZAp">
<node concept="3Aqt3T" id="6$MmqWfm9dQ" role="3Aqpz8">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="6$MmqWfm9dX" role="3AunhB">
<ref role="a7OzE" node="6$MmqWfm96E" resolve="ResultTypeNode" />
</node>
<node concept="a7P8L" id="6$MmqWfm9fZ" role="3AunhB">
<ref role="a7OzE" node="6$MmqWfm8Yx" resolve="ResultType" />
</node>
</node>
</node>
<node concept="3Aqczg" id="2dupQuU$hnn" role="3cqZAp">
<node concept="3Aqt3T" id="6$MmqWfm93R" role="3Aqpz8">
<ref role="3AqCNq" to="kqnc:6N2bvv_l2qf" resolve="recoverList" />
<node concept="a7P8L" id="6$MmqWfm93Z" role="3AunhB">
<ref role="a7OzE" node="2WQBycG$nBy" resolve="ParamTypesNodes" />
</node>
<node concept="a7P8L" id="6$MmqWfm962" role="3AunhB">
<ref role="a7OzE" node="5upUcEtdY0_" resolve="ParamTypes" />
</node>
</node>
</node>
<node concept="3Aqczg" id="2dupQuU$hno" role="3cqZAp">
<node concept="3A8Hvi" id="6$MmqWfm9gV" role="3Aqpz8">
<node concept="a7P8L" id="6$MmqWfm9gy" role="3A8wtg">
<ref role="a7OzE" node="5upUcEtdUWC" resolve="Node" />
</node>
<node concept="HKQnh" id="6$MmqWfmb$z" role="3A8w4Q">
<node concept="2c44tf" id="6$MmqWfm9j9" role="HKQng">
<node concept="1ajhzC" id="1vxei$17fRB" role="2c44tc">
<node concept="33vP2l" id="6$MmqWfmbdk" role="1ajw0F">
<node concept="2c44t8" id="6$MmqWfmbd$" role="lGtFl">
<node concept="1Ft4W6" id="6$MmqWfmc5V" role="2c44t1">
<node concept="a7P8L" id="6$MmqWfmc5U" role="1FtiSR">
<ref role="a7OzE" node="2WQBycG$nBy" resolve="ParamTypesNodes" />
</node>
</node>
</node>
</node>
<node concept="33vP2l" id="6$MmqWfmbi$" role="1ajl9A">
<node concept="2c44te" id="6$MmqWfmbiO" role="lGtFl">
<node concept="1Ft4W6" id="6$MmqWfmbTi" role="2c44t1">
<node concept="a7P8L" id="6$MmqWfmbTh" role="1FtiSR">
<ref role="a7OzE" node="6$MmqWfm96E" resolve="ResultTypeNode" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="AVZre" id="4S1mDSNOe5f">
<property role="3GE5qa" value="rule" />
<property role="TrG5h" value="Closures" />

View File

@ -65,6 +65,7 @@
<sourcePath />
<dependencies>
<dependency reexport="false">f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</dependency>
<dependency reexport="false">fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures)</dependency>
</dependencies>
<languageVersions>
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="11" />
@ -77,8 +78,8 @@
<language slang="l:a247e09e-2435-45ba-b8d2-07e93feba96a:jetbrains.mps.baseLanguage.tuples" version="0" />
<language slang="l:df345b11-b8c7-4213-ac66-48d2a9b75d88:jetbrains.mps.baseLanguageInternal" version="0" />
<language slang="l:aee9cad2-acd4-4608-aef2-0004f6a1cdbd:jetbrains.mps.lang.actions" version="4" />
<language slang="l:f159adf4-3c93-40f9-9c5a-1f245a8697af:jetbrains.mps.lang.aspect" version="2" />
<language slang="l:af65afd8-f0dd-4942-87d9-63a55f2a9db1:jetbrains.mps.lang.behavior" version="2" />
<language slang="l:fe9d76d7-5809-45c9-ae28-a40915b4d6ff:jetbrains.mps.lang.checkedName" version="1" />
<language slang="l:c4803b19-6d89-4a3b-bf82-390769514add:jetbrains.mps.lang.coderules" version="23" />
<language slang="l:3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1:jetbrains.mps.lang.constraints" version="6" />
<language slang="l:e51810c5-7308-4642-bcb6-469e61b5dd18:jetbrains.mps.lang.constraints.msg.specification" version="0" />
@ -111,7 +112,9 @@
<language slang="l:b83431fe-5c8f-40bc-8a36-65e25f4dd253:jetbrains.mps.lang.textGen" version="1" />
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
<language slang="l:4b5b4f8d-d30a-4ef8-9bf4-dfd26af9d462:jetbrains.mps.lang.typechecking" version="1" />
<language slang="l:afc17aaf-3a3d-4d69-a38d-db90d5e858c6:jetbrains.mps.lang.types" version="0" />
<language slang="l:7a5dda62-9140-4668-ab76-d5ed1746f2b2:jetbrains.mps.lang.typesystem" version="5" />
<language slang="l:c9d137c4-3259-44f8-80ff-33ab2b506ee4:jetbrains.mps.lang.util.order" version="0" />
<language slang="l:35320f26-77cb-4c55-be9f-a97a27770af1:jetbrains.mps.logic" version="13" />
</languageVersions>
<dependencyVersions>
@ -120,6 +123,7 @@
<module reference="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)" version="0" />
<module reference="8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)" version="0" />
<module reference="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" version="0" />
<module reference="fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures)" version="0" />
<module reference="96eeb076-cd7e-4797-9c2a-348e3f826e65(jetbrains.mps.baseLanguage.function)" version="0" />
<module reference="e39e4a59-8cb6-498e-860e-8fa8361c0d90(jetbrains.mps.baseLanguage.scopes)" version="0" />
<module reference="0fda14cc-a416-4c81-869a-2175d8b3325d(jetbrains.mps.baseLanguageExt)" version="0" />

View File

@ -10,6 +10,7 @@
<imports>
<import index="kqnc" ref="r:92b96158-68e6-4f53-a32b-36e2b456fe01(jetbrains.mps.baseLanguageExt.types)" />
<import index="tpee" ref="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" />
<import index="tp2c" ref="r:00000000-0000-4000-0000-011c89590338(jetbrains.mps.baseLanguage.closures.structure)" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -68,6 +69,22 @@
<child id="8356039341262087992" name="line" index="1aUNEU" />
</concept>
</language>
<language id="3a13115c-633c-4c5c-bbcc-75c4219e9555" name="jetbrains.mps.lang.quotation">
<concept id="5455284157994012186" name="jetbrains.mps.lang.quotation.structure.NodeBuilderInitLink" flags="ng" index="2pIpSj">
<reference id="5455284157994012188" name="link" index="2pIpSl" />
<child id="1595412875168045827" name="initValue" index="28nt2d" />
</concept>
<concept id="5455284157993863837" name="jetbrains.mps.lang.quotation.structure.NodeBuilder" flags="nn" index="2pJPEk">
<child id="5455284157993863838" name="quotedNode" index="2pJPEn" />
</concept>
<concept id="5455284157993863840" name="jetbrains.mps.lang.quotation.structure.NodeBuilderNode" flags="nn" index="2pJPED">
<reference id="5455284157993910961" name="concept" index="2pJxaS" />
<child id="5455284157993911099" name="values" index="2pJxcM" />
</concept>
<concept id="8182547171709752110" name="jetbrains.mps.lang.quotation.structure.NodeBuilderExpression" flags="nn" index="36biLy">
<child id="8182547171709752112" name="expression" index="36biLW" />
</concept>
</language>
<language id="35320f26-77cb-4c55-be9f-a97a27770af1" name="jetbrains.mps.logic">
<concept id="8169506320648805904" name="jetbrains.mps.logic.structure.LogicalVariableDeclarationContainer" flags="ng" index="29MRiA">
<child id="6399471711045617306" name="dataType" index="3vLBG7" />
@ -106,6 +123,18 @@
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="4b5b4f8d-d30a-4ef8-9bf4-dfd26af9d462" name="jetbrains.mps.lang.typechecking">
<concept id="7505246501517185035" name="jetbrains.mps.lang.typechecking.structure.TypeTermDeclaration" flags="ng" index="3iyMRA">
<child id="7505246501517407186" name="builder" index="3i_WSZ" />
</concept>
<concept id="7505246501517142009" name="jetbrains.mps.lang.typechecking.structure.TypeTermTable" flags="ng" index="3iyXCk" />
<concept id="7505246501517400215" name="jetbrains.mps.lang.typechecking.structure.TypeNodeBuilder" flags="ng" index="3i_YlU">
<child id="7505246501517414874" name="body" index="3i_UKR" />
</concept>
<concept id="1722266558648635144" name="jetbrains.mps.lang.typechecking.structure.FeatureReferenceExpression" flags="ng" index="1NbZt7">
<reference id="1722266558648637849" name="feature" index="1NbY7m" />
</concept>
</language>
<language id="c7fb639f-be78-4307-89b0-b5959c3fa8c8" name="jetbrains.mps.lang.text">
<concept id="155656958578482948" name="jetbrains.mps.lang.text.structure.Word" flags="nn" index="3oM_SD">
<property id="155656958578482949" name="value" index="3oM_SC" />
@ -228,22 +257,6 @@
<concept id="965748826975413063" name="jetbrains.mps.lang.coderules.structure.RulePartParameterDeclaration" flags="ng" index="3NuqgR" />
</language>
</registry>
<node concept="ns1xd" id="6BFOg89KpgF">
<property role="TrG5h" value="FunctionTerm" />
<ref role="2efqH6" to="kqnc:JOGAOsVt29" resolve="Terms" />
<node concept="ns1x$" id="6$MmqWflYd6" role="ns1xc">
<property role="TrG5h" value="function" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="6$MmqWflYd7" role="ns1xx">
<node concept="nstbe" id="6$MmqWflYdg" role="nspSe">
<property role="TrG5h" value="result" />
</node>
<node concept="nsiOd" id="6$MmqWflYdw" role="nspSe">
<property role="TrG5h" value="params" />
</node>
</node>
</node>
</node>
<node concept="AVZre" id="6BFOg89KpgP">
<property role="TrG5h" value="ConversionMainFunction" />
<ref role="2YbDB9" to="kqnc:24Vro6cM_J$" resolve="ConversionMain" />
@ -883,5 +896,44 @@
</node>
</node>
</node>
<node concept="3iyXCk" id="6BFOg89KpgF">
<property role="TrG5h" value="FunctionTerm" />
<ref role="2efqH6" to="kqnc:JOGAOsVt29" resolve="Terms" />
<node concept="3iyMRA" id="6$MmqWflYd6" role="ns1xc">
<property role="TrG5h" value="function" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="6$MmqWflYd7" role="ns1xx">
<node concept="nstbe" id="6$MmqWflYdg" role="nspSe">
<property role="TrG5h" value="result" />
</node>
<node concept="nsiOd" id="6$MmqWflYdw" role="nspSe">
<property role="TrG5h" value="params" />
</node>
</node>
<node concept="3i_YlU" id="4APe_wKcc8M" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKcc8N" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKcc8O" role="2pJPEn">
<ref role="2pJxaS" to="tp2c:htajhBZ" resolve="FunctionType" />
<node concept="2pIpSj" id="4APe_wKfObZ" role="2pJxcM">
<ref role="2pIpSl" to="tp2c:htajw4W" resolve="parameterType" />
<node concept="36biLy" id="4APe_wKfOfn" role="28nt2d">
<node concept="1NbZt7" id="4APe_wKfOgL" role="36biLW">
<ref role="1NbY7m" node="6$MmqWflYdw" resolve="params" />
</node>
</node>
</node>
<node concept="2pIpSj" id="4APe_wKfOdx" role="2pJxcM">
<ref role="2pIpSl" to="tp2c:htajldL" resolve="resultType" />
<node concept="36biLy" id="4APe_wKfOiy" role="28nt2d">
<node concept="1NbZt7" id="4APe_wKfOjV" role="36biLW">
<ref role="1NbY7m" node="6$MmqWflYdg" resolve="result" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -11,6 +11,7 @@
<import index="kqnc" ref="r:92b96158-68e6-4f53-a32b-36e2b456fe01(jetbrains.mps.baseLanguageExt.types)" />
<import index="tpee" ref="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" implicit="true" />
<import index="wyt6" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)" implicit="true" />
<import index="tp2q" ref="r:00000000-0000-4000-0000-011c8959032e(jetbrains.mps.baseLanguage.collections.structure)" implicit="true" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -34,6 +35,22 @@
<reference id="1107535924139" name="classifier" index="3uigEE" />
</concept>
</language>
<language id="3a13115c-633c-4c5c-bbcc-75c4219e9555" name="jetbrains.mps.lang.quotation">
<concept id="5455284157994012186" name="jetbrains.mps.lang.quotation.structure.NodeBuilderInitLink" flags="ng" index="2pIpSj">
<reference id="5455284157994012188" name="link" index="2pIpSl" />
<child id="1595412875168045827" name="initValue" index="28nt2d" />
</concept>
<concept id="5455284157993863837" name="jetbrains.mps.lang.quotation.structure.NodeBuilder" flags="nn" index="2pJPEk">
<child id="5455284157993863838" name="quotedNode" index="2pJPEn" />
</concept>
<concept id="5455284157993863840" name="jetbrains.mps.lang.quotation.structure.NodeBuilderNode" flags="nn" index="2pJPED">
<reference id="5455284157993910961" name="concept" index="2pJxaS" />
<child id="5455284157993911099" name="values" index="2pJxcM" />
</concept>
<concept id="8182547171709752110" name="jetbrains.mps.lang.quotation.structure.NodeBuilderExpression" flags="nn" index="36biLy">
<child id="8182547171709752112" name="expression" index="36biLW" />
</concept>
</language>
<language id="35320f26-77cb-4c55-be9f-a97a27770af1" name="jetbrains.mps.logic">
<concept id="8169506320648805904" name="jetbrains.mps.logic.structure.LogicalVariableDeclarationContainer" flags="ng" index="29MRiA">
<child id="6399471711045617306" name="dataType" index="3vLBG7" />
@ -64,6 +81,18 @@
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="4b5b4f8d-d30a-4ef8-9bf4-dfd26af9d462" name="jetbrains.mps.lang.typechecking">
<concept id="7505246501517185035" name="jetbrains.mps.lang.typechecking.structure.TypeTermDeclaration" flags="ng" index="3iyMRA">
<child id="7505246501517407186" name="builder" index="3i_WSZ" />
</concept>
<concept id="7505246501517142009" name="jetbrains.mps.lang.typechecking.structure.TypeTermTable" flags="ng" index="3iyXCk" />
<concept id="7505246501517400215" name="jetbrains.mps.lang.typechecking.structure.TypeNodeBuilder" flags="ng" index="3i_YlU">
<child id="7505246501517414874" name="body" index="3i_UKR" />
</concept>
<concept id="1722266558648635144" name="jetbrains.mps.lang.typechecking.structure.FeatureReferenceExpression" flags="ng" index="1NbZt7">
<reference id="1722266558648637849" name="feature" index="1NbY7m" />
</concept>
</language>
<language id="c4803b19-6d89-4a3b-bf82-390769514add" name="jetbrains.mps.lang.coderules">
<concept id="1618328391714763069" name="jetbrains.mps.lang.coderules.structure.MacroTable" flags="ng" index="0oKg$">
<child id="1618328391714763070" name="macro" index="0oKgB" />
@ -76,7 +105,6 @@
<child id="861509610434243076" name="override" index="ns1xD" />
</concept>
<concept id="861509610434243104" name="jetbrains.mps.lang.coderules.structure.TermTable" flags="ng" index="ns1xd">
<reference id="8966267790978924106" name="extended" index="2efqH6" />
<child id="861509610434243105" name="contents" index="ns1xc" />
</concept>
<concept id="861509610434243081" name="jetbrains.mps.lang.coderules.structure.TermDeclaration" flags="ng" index="ns1x$">
@ -169,18 +197,6 @@
<concept id="965748826975413063" name="jetbrains.mps.lang.coderules.structure.RulePartParameterDeclaration" flags="ng" index="3NuqgR" />
</language>
</registry>
<node concept="ns1xd" id="3MFPGC50_T2">
<property role="TrG5h" value="SequenceTerm" />
<ref role="2efqH6" to="kqnc:JOGAOsVt29" resolve="Terms" />
<node concept="ns1x$" id="3MFPGC50Ab3" role="ns1xc">
<property role="TrG5h" value="sequence" />
<node concept="nspSf" id="3MFPGC50Ab4" role="ns1xx">
<node concept="nstbe" id="3MFPGC50Aiu" role="nspSe">
<property role="TrG5h" value="elem" />
</node>
</node>
</node>
</node>
<node concept="0oKg$" id="1oUE7CXmlxI">
<property role="TrG5h" value="SequenceTypeMacro" />
<node concept="3hwh0R" id="1oUE7CX4dOb" role="0oKgB">
@ -955,5 +971,31 @@
</node>
</node>
</node>
<node concept="3iyXCk" id="3MFPGC50_T2">
<property role="TrG5h" value="SequenceTerm" />
<node concept="3iyMRA" id="3MFPGC50Ab3" role="ns1xc">
<property role="TrG5h" value="sequence" />
<node concept="nspSf" id="3MFPGC50Ab4" role="ns1xx">
<node concept="nstbe" id="3MFPGC50Aiu" role="nspSe">
<property role="TrG5h" value="elem" />
</node>
</node>
<node concept="3i_YlU" id="4APe_wKcc6P" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKcc6Q" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKcc6R" role="2pJPEn">
<ref role="2pJxaS" to="tp2q:gKA3Dh4" resolve="SequenceType" />
<node concept="2pIpSj" id="4APe_wKcdDC" role="2pJxcM">
<ref role="2pIpSl" to="tp2q:gKA3Ige" resolve="elementType" />
<node concept="36biLy" id="4APe_wKcdDO" role="28nt2d">
<node concept="1NbZt7" id="4APe_wKcdDZ" role="36biLW">
<ref role="1NbY7m" node="3MFPGC50Aiu" resolve="elem" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -69,6 +69,7 @@
<dependency reexport="false">35320f26-77cb-4c55-be9f-a97a27770af1(jetbrains.mps.logic)</dependency>
<dependency reexport="false">d44dab97-aaac-44cb-9745-8a14db674c03(jetbrains.mps.baseLanguage.tuples.runtime)</dependency>
<dependency reexport="false">f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</dependency>
<dependency reexport="false">7a5dda62-9140-4668-ab76-d5ed1746f2b2(jetbrains.mps.lang.typesystem)</dependency>
</dependencies>
<languageVersions>
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="11" />
@ -81,8 +82,8 @@
<language slang="l:a247e09e-2435-45ba-b8d2-07e93feba96a:jetbrains.mps.baseLanguage.tuples" version="0" />
<language slang="l:df345b11-b8c7-4213-ac66-48d2a9b75d88:jetbrains.mps.baseLanguageInternal" version="0" />
<language slang="l:aee9cad2-acd4-4608-aef2-0004f6a1cdbd:jetbrains.mps.lang.actions" version="4" />
<language slang="l:f159adf4-3c93-40f9-9c5a-1f245a8697af:jetbrains.mps.lang.aspect" version="2" />
<language slang="l:af65afd8-f0dd-4942-87d9-63a55f2a9db1:jetbrains.mps.lang.behavior" version="2" />
<language slang="l:fe9d76d7-5809-45c9-ae28-a40915b4d6ff:jetbrains.mps.lang.checkedName" version="1" />
<language slang="l:c4803b19-6d89-4a3b-bf82-390769514add:jetbrains.mps.lang.coderules" version="23" />
<language slang="l:3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1:jetbrains.mps.lang.constraints" version="6" />
<language slang="l:e51810c5-7308-4642-bcb6-469e61b5dd18:jetbrains.mps.lang.constraints.msg.specification" version="0" />
@ -115,7 +116,9 @@
<language slang="l:b83431fe-5c8f-40bc-8a36-65e25f4dd253:jetbrains.mps.lang.textGen" version="1" />
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
<language slang="l:4b5b4f8d-d30a-4ef8-9bf4-dfd26af9d462:jetbrains.mps.lang.typechecking" version="1" />
<language slang="l:afc17aaf-3a3d-4d69-a38d-db90d5e858c6:jetbrains.mps.lang.types" version="0" />
<language slang="l:7a5dda62-9140-4668-ab76-d5ed1746f2b2:jetbrains.mps.lang.typesystem" version="5" />
<language slang="l:c9d137c4-3259-44f8-80ff-33ab2b506ee4:jetbrains.mps.lang.util.order" version="0" />
<language slang="l:35320f26-77cb-4c55-be9f-a97a27770af1:jetbrains.mps.logic" version="13" />
</languageVersions>
<dependencyVersions>
@ -124,17 +127,25 @@
<module reference="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)" version="0" />
<module reference="8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)" version="0" />
<module reference="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" version="0" />
<module reference="fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures)" version="0" />
<module reference="83888646-71ce-4f1c-9c53-c54016f6ad4f(jetbrains.mps.baseLanguage.collections)" version="0" />
<module reference="e39e4a59-8cb6-498e-860e-8fa8361c0d90(jetbrains.mps.baseLanguage.scopes)" version="0" />
<module reference="a247e09e-2435-45ba-b8d2-07e93feba96a(jetbrains.mps.baseLanguage.tuples)" version="0" />
<module reference="d44dab97-aaac-44cb-9745-8a14db674c03(jetbrains.mps.baseLanguage.tuples.runtime)" version="0" />
<module reference="d351f235-67ad-4737-a13e-ec0ea46c55e2(jetbrains.mps.baseLanguage.tuplesExt)" version="0" />
<module reference="0fda14cc-a416-4c81-869a-2175d8b3325d(jetbrains.mps.baseLanguageExt)" version="0" />
<module reference="2d3c70e9-aab2-4870-8d8d-6036800e4103(jetbrains.mps.kernel)" version="0" />
<module reference="d936855b-48da-4812-a8a0-2bfddd633ac5(jetbrains.mps.lang.behavior.api)" version="0" />
<module reference="ff6372a2-2f45-4ec3-952b-02581666015f(jetbrains.mps.lang.coderules.template)" version="0" />
<module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" />
<module reference="a9e4c532-c5f5-4bb7-99ef-42abb73bbb70(jetbrains.mps.lang.descriptor.aspects)" version="0" />
<module reference="446c26eb-2b7b-4bf0-9b35-f83fa582753e(jetbrains.mps.lang.modelapi)" version="0" />
<module reference="d7eb0a2a-bd50-4576-beae-e4a89db35f20(jetbrains.mps.lang.scopes.runtime)" version="0" />
<module reference="7866978e-a0f0-4cc7-81bc-4d213d9375e1(jetbrains.mps.lang.smodel)" version="1" />
<module reference="c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)" version="0" />
<module reference="9ded098b-ad6a-4657-bfd9-48636cfe8bc3(jetbrains.mps.lang.traceable)" version="0" />
<module reference="f486b8aa-5b2d-4ec0-8ef5-8f45d773fb84(jetbrains.mps.lang.typechecking.runtime)" version="0" />
<module reference="7a5dda62-9140-4668-ab76-d5ed1746f2b2(jetbrains.mps.lang.typesystem)" version="0" />
<module reference="35320f26-77cb-4c55-be9f-a97a27770af1(jetbrains.mps.logic)" version="0" />
<module reference="bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor)" version="0" />
<module reference="a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)" version="0" />

View File

@ -13,15 +13,13 @@
<import index="cx9y" ref="r:309aeee7-bee8-445c-b31d-35928d1da75f(jetbrains.mps.baseLanguage.tuples.structure)" />
<import index="upz5" ref="r:33366a6f-09e8-45e7-ae7f-cb8cf0c7ed05(jetbrains.mps.baseLanguage.tuples.runtime)" />
<import index="tpee" ref="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" />
<import index="tpd4" ref="r:00000000-0000-4000-0000-011c895902b4(jetbrains.mps.lang.typesystem.structure)" />
<import index="tpek" ref="r:00000000-0000-4000-0000-011c895902c0(jetbrains.mps.baseLanguage.behavior)" implicit="true" />
<import index="wyt6" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)" implicit="true" />
<import index="mhbf" ref="8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.model(MPS.OpenAPI/)" implicit="true" />
</imports>
<registry>
<language id="a247e09e-2435-45ba-b8d2-07e93feba96a" name="jetbrains.mps.baseLanguage.tuples">
<concept id="1238852151516" name="jetbrains.mps.baseLanguage.tuples.structure.IndexedTupleType" flags="in" index="1LlUBW">
<child id="1238852204892" name="componentType" index="1Lm7xW" />
</concept>
<concept id="1238853782547" name="jetbrains.mps.baseLanguage.tuples.structure.IndexedTupleLiteral" flags="nn" index="1Ls8ON">
<child id="1238853845806" name="component" index="1Lso8e" />
</concept>
@ -64,7 +62,6 @@
<property id="1176718929932" name="isFinal" index="3TUv4t" />
<child id="1068431790190" name="initializer" index="33vP2m" />
</concept>
<concept id="1068431790189" name="jetbrains.mps.baseLanguage.structure.Type" flags="in" index="33vP2l" />
<concept id="1068498886296" name="jetbrains.mps.baseLanguage.structure.VariableReference" flags="nn" index="37vLTw">
<reference id="1068581517664" name="variableDeclaration" index="3cqZAo" />
</concept>
@ -130,13 +127,30 @@
</concept>
</language>
<language id="3a13115c-633c-4c5c-bbcc-75c4219e9555" name="jetbrains.mps.lang.quotation">
<concept id="1196350785110" name="jetbrains.mps.lang.quotation.structure.AbstractAntiquotation" flags="ng" index="2c44t0">
<child id="1196350785111" name="expression" index="2c44t1" />
</concept>
<concept id="1196350785118" name="jetbrains.mps.lang.quotation.structure.ListAntiquotation" flags="ng" index="2c44t8" />
<concept id="1196350785113" name="jetbrains.mps.lang.quotation.structure.Quotation" flags="nn" index="2c44tf">
<child id="1196350785114" name="quotedNode" index="2c44tc" />
</concept>
<concept id="5455284157994012186" name="jetbrains.mps.lang.quotation.structure.NodeBuilderInitLink" flags="ng" index="2pIpSj">
<reference id="5455284157994012188" name="link" index="2pIpSl" />
<child id="1595412875168045827" name="initValue" index="28nt2d" />
</concept>
<concept id="5455284157993911077" name="jetbrains.mps.lang.quotation.structure.NodeBuilderInitProperty" flags="ng" index="2pJxcG">
<reference id="5455284157993911078" name="property" index="2pJxcJ" />
<child id="1595412875168045201" name="initValue" index="28ntcv" />
</concept>
<concept id="5455284157993863837" name="jetbrains.mps.lang.quotation.structure.NodeBuilder" flags="nn" index="2pJPEk">
<child id="5455284157993863838" name="quotedNode" index="2pJPEn" />
</concept>
<concept id="5455284157993863840" name="jetbrains.mps.lang.quotation.structure.NodeBuilderNode" flags="nn" index="2pJPED">
<reference id="5455284157993910961" name="concept" index="2pJxaS" />
<child id="5455284157993911099" name="values" index="2pJxcM" />
</concept>
<concept id="6985522012210254362" name="jetbrains.mps.lang.quotation.structure.NodeBuilderPropertyExpression" flags="nn" index="WxPPo">
<child id="6985522012210254363" name="expression" index="WxPPp" />
</concept>
<concept id="8182547171709752110" name="jetbrains.mps.lang.quotation.structure.NodeBuilderExpression" flags="nn" index="36biLy">
<child id="8182547171709752112" name="expression" index="36biLW" />
</concept>
</language>
<language id="446c26eb-2b7b-4bf0-9b35-f83fa582753e" name="jetbrains.mps.lang.modelapi">
<concept id="4733039728785194814" name="jetbrains.mps.lang.modelapi.structure.NamedNodeReference" flags="ng" index="ZC_QK">
@ -187,9 +201,6 @@
<concept id="1145404486709" name="jetbrains.mps.lang.smodel.structure.SemanticDowncastExpression" flags="nn" index="2JrnkZ">
<child id="1145404616321" name="leftExpression" index="2JrQYb" />
</concept>
<concept id="1145567426890" name="jetbrains.mps.lang.smodel.structure.SNodeListCreator" flags="nn" index="2T8Vx0">
<child id="1145567471833" name="createdType" index="2T96Bj" />
</concept>
<concept id="1172008320231" name="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" flags="nn" index="3x8VRR" />
<concept id="1138055754698" name="jetbrains.mps.lang.smodel.structure.SNodeType" flags="in" index="3Tqbb2">
<reference id="1138405853777" name="concept" index="ehGHo" />
@ -204,12 +215,23 @@
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<property id="1193676396447" name="virtualPackage" index="3GE5qa" />
<child id="5169995583184591170" name="smodelAttribute" index="lGtFl" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="4b5b4f8d-d30a-4ef8-9bf4-dfd26af9d462" name="jetbrains.mps.lang.typechecking">
<concept id="7505246501517185035" name="jetbrains.mps.lang.typechecking.structure.TypeTermDeclaration" flags="ng" index="3iyMRA">
<child id="7505246501517407186" name="builder" index="3i_WSZ" />
</concept>
<concept id="7505246501517142009" name="jetbrains.mps.lang.typechecking.structure.TypeTermTable" flags="ng" index="3iyXCk" />
<concept id="7505246501517400215" name="jetbrains.mps.lang.typechecking.structure.TypeNodeBuilder" flags="ng" index="3i_YlU">
<child id="7505246501517414874" name="body" index="3i_UKR" />
</concept>
<concept id="1722266558648635144" name="jetbrains.mps.lang.typechecking.structure.FeatureReferenceExpression" flags="ng" index="1NbZt7">
<reference id="1722266558648637849" name="feature" index="1NbY7m" />
</concept>
</language>
<language id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections">
<concept id="1151688443754" name="jetbrains.mps.baseLanguage.collections.structure.ListType" flags="in" index="_YKpA">
<child id="1151688676805" name="elementType" index="_ZDj9" />
@ -1405,142 +1427,6 @@
</node>
</node>
</node>
<node concept="AVZre" id="2WQBycG$hsu">
<property role="3GE5qa" value="rule" />
<property role="TrG5h" value="RecoverTuple" />
<ref role="2YbDB9" to="kqnc:6Qzc0KyJGzD" resolve="Recover" />
<node concept="1nLNMY" id="2WQBycG$nvU" role="1nK1Vg">
<property role="TrG5h" value="recover_indexedTupleType" />
<node concept="3clFbS" id="2WQBycG$nvV" role="1nLNMH">
<node concept="1nLNNL" id="12QmIo_7sfB" role="3cqZAp">
<node concept="1nLNMm" id="12QmIo_7sfC" role="1nLNNK">
<node concept="3Aq93q" id="5upUcEtdUWy" role="1nLNMb">
<node concept="3I6sU6" id="5upUcEtdUWz" role="3Ip0Jz">
<node concept="3I6s7M" id="5upUcEtdXZM" role="3I6sU7">
<node concept="3Aqt3T" id="5upUcEtdXZL" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="5upUcEtdXZR" role="3AunhB">
<ref role="a7OzE" node="5upUcEtdUWC" resolve="Node" />
</node>
<node concept="1HFMs5" id="1mdVbTSaq2o" role="3AunhB">
<node concept="ns1u0" id="JOGAOsVt9$" role="1uarlW">
<ref role="ns1xF" node="4E290qPYB6e" resolve="tuple" />
<node concept="nsMwS" id="2WQBycG$n_7" role="ns1xD">
<ref role="nsMwP" node="4E290qPYBjo" resolve="types" />
<node concept="a7P8L" id="2WQBycG$nAf" role="iSaTp">
<ref role="a7OzE" node="5upUcEtdY0_" resolve="CompTypes" />
</node>
</node>
</node>
<node concept="a7P8L" id="5upUcEtdXZZ" role="1uarlU">
<ref role="a7OzE" node="5upUcEtdUWI" resolve="Type" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="5upUcEtdUWB" role="0Rg$4">
<node concept="aZer4" id="5upUcEtdUWC" role="3XD1gS">
<property role="TrG5h" value="Node" />
</node>
<node concept="3Tqbb2" id="5f6wxQ30Ugg" role="3vLBG7" />
</node>
<node concept="3NuqgR" id="2WQBycG$nBx" role="0Rg$4">
<node concept="aZer4" id="2WQBycG$nBy" role="3XD1gS">
<property role="TrG5h" value="Components" />
</node>
<node concept="2I9FWS" id="2WQBycG$nBP" role="3vLBG7" />
</node>
<node concept="3NuqgR" id="5f6wxQ30Unu" role="0Rg$4">
<node concept="aZer4" id="5upUcEtdY0_" role="3XD1gS">
<property role="TrG5h" value="CompTypes" />
</node>
<node concept="aZer4" id="5upUcEtdUWI" role="3XD1gS">
<property role="TrG5h" value="Type" />
</node>
<node concept="32pEOW" id="24ciDNzxNEU" role="3vLBG7" />
</node>
<node concept="3xSepi" id="6E2cNicdikf" role="3xSepv">
<node concept="3Aq9E8" id="5upUcEtdY2q" role="3xSepj">
<node concept="3I6sU6" id="5upUcEtdY2r" role="3Ip0Jz">
<node concept="3I6s7M" id="2WQBycG$nGx" role="3I6sU7">
<node concept="3A8Hvi" id="2WQBycG$nGB" role="3I6s78">
<node concept="HKQnh" id="2WQBycG$nHn" role="3A8w4Q">
<node concept="2ShNRf" id="2WQBycG$nHs" role="HKQng">
<node concept="2T8Vx0" id="2WQBycG$oS$" role="2ShVmc">
<node concept="2I9FWS" id="2WQBycG$oSA" role="2T96Bj" />
</node>
</node>
</node>
<node concept="a7P8L" id="2WQBycG$nGa" role="3A8wtg">
<ref role="a7OzE" node="2WQBycG$nBy" resolve="Components" />
</node>
</node>
</node>
<node concept="3I6s7M" id="2WQBycG$nDm" role="3I6sU7">
<node concept="3Aqt3T" id="2WQBycG$nDk" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6N2bvv_l2qf" resolve="recoverList" />
<node concept="a7P8L" id="2WQBycG$nD$" role="3AunhB">
<ref role="a7OzE" node="2WQBycG$nBy" resolve="Components" />
</node>
<node concept="a7P8L" id="2WQBycG$oUK" role="3AunhB">
<ref role="a7OzE" node="5upUcEtdY0_" resolve="CompTypes" />
</node>
</node>
</node>
<node concept="3I6s7M" id="2WQBycG$oZJ" role="3I6sU7">
<node concept="3A8Hvi" id="2WQBycG$oZP" role="3I6s78">
<node concept="HKQnh" id="2WQBycG$p0$" role="3A8w4Q">
<node concept="2c44tf" id="2WQBycG$pfz" role="HKQng">
<node concept="1LlUBW" id="19OC90icc2" role="2c44tc">
<node concept="33vP2l" id="2WQBycG$qEy" role="1Lm7xW">
<node concept="2c44t8" id="2WQBycG$qGF" role="lGtFl">
<node concept="1Ft4W6" id="2WQBycG$qH3" role="2c44t1">
<node concept="a7P8L" id="2WQBycG$qH2" role="1FtiSR">
<ref role="a7OzE" node="2WQBycG$nBy" resolve="Components" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="a7P8L" id="2WQBycG$oZp" role="3A8wtg">
<ref role="a7OzE" node="5upUcEtdUWC" resolve="Node" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="ns1xd" id="4E290qPYB4i">
<property role="TrG5h" value="TupleTerms" />
<ref role="2efqH6" to="kqnc:JOGAOsVt29" resolve="Terms" />
<node concept="ns1x$" id="4E290qPYB6e" role="ns1xc">
<property role="TrG5h" value="tuple" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="4E290qPYB6f" role="ns1xx">
<node concept="nsiOd" id="4E290qPYBjo" role="nspSe">
<property role="TrG5h" value="types" />
</node>
</node>
</node>
<node concept="ns1x$" id="127bLwWzyiy" role="ns1xc">
<property role="TrG5h" value="namedTuple" />
<ref role="ns1xW" to="kqnc:ZJPHcupkhk" resolve="parameterized" />
<node concept="nspSf" id="127bLwWzyiz" role="ns1xx">
<node concept="nssqF" id="127bLwWzysC" role="nspSe">
<property role="TrG5h" value="decl" />
</node>
</node>
</node>
</node>
<node concept="AVZre" id="3CulEO3zlYe">
<property role="3GE5qa" value="rule" />
<property role="TrG5h" value="ConvertsTuples" />
@ -2315,5 +2201,57 @@
</node>
</node>
</node>
<node concept="3iyXCk" id="4E290qPYB4i">
<property role="TrG5h" value="TupleTerms" />
<ref role="2efqH6" to="kqnc:JOGAOsVt29" resolve="Terms" />
<node concept="3iyMRA" id="4E290qPYB6e" role="ns1xc">
<property role="TrG5h" value="tuple" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="4E290qPYB6f" role="ns1xx">
<node concept="nsiOd" id="4E290qPYBjo" role="nspSe">
<property role="TrG5h" value="types" />
</node>
</node>
<node concept="3i_YlU" id="4APe_wKcc4L" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKcc4M" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKcc4N" role="2pJPEn">
<ref role="2pJxaS" to="cx9y:i1LlUzs" resolve="IndexedTupleType" />
<node concept="2pIpSj" id="4APe_wKfY3d" role="2pJxcM">
<ref role="2pIpSl" to="cx9y:i1Lm7_s" resolve="componentType" />
<node concept="36biLy" id="4APe_wKfY6Q" role="28nt2d">
<node concept="1NbZt7" id="4APe_wKfY7Q" role="36biLW">
<ref role="1NbY7m" node="4E290qPYBjo" resolve="types" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3iyMRA" id="127bLwWzyiy" role="ns1xc">
<property role="TrG5h" value="namedTuple" />
<ref role="ns1xW" to="kqnc:ZJPHcupkhk" resolve="parameterized" />
<node concept="nspSf" id="127bLwWzyiz" role="ns1xx">
<node concept="nssqF" id="127bLwWzysC" role="nspSe">
<property role="TrG5h" value="decl" />
</node>
</node>
<node concept="3i_YlU" id="4APe_wKcc4P" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKcc4Q" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKcc4R" role="2pJPEn">
<ref role="2pJxaS" to="tpd4:hfSilrT" resolve="RuntimeErrorType" />
<node concept="2pJxcG" id="4APe_wKg6Is" role="2pJxcM">
<ref role="2pJxcJ" to="tpd4:hfSilrU" resolve="errorText" />
<node concept="WxPPo" id="4APe_wKg6J7" role="28ntcv">
<node concept="Xl_RD" id="4APe_wKg6J6" role="WxPPp">
<property role="Xl_RC" value="not supported" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -25,6 +25,7 @@
<dependency reexport="false">f113d56b-63e3-4120-a89c-2f5dcb8c6290(jetbrains.mps.coderules.runtime)</dependency>
<dependency reexport="false">ed6d7656-532c-4bc2-81d1-af945aeb8280(jetbrains.mps.baseLanguage.blTypes)</dependency>
<dependency reexport="false">a0c108f0-1637-416e-a249-3effbaa4c998(jetbrains.mps.baseLanguage.search)</dependency>
<dependency reexport="false">7a5dda62-9140-4668-ab76-d5ed1746f2b2(jetbrains.mps.lang.typesystem)</dependency>
</dependencies>
<languageVersions>
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="11" />
@ -109,6 +110,7 @@
<module reference="4b5b4f8d-d30a-4ef8-9bf4-dfd26af9d462(jetbrains.mps.lang.typechecking)" version="0" />
<module reference="f486b8aa-5b2d-4ec0-8ef5-8f45d773fb84(jetbrains.mps.lang.typechecking.runtime)" version="0" />
<module reference="afc17aaf-3a3d-4d69-a38d-db90d5e858c6(jetbrains.mps.lang.types)" version="0" />
<module reference="7a5dda62-9140-4668-ab76-d5ed1746f2b2(jetbrains.mps.lang.typesystem)" version="0" />
<module reference="c9d137c4-3259-44f8-80ff-33ab2b506ee4(jetbrains.mps.lang.util.order)" version="0" />
<module reference="35320f26-77cb-4c55-be9f-a97a27770af1(jetbrains.mps.logic)" version="0" />
<module reference="bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor)" version="0" />

View File

@ -12,6 +12,7 @@
<import index="kqnc" ref="r:92b96158-68e6-4f53-a32b-36e2b456fe01(jetbrains.mps.baseLanguageExt.types)" />
<import index="tp68" ref="r:00000000-0000-4000-0000-011c895903ac(jetbrains.mps.baseLanguageInternal.structure)" />
<import index="wyt6" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)" implicit="true" />
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -32,6 +33,14 @@
<child id="8356039341262087992" name="line" index="1aUNEU" />
</concept>
</language>
<language id="3a13115c-633c-4c5c-bbcc-75c4219e9555" name="jetbrains.mps.lang.quotation">
<concept id="5455284157993863837" name="jetbrains.mps.lang.quotation.structure.NodeBuilder" flags="nn" index="2pJPEk">
<child id="5455284157993863838" name="quotedNode" index="2pJPEn" />
</concept>
<concept id="5455284157993863840" name="jetbrains.mps.lang.quotation.structure.NodeBuilderNode" flags="nn" index="2pJPED">
<reference id="5455284157993910961" name="concept" index="2pJxaS" />
</concept>
</language>
<language id="35320f26-77cb-4c55-be9f-a97a27770af1" name="jetbrains.mps.logic">
<concept id="8456919074574710634" name="jetbrains.mps.logic.structure.ExpressionItem" flags="ng" index="37jhX">
<child id="8456919074574710741" name="code" index="37jj2" />
@ -67,6 +76,15 @@
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="4b5b4f8d-d30a-4ef8-9bf4-dfd26af9d462" name="jetbrains.mps.lang.typechecking">
<concept id="7505246501517185035" name="jetbrains.mps.lang.typechecking.structure.TypeTermDeclaration" flags="ng" index="3iyMRA">
<child id="7505246501517407186" name="builder" index="3i_WSZ" />
</concept>
<concept id="7505246501517142009" name="jetbrains.mps.lang.typechecking.structure.TypeTermTable" flags="ng" index="3iyXCk" />
<concept id="7505246501517400215" name="jetbrains.mps.lang.typechecking.structure.TypeNodeBuilder" flags="ng" index="3i_YlU">
<child id="7505246501517414874" name="body" index="3i_UKR" />
</concept>
</language>
<language id="c7fb639f-be78-4307-89b0-b5959c3fa8c8" name="jetbrains.mps.lang.text">
<concept id="155656958578482948" name="jetbrains.mps.lang.text.structure.Word" flags="nn" index="3oM_SD">
<property id="155656958578482949" name="value" index="3oM_SC" />
@ -1388,10 +1406,10 @@
</node>
</node>
</node>
<node concept="ns1xd" id="7ZvrONsSHYp">
<node concept="3iyXCk" id="7ZvrONsSHYp">
<property role="TrG5h" value="InternTerms" />
<ref role="2efqH6" to="kqnc:JOGAOsVt29" resolve="Terms" />
<node concept="ns1x$" id="7ZvrONsSHYs" role="ns1xc">
<node concept="3iyMRA" id="7ZvrONsSHYs" role="ns1xc">
<property role="TrG5h" value="internClassifier" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="7ZvrONsSHYt" role="ns1xx">
@ -1399,6 +1417,13 @@
<property role="TrG5h" value="classname" />
</node>
</node>
<node concept="3i_YlU" id="4APe_wKcc2O" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKcc2P" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKcc2Q" role="2pJPEn">
<ref role="2pJxaS" to="tpck:gw2VY9q" resolve="BaseConcept" />
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -27,7 +27,6 @@
<child id="1082485599096" name="statements" index="9aQI4" />
</concept>
<concept id="4836112446988635817" name="jetbrains.mps.baseLanguage.structure.UndefinedType" flags="in" index="2jxLKc" />
<concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
<concept id="1239714755177" name="jetbrains.mps.baseLanguage.structure.AbstractUnaryNumberOperation" flags="nn" index="2$Kvd9">
<child id="1239714902950" name="expression" index="2$L3a6" />
</concept>
@ -75,11 +74,9 @@
<concept id="1081506773034" name="jetbrains.mps.baseLanguage.structure.LessThanExpression" flags="nn" index="3eOVzh" />
<concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ng" index="1ndlxa">
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
<child id="1068499141038" name="actualArgument" index="37wK5m" />
</concept>
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
<child id="1109201940907" name="parameter" index="11_B2D" />
</concept>
<concept id="1081773326031" name="jetbrains.mps.baseLanguage.structure.BinaryOperation" flags="nn" index="3uHJSO">
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
@ -106,6 +103,12 @@
<concept id="1196350785113" name="jetbrains.mps.lang.quotation.structure.Quotation" flags="nn" index="2c44tf">
<child id="1196350785114" name="quotedNode" index="2c44tc" />
</concept>
<concept id="5455284157993863837" name="jetbrains.mps.lang.quotation.structure.NodeBuilder" flags="nn" index="2pJPEk">
<child id="5455284157993863838" name="quotedNode" index="2pJPEn" />
</concept>
<concept id="5455284157993863840" name="jetbrains.mps.lang.quotation.structure.NodeBuilderNode" flags="nn" index="2pJPED">
<reference id="5455284157993910961" name="concept" index="2pJxaS" />
</concept>
</language>
<language id="35320f26-77cb-4c55-be9f-a97a27770af1" name="jetbrains.mps.logic">
<concept id="8456919074574710634" name="jetbrains.mps.logic.structure.ExpressionItem" flags="ng" index="37jhX">
@ -133,9 +136,7 @@
<concept id="1138411891628" name="jetbrains.mps.lang.smodel.structure.SNodeOperation" flags="nn" index="eCIE_">
<child id="1144104376918" name="parameter" index="1xVPHs" />
</concept>
<concept id="5045161044515397667" name="jetbrains.mps.lang.smodel.structure.Node_PointerOperation" flags="ng" index="iZEcu" />
<concept id="1179409122411" name="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" flags="nn" index="2qgKlT" />
<concept id="7400021826771268254" name="jetbrains.mps.lang.smodel.structure.SNodePointerType" flags="ig" index="2sp9CU" />
<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" />
@ -173,6 +174,19 @@
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="4b5b4f8d-d30a-4ef8-9bf4-dfd26af9d462" name="jetbrains.mps.lang.typechecking">
<concept id="7505246501517185035" name="jetbrains.mps.lang.typechecking.structure.TypeTermDeclaration" flags="ng" index="3iyMRA">
<child id="7505246501517407186" name="builder" index="3i_WSZ" />
</concept>
<concept id="7505246501517142009" name="jetbrains.mps.lang.typechecking.structure.TypeTermTable" flags="ng" index="3iyXCk" />
<concept id="7505246501517400215" name="jetbrains.mps.lang.typechecking.structure.TypeNodeBuilder" flags="ng" index="3i_YlU">
<child id="7505246501517414874" name="body" index="3i_UKR" />
</concept>
<concept id="6094242349123666689" name="jetbrains.mps.lang.typechecking.structure.ExpectTypePseudoConstraint" flags="ng" index="3IeTCx">
<child id="6094242349123666702" name="location" index="3IeTCI" />
<child id="6094242349123666703" name="typeNode" index="3IeTCJ" />
</concept>
</language>
<language id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections">
<concept id="1204796164442" name="jetbrains.mps.baseLanguage.collections.structure.InternalSequenceOperation" flags="nn" index="23sCx2">
<child id="1204796294226" name="closure" index="23t8la" />
@ -224,13 +238,9 @@
<child id="1980609059185345194" name="constraint" index="8PkJo" />
<child id="3575255234175157601" name="template" index="1nK1Vg" />
</concept>
<concept id="6856711987714624232" name="jetbrains.mps.lang.coderules.structure.LateExpressionItem" flags="ng" index="HKQnh">
<child id="6856711987714624233" name="code" index="HKQng" />
</concept>
<concept id="1204249894870288679" name="jetbrains.mps.lang.coderules.structure.RequireAllStatement" flags="ng" index="Oftf1">
<child id="1204249894870289978" name="nodes" index="Oftjs" />
</concept>
<concept id="5042557354438383712" name="jetbrains.mps.lang.coderules.structure.TermListType" flags="ig" index="VbTHi" />
<concept id="2381360340662937504" name="jetbrains.mps.lang.coderules.structure.TermType" flags="ig" index="32pEOW" />
<concept id="6097203247156088058" name="jetbrains.mps.lang.coderules.structure.ExpandMacroInputSpecification" flags="ng" index="3ixlbQ">
<reference id="6097203247156276310" name="applicableConcept" index="3ixz9q" />
@ -274,9 +284,6 @@
<child id="3575255234174969665" name="rule" index="1nLNNK" />
</concept>
<concept id="8908809128801951597" name="jetbrains.mps.lang.coderules.structure.MacroBodyLogicalDeclaration" flags="ng" index="3uniRu" />
<concept id="5372587443968979218" name="jetbrains.mps.lang.coderules.structure.ExpressionConstraint" flags="ng" index="3wWvb2">
<child id="5372587443968983820" name="expression" index="3wWo3s" />
</concept>
<concept id="7674753015762572646" name="jetbrains.mps.lang.coderules.structure.BodyBlock" flags="ng" index="3xSepi">
<child id="7674753015762572647" name="body" index="3xSepj" />
</concept>
@ -2934,21 +2941,6 @@
</node>
</node>
</node>
<node concept="ns1xd" id="7LI_gNNfeK6">
<property role="TrG5h" value="Terms" />
<ref role="2efqH6" to="kqnc:JOGAOsVt29" resolve="Terms" />
<node concept="ns1x$" id="7LI_gNNfeK7" role="ns1xc">
<property role="TrG5h" value="term" />
<property role="3uGXoX" value="true" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="7LI_gNNfeK8" role="ns1xx" />
</node>
<node concept="ns1x$" id="7LI_gNNfeOT" role="ns1xc">
<property role="TrG5h" value="termList" />
<ref role="ns1xW" node="7LI_gNNfeK7" resolve="term" />
<node concept="nspSf" id="7LI_gNNfeOU" role="ns1xx" />
</node>
</node>
<node concept="0oKg$" id="2Qsys8b1DLQ">
<property role="TrG5h" value="Types" />
<ref role="3tg4Y$" to="kqnc:E1U1n2RerB" resolve="Types" />
@ -3019,128 +3011,6 @@
</node>
</node>
</node>
<node concept="AVZre" id="2Qsys8b1S90">
<property role="TrG5h" value="Recover" />
<ref role="2YbDB9" to="kqnc:6Qzc0KyJGzD" resolve="Recover" />
<node concept="1nLNMY" id="2Qsys8b1XuT" role="1nK1Vg">
<property role="TrG5h" value="recover_TermType" />
<node concept="3clFbS" id="2Qsys8b1XuU" role="1nLNMH">
<node concept="1nLNNL" id="2Qsys8b1XA5" role="3cqZAp">
<node concept="1nLNMm" id="2Qsys8b1XA7" role="1nLNNK">
<node concept="3Aq93q" id="2Qsys8b1XAw" role="1nLNMb">
<node concept="3I6sU6" id="2Qsys8b1XAx" role="3Ip0Jz">
<node concept="3I6s7M" id="2Qsys8b1XA_" role="3I6sU7">
<node concept="3Aqt3T" id="2Qsys8b1XA$" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="2Qsys8b1XIF" role="3AunhB">
<ref role="a7OzE" node="2Qsys8b1XAd" resolve="Node" />
</node>
<node concept="1HFMs5" id="2Qsys8b1XKJ" role="3AunhB">
<node concept="a7P8L" id="2Qsys8b1XKH" role="1uarlU">
<ref role="a7OzE" node="2Qsys8b1XI7" resolve="Type" />
</node>
<node concept="ns1u0" id="2Qsys8b1XLd" role="1uarlW">
<ref role="ns1xF" node="7LI_gNNfeK7" resolve="term" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="2Qsys8b1XI6" role="0Rg$4">
<node concept="aZer4" id="2Qsys8b1XI7" role="3XD1gS">
<property role="TrG5h" value="Type" />
</node>
<node concept="32pEOW" id="2Qsys8b1XIm" role="3vLBG7" />
</node>
<node concept="3NuqgR" id="2Qsys8b1XAc" role="0Rg$4">
<node concept="aZer4" id="2Qsys8b1XAd" role="3XD1gS">
<property role="TrG5h" value="Node" />
</node>
<node concept="3Tqbb2" id="2Qsys8b1XHz" role="3vLBG7" />
</node>
<node concept="3xSepi" id="2Qsys8b1XOa" role="3xSepv">
<node concept="3Aq9E8" id="2Qsys8b1XOb" role="3xSepj">
<node concept="3I6sU6" id="2Qsys8b1XOc" role="3Ip0Jz">
<node concept="3I6s7M" id="2Qsys8b1XPf" role="3I6sU7">
<node concept="3A8Hvi" id="2Qsys8b1XPl" role="3I6s78">
<node concept="HKQnh" id="2Qsys8b1XPT" role="3A8w4Q">
<node concept="2c44tf" id="2Qsys8b1XPY" role="HKQng">
<node concept="32pEOW" id="2Qsys8b1XRe" role="2c44tc" />
</node>
</node>
<node concept="a7P8L" id="2Qsys8b1XP4" role="3A8wtg">
<ref role="a7OzE" node="2Qsys8b1XAd" resolve="Node" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1nLNMY" id="51ek2rScnLM" role="1nK1Vg">
<property role="TrG5h" value="recover_TermListType" />
<node concept="3clFbS" id="51ek2rScnLN" role="1nLNMH">
<node concept="1nLNNL" id="51ek2rScnLO" role="3cqZAp">
<node concept="1nLNMm" id="51ek2rScnLP" role="1nLNNK">
<node concept="3Aq93q" id="51ek2rScnLQ" role="1nLNMb">
<node concept="3I6sU6" id="51ek2rScnLR" role="3Ip0Jz">
<node concept="3I6s7M" id="51ek2rScnLS" role="3I6sU7">
<node concept="3Aqt3T" id="51ek2rScnLT" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="51ek2rScnLU" role="3AunhB">
<ref role="a7OzE" node="51ek2rScnM2" resolve="Node" />
</node>
<node concept="1HFMs5" id="51ek2rScnLV" role="3AunhB">
<node concept="a7P8L" id="51ek2rScnLW" role="1uarlU">
<ref role="a7OzE" node="51ek2rScnLZ" resolve="Type" />
</node>
<node concept="ns1u0" id="51ek2rScnNN" role="1uarlW">
<ref role="ns1xF" node="7LI_gNNfeOT" resolve="termList" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="51ek2rScnLY" role="0Rg$4">
<node concept="aZer4" id="51ek2rScnLZ" role="3XD1gS">
<property role="TrG5h" value="Type" />
</node>
<node concept="32pEOW" id="51ek2rScnM0" role="3vLBG7" />
</node>
<node concept="3NuqgR" id="51ek2rScnM1" role="0Rg$4">
<node concept="aZer4" id="51ek2rScnM2" role="3XD1gS">
<property role="TrG5h" value="Node" />
</node>
<node concept="3Tqbb2" id="51ek2rScnM3" role="3vLBG7" />
</node>
<node concept="3xSepi" id="51ek2rScnM4" role="3xSepv">
<node concept="3Aq9E8" id="51ek2rScnM5" role="3xSepj">
<node concept="3I6sU6" id="51ek2rScnM6" role="3Ip0Jz">
<node concept="3I6s7M" id="51ek2rScnM7" role="3I6sU7">
<node concept="3A8Hvi" id="51ek2rScnM8" role="3I6s78">
<node concept="HKQnh" id="51ek2rScnM9" role="3A8w4Q">
<node concept="2c44tf" id="51ek2rScnMa" role="HKQng">
<node concept="VbTHi" id="51ek2rScnPG" role="2c44tc" />
</node>
</node>
<node concept="a7P8L" id="51ek2rScnMc" role="3A8wtg">
<ref role="a7OzE" node="51ek2rScnM2" resolve="Node" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="AVZre" id="2Qsys8b6lU3">
<property role="TrG5h" value="ExpectType" />
<ref role="2YbDB9" to="kqnc:2J$kxDHIJYU" resolve="ExpectType" />
@ -3156,23 +3026,10 @@
<node concept="3I6s7M" id="4nIWweBEY4v" role="3I6sU7">
<node concept="3Aqt3T" id="20Zoq4kTOWU" role="3I6s78">
<ref role="3AqCNq" to="kqnc:20Zoq4kTOFb" resolve="recoverAll" />
<node concept="a7P8L" id="5fMWD6H$68P" role="3AunhB">
<ref role="a7OzE" node="5fMWD6H$66C" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="5fMWD6H$66B" role="0Rg$4">
<node concept="aZer4" id="5fMWD6H$66C" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="5fMWD6HQXZl" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2bgcX" role="11_B2D" />
<node concept="3Tqbb2" id="5fMWD6HQXZn" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="20Zoq4kTODF" role="0Rg$4">
<node concept="aZer4" id="20Zoq4kTODG" role="3XD1gS">
<property role="TrG5h" value="Type" />
@ -3190,9 +3047,6 @@
<ref role="3A2yKK" node="51ek2rSbOY3" resolve="cmpd" />
</node>
</node>
<node concept="a7P8L" id="6QbNnfq3aV8" role="3AunhB">
<ref role="a7OzE" node="5fMWD6H$66C" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
@ -3220,23 +3074,10 @@
<node concept="3I6s7M" id="51ek2rSbOTM" role="3I6sU7">
<node concept="3Aqt3T" id="51ek2rSbOTN" role="3I6s78">
<ref role="3AqCNq" to="kqnc:20Zoq4kTOFb" resolve="recoverAll" />
<node concept="a7P8L" id="51ek2rSbOTO" role="3AunhB">
<ref role="a7OzE" node="51ek2rSbOTQ" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="51ek2rSbOTP" role="0Rg$4">
<node concept="aZer4" id="51ek2rSbOTQ" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="51ek2rSbOTR" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2bgf4" role="11_B2D" />
<node concept="3Tqbb2" id="51ek2rSbOTT" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="51ek2rSbOTU" role="0Rg$4">
<node concept="aZer4" id="51ek2rSbOTV" role="3XD1gS">
<property role="TrG5h" value="Type" />
@ -3254,9 +3095,6 @@
<ref role="3A2yKK" node="51ek2rSbOU6" resolve="emid" />
</node>
</node>
<node concept="a7P8L" id="51ek2rSbOU4" role="3AunhB">
<ref role="a7OzE" node="51ek2rSbOTQ" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
@ -3284,23 +3122,10 @@
<node concept="3I6s7M" id="6zber0NTBEl" role="3I6sU7">
<node concept="3Aqt3T" id="6zber0NTBEm" role="3I6s78">
<ref role="3AqCNq" to="kqnc:20Zoq4kTOFb" resolve="recoverAll" />
<node concept="a7P8L" id="6zber0NTBEn" role="3AunhB">
<ref role="a7OzE" node="6zber0NTBEp" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="6zber0NTBEo" role="0Rg$4">
<node concept="aZer4" id="6zber0NTBEp" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="6zber0NTBEq" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2bggV" role="11_B2D" />
<node concept="3Tqbb2" id="6zber0NTBEs" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="6zber0NTBEt" role="0Rg$4">
<node concept="aZer4" id="6zber0NTBEu" role="3XD1gS">
<property role="TrG5h" value="Type" />
@ -3318,9 +3143,6 @@
<ref role="3A2yKK" node="6zber0NTBxL" resolve="empd" />
</node>
</node>
<node concept="a7P8L" id="6zber0NTBEB" role="3AunhB">
<ref role="a7OzE" node="6zber0NTBEp" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
@ -3353,9 +3175,6 @@
<ref role="3A2yKK" node="51ek2rSbWAN" resolve="cmpd" />
</node>
</node>
<node concept="a7P8L" id="14oWJ2Nxubt" role="3AunhB">
<ref role="a7OzE" node="14oWJ2NxubA" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
@ -3378,16 +3197,6 @@
</node>
</node>
</node>
<node concept="3NuqgR" id="14oWJ2Nxub_" role="0Rg$4">
<node concept="aZer4" id="14oWJ2NxubA" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="14oWJ2NxubB" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2bgph" role="11_B2D" />
<node concept="3Tqbb2" id="Q_4x90cBck" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="14oWJ2NxubE" role="0Rg$4">
<node concept="aZer4" id="14oWJ2NxubF" role="3XD1gS">
<property role="TrG5h" value="Node" />
@ -3401,44 +3210,18 @@
<node concept="32pEOW" id="14oWJ2NxubJ" role="3vLBG7" />
</node>
<node concept="3xSepi" id="14oWJ2NxubK" role="3xSepv">
<node concept="3Aq9E8" id="14oWJ2NxubL" role="3xSepj">
<node concept="3I6sU6" id="14oWJ2NxubM" role="3Ip0Jz">
<node concept="3I6s7M" id="14oWJ2NxubN" role="3I6sU7">
<node concept="3Aqt3T" id="14oWJ2NxubO" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="14oWJ2NxubP" role="3AunhB">
<ref role="a7OzE" node="14oWJ2NxubF" resolve="Node" />
<node concept="3Aq9E8" id="4APe_wKEBB1" role="3xSepj">
<node concept="3I6sU6" id="4APe_wKEBB2" role="3Ip0Jz">
<node concept="3I6s7M" id="4APe_wKEBGi" role="3I6sU7">
<node concept="3IeTCx" id="4APe_wKEBGf" role="3I6s78">
<node concept="3A2sRY" id="4APe_wKEBIx" role="3IeTCI">
<ref role="3A2yKK" node="51ek2rSbWAN" resolve="cmpd" />
</node>
<node concept="a7P8L" id="14oWJ2NxubQ" role="3AunhB">
<node concept="a7P8L" id="4APe_wKEBHA" role="3IeTCJ">
<ref role="a7OzE" node="14oWJ2NxubI" resolve="Type" />
</node>
</node>
</node>
<node concept="3I6s7M" id="14oWJ2NxubR" role="3I6sU7">
<node concept="3wWvb2" id="14oWJ2NxubS" role="3I6s78">
<node concept="2OqwBi" id="14oWJ2NxubT" role="3wWo3s">
<node concept="liA8E" id="14oWJ2NxubU" role="2OqNvi">
<ref role="37wK5l" to="82uw:~BiConsumer.accept(java.lang.Object,java.lang.Object)" resolve="accept" />
<node concept="2OqwBi" id="14oWJ2NxubV" role="37wK5m">
<node concept="3A2sRY" id="51ek2rSbX77" role="2Oq$k0">
<ref role="3A2yKK" node="51ek2rSbWAN" resolve="cmpd" />
</node>
<node concept="iZEcu" id="14oWJ2NxubX" role="2OqNvi" />
</node>
<node concept="1Ft4W6" id="14oWJ2NxubY" role="37wK5m">
<node concept="a7P8L" id="14oWJ2NxubZ" role="1FtiSR">
<ref role="a7OzE" node="14oWJ2NxubF" resolve="Node" />
</node>
</node>
</node>
<node concept="1Ft4W6" id="14oWJ2Nxuc0" role="2Oq$k0">
<node concept="a7P8L" id="14oWJ2Nxuc1" role="1FtiSR">
<ref role="a7OzE" node="14oWJ2NxubA" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -3469,9 +3252,6 @@
<ref role="3A2yKK" node="51ek2rSbWAo" resolve="emid" />
</node>
</node>
<node concept="a7P8L" id="51ek2rSbXfk" role="3AunhB">
<ref role="a7OzE" node="51ek2rSbXft" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
@ -3494,16 +3274,6 @@
</node>
</node>
</node>
<node concept="3NuqgR" id="51ek2rSbXfs" role="0Rg$4">
<node concept="aZer4" id="51ek2rSbXft" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="51ek2rSbXfu" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2bg_J" role="11_B2D" />
<node concept="3Tqbb2" id="51ek2rSbXfw" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="51ek2rSbXfx" role="0Rg$4">
<node concept="aZer4" id="51ek2rSbXfy" role="3XD1gS">
<property role="TrG5h" value="Node" />
@ -3517,44 +3287,18 @@
<node concept="32pEOW" id="51ek2rSbXfA" role="3vLBG7" />
</node>
<node concept="3xSepi" id="51ek2rSbXfB" role="3xSepv">
<node concept="3Aq9E8" id="51ek2rSbXfC" role="3xSepj">
<node concept="3I6sU6" id="51ek2rSbXfD" role="3Ip0Jz">
<node concept="3I6s7M" id="51ek2rSbXfE" role="3I6sU7">
<node concept="3Aqt3T" id="51ek2rSbXfF" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="51ek2rSbXfG" role="3AunhB">
<ref role="a7OzE" node="51ek2rSbXfy" resolve="Node" />
<node concept="3Aq9E8" id="4APe_wKEANO" role="3xSepj">
<node concept="3I6sU6" id="4APe_wKEANP" role="3Ip0Jz">
<node concept="3I6s7M" id="4APe_wKEAVi" role="3I6sU7">
<node concept="3IeTCx" id="4APe_wKEAVf" role="3I6s78">
<node concept="3A2sRY" id="4APe_wKEAX7" role="3IeTCI">
<ref role="3A2yKK" node="51ek2rSbWAo" resolve="emid" />
</node>
<node concept="a7P8L" id="51ek2rSbXfH" role="3AunhB">
<node concept="a7P8L" id="4APe_wKEAWA" role="3IeTCJ">
<ref role="a7OzE" node="51ek2rSbXf_" resolve="Type" />
</node>
</node>
</node>
<node concept="3I6s7M" id="51ek2rSbXfI" role="3I6sU7">
<node concept="3wWvb2" id="51ek2rSbXfJ" role="3I6s78">
<node concept="2OqwBi" id="51ek2rSbXfK" role="3wWo3s">
<node concept="liA8E" id="51ek2rSbXfL" role="2OqNvi">
<ref role="37wK5l" to="82uw:~BiConsumer.accept(java.lang.Object,java.lang.Object)" resolve="accept" />
<node concept="2OqwBi" id="51ek2rSbXfM" role="37wK5m">
<node concept="3A2sRY" id="51ek2rSbXIc" role="2Oq$k0">
<ref role="3A2yKK" node="51ek2rSbWAo" resolve="emid" />
</node>
<node concept="iZEcu" id="51ek2rSbXfO" role="2OqNvi" />
</node>
<node concept="1Ft4W6" id="51ek2rSbXfP" role="37wK5m">
<node concept="a7P8L" id="51ek2rSbXfQ" role="1FtiSR">
<ref role="a7OzE" node="51ek2rSbXfy" resolve="Node" />
</node>
</node>
</node>
<node concept="1Ft4W6" id="51ek2rSbXfR" role="2Oq$k0">
<node concept="a7P8L" id="51ek2rSbXfS" role="1FtiSR">
<ref role="a7OzE" node="51ek2rSbXft" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -3585,9 +3329,6 @@
<ref role="3A2yKK" node="6zber0NTCjj" resolve="empd" />
</node>
</node>
<node concept="a7P8L" id="6zber0NTCsm" role="3AunhB">
<ref role="a7OzE" node="6zber0NTCsv" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
@ -3610,16 +3351,6 @@
</node>
</node>
</node>
<node concept="3NuqgR" id="6zber0NTCsu" role="0Rg$4">
<node concept="aZer4" id="6zber0NTCsv" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="6zber0NTCsw" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2bgK$" role="11_B2D" />
<node concept="3Tqbb2" id="6zber0NTCsy" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="6zber0NTCsz" role="0Rg$4">
<node concept="aZer4" id="6zber0NTCs$" role="3XD1gS">
<property role="TrG5h" value="Node" />
@ -3633,44 +3364,18 @@
<node concept="32pEOW" id="6zber0NTCsC" role="3vLBG7" />
</node>
<node concept="3xSepi" id="6zber0NTCsD" role="3xSepv">
<node concept="3Aq9E8" id="6zber0NTCsE" role="3xSepj">
<node concept="3I6sU6" id="6zber0NTCsF" role="3Ip0Jz">
<node concept="3I6s7M" id="6zber0NTCsG" role="3I6sU7">
<node concept="3Aqt3T" id="6zber0NTCsH" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="6zber0NTCsI" role="3AunhB">
<ref role="a7OzE" node="6zber0NTCs$" resolve="Node" />
<node concept="3Aq9E8" id="4APe_wKEBen" role="3xSepj">
<node concept="3I6sU6" id="4APe_wKEBeo" role="3Ip0Jz">
<node concept="3I6s7M" id="4APe_wKEBje" role="3I6sU7">
<node concept="3IeTCx" id="4APe_wKEBjb" role="3I6s78">
<node concept="3A2sRY" id="4APe_wKEBlt" role="3IeTCI">
<ref role="3A2yKK" node="6zber0NTCjj" resolve="empd" />
</node>
<node concept="a7P8L" id="6zber0NTCsJ" role="3AunhB">
<node concept="a7P8L" id="4APe_wKEBky" role="3IeTCJ">
<ref role="a7OzE" node="6zber0NTCsB" resolve="Type" />
</node>
</node>
</node>
<node concept="3I6s7M" id="6zber0NTCsK" role="3I6sU7">
<node concept="3wWvb2" id="6zber0NTCsL" role="3I6s78">
<node concept="2OqwBi" id="6zber0NTCsM" role="3wWo3s">
<node concept="liA8E" id="6zber0NTCsN" role="2OqNvi">
<ref role="37wK5l" to="82uw:~BiConsumer.accept(java.lang.Object,java.lang.Object)" resolve="accept" />
<node concept="2OqwBi" id="6zber0NTCsO" role="37wK5m">
<node concept="3A2sRY" id="6zber0NTD6a" role="2Oq$k0">
<ref role="3A2yKK" node="6zber0NTCjj" resolve="empd" />
</node>
<node concept="iZEcu" id="6zber0NTCsQ" role="2OqNvi" />
</node>
<node concept="1Ft4W6" id="6zber0NTCsR" role="37wK5m">
<node concept="a7P8L" id="6zber0NTCsS" role="1FtiSR">
<ref role="a7OzE" node="6zber0NTCs$" resolve="Node" />
</node>
</node>
</node>
<node concept="1Ft4W6" id="6zber0NTCsT" role="2Oq$k0">
<node concept="a7P8L" id="6zber0NTCsU" role="1FtiSR">
<ref role="a7OzE" node="6zber0NTCsv" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -4153,5 +3858,34 @@
</node>
</node>
</node>
<node concept="3iyXCk" id="7LI_gNNfeK6">
<property role="TrG5h" value="Terms" />
<ref role="2efqH6" to="kqnc:JOGAOsVt29" resolve="Terms" />
<node concept="3iyMRA" id="7LI_gNNfeK7" role="ns1xc">
<property role="TrG5h" value="term" />
<property role="3uGXoX" value="true" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="7LI_gNNfeK8" role="ns1xx" />
<node concept="3i_YlU" id="4APe_wKg7_p" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKg7Bv" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKg7Bx" role="2pJPEn">
<ref role="2pJxaS" to="wq2x:24ciDNzqIuw" resolve="TermType" />
</node>
</node>
</node>
</node>
<node concept="3iyMRA" id="7LI_gNNfeOT" role="ns1xc">
<property role="TrG5h" value="termList" />
<ref role="ns1xW" node="7LI_gNNfeK7" resolve="term" />
<node concept="nspSf" id="7LI_gNNfeOU" role="ns1xx" />
<node concept="3i_YlU" id="4APe_wKcc0R" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKcc0S" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKcc0T" role="2pJPEn">
<ref role="2pJxaS" to="wq2x:4nUKN9YPlxw" resolve="TermListType" />
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -19,7 +19,6 @@
<import index="q1l7" ref="215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.template(MPS.Generator/)" />
<import index="tpfh" ref="r:00000000-0000-4000-0000-011c895902e1(jetbrains.mps.lang.generator.behavior)" implicit="true" />
<import index="wyt6" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)" implicit="true" />
<import index="tpce" ref="r:00000000-0000-4000-0000-011c89590292(jetbrains.mps.lang.structure.structure)" implicit="true" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -43,9 +42,6 @@
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
</concept>
<concept id="1145552977093" name="jetbrains.mps.baseLanguage.structure.GenericNewExpression" flags="nn" index="2ShNRf">
<child id="1145553007750" name="creator" index="2ShVmc" />
</concept>
<concept id="1081236700937" name="jetbrains.mps.baseLanguage.structure.StaticMethodCall" flags="nn" index="2YIFZM">
<reference id="1144433194310" name="classConcept" index="1Pybhc" />
</concept>
@ -98,6 +94,14 @@
<child id="1199569916463" name="body" index="1bW5cS" />
</concept>
</language>
<language id="3a13115c-633c-4c5c-bbcc-75c4219e9555" name="jetbrains.mps.lang.quotation">
<concept id="5455284157993863837" name="jetbrains.mps.lang.quotation.structure.NodeBuilder" flags="nn" index="2pJPEk">
<child id="5455284157993863838" name="quotedNode" index="2pJPEn" />
</concept>
<concept id="5455284157993863840" name="jetbrains.mps.lang.quotation.structure.NodeBuilderNode" flags="nn" index="2pJPED">
<reference id="5455284157993910961" name="concept" index="2pJxaS" />
</concept>
</language>
<language id="35320f26-77cb-4c55-be9f-a97a27770af1" name="jetbrains.mps.logic">
<concept id="8456919074574710634" name="jetbrains.mps.logic.structure.ExpressionItem" flags="ng" index="37jhX">
<child id="8456919074574710741" name="code" index="37jj2" />
@ -124,9 +128,6 @@
<child id="1177027386292" name="conceptArgument" index="cj9EA" />
</concept>
<concept id="1172008320231" name="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" flags="nn" index="3x8VRR" />
<concept id="1180636770613" name="jetbrains.mps.lang.smodel.structure.SNodeCreator" flags="nn" index="3zrR0B">
<child id="1180636770616" name="createdType" index="3zrR0E" />
</concept>
<concept id="1140137987495" name="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" flags="nn" index="1PxgMI" />
<concept id="1138055754698" name="jetbrains.mps.lang.smodel.structure.SNodeType" flags="in" index="3Tqbb2">
<reference id="1138405853777" name="concept" index="ehGHo" />
@ -143,6 +144,15 @@
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="4b5b4f8d-d30a-4ef8-9bf4-dfd26af9d462" name="jetbrains.mps.lang.typechecking">
<concept id="7505246501517185035" name="jetbrains.mps.lang.typechecking.structure.TypeTermDeclaration" flags="ng" index="3iyMRA">
<child id="7505246501517407186" name="builder" index="3i_WSZ" />
</concept>
<concept id="7505246501517142009" name="jetbrains.mps.lang.typechecking.structure.TypeTermTable" flags="ng" index="3iyXCk" />
<concept id="7505246501517400215" name="jetbrains.mps.lang.typechecking.structure.TypeNodeBuilder" flags="ng" index="3i_YlU">
<child id="7505246501517414874" name="body" index="3i_UKR" />
</concept>
</language>
<language id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections">
<concept id="1204796164442" name="jetbrains.mps.baseLanguage.collections.structure.InternalSequenceOperation" flags="nn" index="23sCx2">
<child id="1204796294226" name="closure" index="23t8la" />
@ -181,9 +191,6 @@
<reference id="3541122455446356437" name="extends" index="2YbDB9" />
<child id="3575255234175157601" name="template" index="1nK1Vg" />
</concept>
<concept id="6856711987714624232" name="jetbrains.mps.lang.coderules.structure.LateExpressionItem" flags="ng" index="HKQnh">
<child id="6856711987714624233" name="code" index="HKQng" />
</concept>
<concept id="2381360340662937504" name="jetbrains.mps.lang.coderules.structure.TermType" flags="ig" index="32pEOW" />
<concept id="6097203247156088058" name="jetbrains.mps.lang.coderules.structure.ExpandMacroInputSpecification" flags="ng" index="3ixlbQ">
<reference id="6097203247156276310" name="applicableConcept" index="3ixz9q" />
@ -2534,13 +2541,6 @@
</node>
</node>
</node>
<node concept="ns1xd" id="3ZfjIHuuY$x">
<property role="TrG5h" value="types" />
<node concept="ns1x$" id="3ZfjIHuuY$y" role="ns1xc">
<property role="TrG5h" value="genContext" />
<node concept="nspSf" id="3ZfjIHuuY$z" role="ns1xx" />
</node>
</node>
<node concept="0oKg$" id="3ZfjIHuydkk">
<property role="TrG5h" value="types" />
<ref role="3tg4Y$" to="kqnc:E1U1n2RerB" resolve="Types" />
@ -2572,76 +2572,15 @@
</node>
</node>
</node>
<node concept="AVZre" id="zL5ZaNpYHh">
<property role="TrG5h" value="recover" />
<ref role="2YbDB9" to="kqnc:6Qzc0KyJGzD" resolve="Recover" />
<node concept="1nLNMY" id="3Xe1abZXL5s" role="1nK1Vg">
<property role="TrG5h" value="recover_gencontext" />
<node concept="3clFbS" id="3Xe1abZXLnO" role="1nLNMH">
<node concept="1nLNNL" id="3Xe1abZXLnM" role="3cqZAp">
<node concept="1nLNMm" id="3Xe1abZXLnN" role="1nLNNK">
<node concept="3Aq93q" id="3Xe1abZXLrg" role="1nLNMb">
<node concept="3I6sU6" id="3Xe1abZXLrh" role="3Ip0Jz">
<node concept="3I6s7M" id="3Xe1abZXLuH" role="3I6sU7">
<node concept="3Aqt3T" id="3Xe1abZXLuG" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="3Xe1abZXLWN" role="3AunhB">
<ref role="a7OzE" node="3Xe1abZXLFC" resolve="Node" />
</node>
<node concept="1HFMs5" id="3Xe1abZXM0i" role="3AunhB">
<node concept="a7P8L" id="3Xe1abZXM0g" role="1uarlU">
<ref role="a7OzE" node="3Xe1abZXLPz" resolve="Type" />
</node>
<node concept="ns1u0" id="3Xe1abZXM2s" role="1uarlW">
<ref role="ns1xF" node="3ZfjIHuuY$y" resolve="genContext" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="3Xe1abZXLFB" role="0Rg$4">
<node concept="aZer4" id="3Xe1abZXLFC" role="3XD1gS">
<property role="TrG5h" value="Node" />
</node>
<node concept="3Tqbb2" id="3Xe1abZXLJc" role="3vLBG7" />
</node>
<node concept="3NuqgR" id="3Xe1abZXLPy" role="0Rg$4">
<node concept="aZer4" id="3Xe1abZXLPz" role="3XD1gS">
<property role="TrG5h" value="Type" />
</node>
<node concept="32pEOW" id="3Xe1abZXLTa" role="3vLBG7" />
</node>
<node concept="3NuqgR" id="5wYq9r4Rpcu" role="0Rg$4">
<node concept="aZer4" id="5wYq9r4Rpcv" role="3XD1gS">
<property role="TrG5h" value="Concept" />
</node>
<node concept="3Tqbb2" id="3CulEO26Ux7" role="3vLBG7">
<ref role="ehGHo" to="tpce:h0PkWnZ" resolve="AbstractConceptDeclaration" />
</node>
</node>
<node concept="3xSepi" id="3Xe1abZXM5V" role="3xSepv">
<node concept="3Aq9E8" id="3Xe1abZXM5W" role="3xSepj">
<node concept="3I6sU6" id="3Xe1abZXM5X" role="3Ip0Jz">
<node concept="3I6s7M" id="zL5ZaNq2VS" role="3I6sU7">
<node concept="3A8Hvi" id="zL5ZaNq2VY" role="3I6s78">
<node concept="HKQnh" id="zL5ZaNq2X9" role="3A8w4Q">
<node concept="2ShNRf" id="zL5ZaNq2Xh" role="HKQng">
<node concept="3zrR0B" id="zL5ZaNq4q8" role="2ShVmc">
<node concept="3Tqbb2" id="zL5ZaNq4qa" role="3zrR0E">
<ref role="ehGHo" to="tpf3:hHiwH3x" resolve="GenerationContextType" />
</node>
</node>
</node>
</node>
<node concept="a7P8L" id="zL5ZaNq2U1" role="3A8wtg">
<ref role="a7OzE" node="3Xe1abZXLFC" resolve="Node" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3iyXCk" id="3ZfjIHuuY$x">
<property role="TrG5h" value="types" />
<node concept="3iyMRA" id="3ZfjIHuuY$y" role="ns1xc">
<property role="TrG5h" value="genContext" />
<node concept="nspSf" id="3ZfjIHuuY$z" role="ns1xx" />
<node concept="3i_YlU" id="4APe_wKEpHN" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKEpHO" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKEpHP" role="2pJPEn">
<ref role="2pJxaS" to="tpf3:hHiwH3x" resolve="GenerationContextType" />
</node>
</node>
</node>

View File

@ -33,7 +33,6 @@
<child id="1068498886297" name="rValue" index="37vLTx" />
<child id="1068498886295" name="lValue" index="37vLTJ" />
</concept>
<concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
<concept id="1239714755177" name="jetbrains.mps.baseLanguage.structure.AbstractUnaryNumberOperation" flags="nn" index="2$Kvd9">
<child id="1239714902950" name="expression" index="2$L3a6" />
</concept>
@ -97,10 +96,6 @@
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
<child id="1068499141038" name="actualArgument" index="37wK5m" />
</concept>
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
<child id="1109201940907" name="parameter" index="11_B2D" />
</concept>
<concept id="1081773326031" name="jetbrains.mps.baseLanguage.structure.BinaryOperation" flags="nn" index="3uHJSO">
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
<child id="1081773367580" name="leftExpression" index="3uHU7B" />
@ -158,9 +153,7 @@
<concept id="1138411891628" name="jetbrains.mps.lang.smodel.structure.SNodeOperation" flags="nn" index="eCIE_">
<child id="1144104376918" name="parameter" index="1xVPHs" />
</concept>
<concept id="5045161044515397667" name="jetbrains.mps.lang.smodel.structure.Node_PointerOperation" flags="ng" index="iZEcu" />
<concept id="1179409122411" name="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" flags="nn" index="2qgKlT" />
<concept id="7400021826771268254" name="jetbrains.mps.lang.smodel.structure.SNodePointerType" flags="ig" index="2sp9CU" />
<concept id="7453996997717780434" name="jetbrains.mps.lang.smodel.structure.Node_GetSConceptOperation" flags="nn" index="2yIwOk" />
<concept id="2396822768958367367" name="jetbrains.mps.lang.smodel.structure.AbstractTypeCastExpression" flags="nn" index="$5XWr">
<child id="6733348108486823193" name="leftExpression" index="1m5AlR" />
@ -212,6 +205,12 @@
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="4b5b4f8d-d30a-4ef8-9bf4-dfd26af9d462" name="jetbrains.mps.lang.typechecking">
<concept id="6094242349123666689" name="jetbrains.mps.lang.typechecking.structure.ExpectTypePseudoConstraint" flags="ng" index="3IeTCx">
<child id="6094242349123666702" name="location" index="3IeTCI" />
<child id="6094242349123666703" name="typeNode" index="3IeTCJ" />
</concept>
</language>
<language id="c7fb639f-be78-4307-89b0-b5959c3fa8c8" name="jetbrains.mps.lang.text">
<concept id="155656958578482948" name="jetbrains.mps.lang.text.structure.Word" flags="nn" index="3oM_SD">
<property id="155656958578482949" name="value" index="3oM_SC" />
@ -274,9 +273,6 @@
<concept id="3575255234174969664" name="jetbrains.mps.lang.coderules.structure.ConstraintRuleStatement" flags="ng" index="1nLNNL">
<child id="3575255234174969665" name="rule" index="1nLNNK" />
</concept>
<concept id="5372587443968979218" name="jetbrains.mps.lang.coderules.structure.ExpressionConstraint" flags="ng" index="3wWvb2">
<child id="5372587443968983820" name="expression" index="3wWo3s" />
</concept>
<concept id="7674753015762572646" name="jetbrains.mps.lang.coderules.structure.BodyBlock" flags="ng" index="3xSepi">
<child id="7674753015762572647" name="body" index="3xSepj" />
</concept>
@ -2714,23 +2710,10 @@
<node concept="3I6s7M" id="4nIWweBEY4v" role="3I6sU7">
<node concept="3Aqt3T" id="20Zoq4kTOWU" role="3I6s78">
<ref role="3AqCNq" to="kqnc:20Zoq4kTOFb" resolve="recoverAll" />
<node concept="a7P8L" id="5fMWD6H$68P" role="3AunhB">
<ref role="a7OzE" node="5fMWD6H$66C" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="5fMWD6H$66B" role="0Rg$4">
<node concept="aZer4" id="5fMWD6H$66C" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="5fMWD6HQXZl" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2b4Wv" role="11_B2D" />
<node concept="3Tqbb2" id="5fMWD6HQXZn" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="20Zoq4kTODF" role="0Rg$4">
<node concept="aZer4" id="20Zoq4kTODG" role="3XD1gS">
<property role="TrG5h" value="Type" />
@ -2748,9 +2731,6 @@
<ref role="3A2yKK" node="3rrtTcSrt6H" resolve="vd" />
</node>
</node>
<node concept="a7P8L" id="6QbNnfq3aV8" role="3AunhB">
<ref role="a7OzE" node="5fMWD6H$66C" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
@ -2783,9 +2763,6 @@
<ref role="3A2yKK" node="3rrtTcSrrWP" resolve="vd" />
</node>
</node>
<node concept="a7P8L" id="77mpfA3Iyr4" role="3AunhB">
<ref role="a7OzE" node="77mpfA3Iyrd" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
@ -2808,16 +2785,6 @@
</node>
</node>
</node>
<node concept="3NuqgR" id="77mpfA3Iyrc" role="0Rg$4">
<node concept="aZer4" id="77mpfA3Iyrd" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="77mpfA3Iyre" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2b68G" role="11_B2D" />
<node concept="3Tqbb2" id="77mpfA3Iyrg" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="77mpfA3Iyrh" role="0Rg$4">
<node concept="aZer4" id="77mpfA3Iyri" role="3XD1gS">
<property role="TrG5h" value="Node" />
@ -2831,44 +2798,18 @@
<node concept="32pEOW" id="77mpfA3Iyrm" role="3vLBG7" />
</node>
<node concept="3xSepi" id="77mpfA3Iyrn" role="3xSepv">
<node concept="3Aq9E8" id="77mpfA3Iyro" role="3xSepj">
<node concept="3I6sU6" id="77mpfA3Iyrp" role="3Ip0Jz">
<node concept="3I6s7M" id="77mpfA3Iyrq" role="3I6sU7">
<node concept="3Aqt3T" id="77mpfA3Iyrr" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="77mpfA3Iyrs" role="3AunhB">
<ref role="a7OzE" node="77mpfA3Iyri" resolve="Node" />
<node concept="3Aq9E8" id="4APe_wKECpI" role="3xSepj">
<node concept="3I6sU6" id="4APe_wKECpJ" role="3Ip0Jz">
<node concept="3I6s7M" id="4APe_wKECub" role="3I6sU7">
<node concept="3IeTCx" id="4APe_wKECu8" role="3I6s78">
<node concept="3A2sRY" id="4APe_wKECys" role="3IeTCI">
<ref role="3A2yKK" node="3rrtTcSrrWP" resolve="vd" />
</node>
<node concept="a7P8L" id="77mpfA3Iyrt" role="3AunhB">
<node concept="a7P8L" id="4APe_wKECx7" role="3IeTCJ">
<ref role="a7OzE" node="77mpfA3Iyrl" resolve="Type" />
</node>
</node>
</node>
<node concept="3I6s7M" id="77mpfA3Iyru" role="3I6sU7">
<node concept="3wWvb2" id="77mpfA3Iyrv" role="3I6s78">
<node concept="2OqwBi" id="77mpfA3Iyrw" role="3wWo3s">
<node concept="liA8E" id="77mpfA3Iyrx" role="2OqNvi">
<ref role="37wK5l" to="82uw:~BiConsumer.accept(java.lang.Object,java.lang.Object)" resolve="accept" />
<node concept="2OqwBi" id="77mpfA3Iyry" role="37wK5m">
<node concept="3A2sRY" id="3rrtTcSrsAE" role="2Oq$k0">
<ref role="3A2yKK" node="3rrtTcSrrWP" resolve="vd" />
</node>
<node concept="iZEcu" id="77mpfA3Iyr$" role="2OqNvi" />
</node>
<node concept="1Ft4W6" id="77mpfA3Iyr_" role="37wK5m">
<node concept="a7P8L" id="77mpfA3IyrA" role="1FtiSR">
<ref role="a7OzE" node="77mpfA3Iyri" resolve="Node" />
</node>
</node>
</node>
<node concept="1Ft4W6" id="77mpfA3IyrB" role="2Oq$k0">
<node concept="a7P8L" id="77mpfA3IyrC" role="1FtiSR">
<ref role="a7OzE" node="77mpfA3Iyrd" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>

View File

@ -20,6 +20,7 @@
<import index="oy3s" ref="r:a6030cee-34eb-4503-b1bf-015fe5cd8c1a(jetbrains.mps.logic.unification)" />
<import index="82uw" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util.function(JDK/)" />
<import index="tpee" ref="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" />
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -27,7 +28,6 @@
<concept id="1082485599095" name="jetbrains.mps.baseLanguage.structure.BlockStatement" flags="nn" index="9aQIb">
<child id="1082485599096" name="statements" index="9aQI4" />
</concept>
<concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
@ -56,13 +56,8 @@
<child id="1206060619838" name="condition" index="3eO9$A" />
<child id="1206060644605" name="statementList" index="3eOfB_" />
</concept>
<concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ng" index="1ndlxa">
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
<child id="1068499141038" name="actualArgument" index="37wK5m" />
</concept>
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
<child id="1109201940907" name="parameter" index="11_B2D" />
</concept>
<concept id="1081773326031" name="jetbrains.mps.baseLanguage.structure.BinaryOperation" flags="nn" index="3uHJSO">
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
@ -124,8 +119,6 @@
<concept id="1177026924588" name="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" flags="nn" index="chp4Y">
<reference id="1177026940964" name="conceptDeclaration" index="cht4Q" />
</concept>
<concept id="5045161044515397667" name="jetbrains.mps.lang.smodel.structure.Node_PointerOperation" flags="ng" index="iZEcu" />
<concept id="7400021826771268254" name="jetbrains.mps.lang.smodel.structure.SNodePointerType" flags="ig" index="2sp9CU" />
<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" />
@ -139,9 +132,7 @@
<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>
<concept id="1138055754698" name="jetbrains.mps.lang.smodel.structure.SNodeType" flags="in" index="3Tqbb2" />
<concept id="1138056143562" name="jetbrains.mps.lang.smodel.structure.SLinkAccess" flags="nn" index="3TrEf2">
<reference id="1138056516764" name="link" index="3Tt5mk" />
</concept>
@ -164,6 +155,22 @@
<child id="3078666699043039389" name="commentedNode" index="8Wnug" />
</concept>
</language>
<language id="4b5b4f8d-d30a-4ef8-9bf4-dfd26af9d462" name="jetbrains.mps.lang.typechecking">
<concept id="7505246501517185035" name="jetbrains.mps.lang.typechecking.structure.TypeTermDeclaration" flags="ng" index="3iyMRA">
<child id="7505246501517407186" name="builder" index="3i_WSZ" />
</concept>
<concept id="7505246501517142009" name="jetbrains.mps.lang.typechecking.structure.TypeTermTable" flags="ng" index="3iyXCk" />
<concept id="7505246501517400215" name="jetbrains.mps.lang.typechecking.structure.TypeNodeBuilder" flags="ng" index="3i_YlU">
<child id="7505246501517414874" name="body" index="3i_UKR" />
</concept>
<concept id="6094242349123666689" name="jetbrains.mps.lang.typechecking.structure.ExpectTypePseudoConstraint" flags="ng" index="3IeTCx">
<child id="6094242349123666702" name="location" index="3IeTCI" />
<child id="6094242349123666703" name="typeNode" index="3IeTCJ" />
</concept>
<concept id="1722266558648635144" name="jetbrains.mps.lang.typechecking.structure.FeatureReferenceExpression" flags="ng" index="1NbZt7">
<reference id="1722266558648637849" name="feature" index="1NbY7m" />
</concept>
</language>
<language id="c7fb639f-be78-4307-89b0-b5959c3fa8c8" name="jetbrains.mps.lang.text">
<concept id="155656958578482948" name="jetbrains.mps.lang.text.structure.Word" flags="nn" index="3oM_SD">
<property id="155656958578482949" name="value" index="3oM_SC" />
@ -219,9 +226,6 @@
<reference id="3541122455446356437" name="extends" index="2YbDB9" />
<child id="3575255234175157601" name="template" index="1nK1Vg" />
</concept>
<concept id="6856711987714624232" name="jetbrains.mps.lang.coderules.structure.LateExpressionItem" flags="ng" index="HKQnh">
<child id="6856711987714624233" name="code" index="HKQng" />
</concept>
<concept id="2381360340662937504" name="jetbrains.mps.lang.coderules.structure.TermType" flags="ig" index="32pEOW" />
<concept id="6097203247164180547" name="jetbrains.mps.lang.coderules.structure.ExpandMacroParameterReference" flags="ng" index="3i2tpf">
<reference id="6097203247164235646" name="declaration" index="3i285M" />
@ -2356,49 +2360,6 @@
</node>
</node>
</node>
<node concept="ns1xd" id="7LI_gNMkMFA">
<property role="TrG5h" value="Terms" />
<ref role="2efqH6" to="kqnc:JOGAOsVt29" resolve="Terms" />
<node concept="ns1x$" id="7LI_gNMkMFB" role="ns1xc">
<property role="TrG5h" value="logical" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="7LI_gNMkMFC" role="ns1xx">
<node concept="nstbe" id="7LI_gNMpTBn" role="nspSe">
<property role="TrG5h" value="dataType" />
</node>
</node>
</node>
<node concept="ns1x$" id="7LI_gNMpUS4" role="ns1xc">
<property role="TrG5h" value="multiLogical" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="7LI_gNMpUS5" role="ns1xx">
<node concept="nstbe" id="7LI_gNMpUS6" role="nspSe">
<property role="TrG5h" value="dataType" />
</node>
</node>
</node>
<node concept="ns1x$" id="WIYGzYHes$" role="ns1xc">
<property role="TrG5h" value="form" />
<property role="3uGXoX" value="true" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="WIYGzYHes_" role="ns1xx" />
</node>
<node concept="ns1x$" id="WIYGzYHesM" role="ns1xc">
<property role="TrG5h" value="listForm" />
<ref role="ns1xW" node="WIYGzYHes$" resolve="form" />
<node concept="nspSf" id="WIYGzYHesN" role="ns1xx" />
</node>
<node concept="ns1x$" id="WIYGzYHet0" role="ns1xc">
<property role="TrG5h" value="termForm" />
<ref role="ns1xW" node="WIYGzYHes$" resolve="form" />
<node concept="nspSf" id="WIYGzYHet1" role="ns1xx" />
</node>
<node concept="ns1x$" id="WIYGzYHetg" role="ns1xc">
<property role="TrG5h" value="roleForm" />
<ref role="ns1xW" node="WIYGzYHes$" resolve="form" />
<node concept="nspSf" id="WIYGzYHeth" role="ns1xx" />
</node>
</node>
<node concept="0oKg$" id="6Dg__VJVHUt">
<property role="TrG5h" value="Types" />
<ref role="3tg4Y$" to="kqnc:E1U1n2RerB" resolve="Types" />
@ -2466,107 +2427,6 @@
</node>
</node>
</node>
<node concept="AVZre" id="6Dg__VK8GGD">
<property role="TrG5h" value="Recover" />
<ref role="2YbDB9" to="kqnc:6Qzc0KyJGzD" resolve="Recover" />
<node concept="1nLNMY" id="6Dg__VK8GSe" role="1nK1Vg">
<property role="TrG5h" value="recover_logical" />
<node concept="3clFbS" id="6Dg__VK8GSf" role="1nLNMH">
<node concept="1nLNNL" id="6Dg__VK8H1T" role="3cqZAp">
<node concept="1nLNMm" id="6Dg__VK8H1U" role="1nLNNK">
<node concept="3Aq93q" id="6Dg__VK8H1X" role="1nLNMb">
<node concept="3I6sU6" id="6Dg__VK8H1Y" role="3Ip0Jz">
<node concept="3I6s7M" id="6Dg__VK8H3X" role="3I6sU7">
<node concept="3Aqt3T" id="6Dg__VK8H3W" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="6Dg__VK8Lpr" role="3AunhB">
<ref role="a7OzE" node="6Dg__VK8LcO" resolve="Node" />
</node>
<node concept="1HFMs5" id="6Dg__VK8Lv2" role="3AunhB">
<node concept="a7P8L" id="6Dg__VK8Lv0" role="1uarlU">
<ref role="a7OzE" node="6Dg__VK8Lj3" resolve="Type" />
</node>
<node concept="ns1u0" id="6Dg__VK8Lzm" role="1uarlW">
<ref role="ns1xF" node="7LI_gNMkMFB" resolve="logical" />
<node concept="nsMwS" id="6Dg__VK8LWX" role="ns1xD">
<ref role="nsMwP" node="7LI_gNMpTBn" resolve="dataType" />
<node concept="a7P8L" id="6Dg__VK8Mbc" role="iSaTp">
<ref role="a7OzE" node="6Dg__VK8M2M" resolve="DType" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="6Dg__VK8LcN" role="0Rg$4">
<node concept="aZer4" id="6Dg__VK8LcO" role="3XD1gS">
<property role="TrG5h" value="Node" />
</node>
<node concept="aZer4" id="6Dg__VK8Mla" role="3XD1gS">
<property role="TrG5h" value="DNode" />
</node>
<node concept="3Tqbb2" id="6Dg__VK8LgQ" role="3vLBG7">
<ref role="ehGHo" to="tpee:fz3vP1H" resolve="Type" />
</node>
</node>
<node concept="3NuqgR" id="6Dg__VK8Lj2" role="0Rg$4">
<node concept="aZer4" id="6Dg__VK8Lj3" role="3XD1gS">
<property role="TrG5h" value="Type" />
</node>
<node concept="aZer4" id="6Dg__VK8M2M" role="3XD1gS">
<property role="TrG5h" value="DType" />
</node>
<node concept="32pEOW" id="6Dg__VK8Lld" role="3vLBG7" />
</node>
<node concept="3xSepi" id="6Dg__VK8LB_" role="3xSepv">
<node concept="3Aq9E8" id="6Dg__VK8LBA" role="3xSepj">
<node concept="3I6sU6" id="6Dg__VK8LBB" role="3Ip0Jz">
<node concept="3I6s7M" id="6Dg__VK8Mwj" role="3I6sU7">
<node concept="3Aqt3T" id="6Dg__VK8Mwh" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="6Dg__VK8Myv" role="3AunhB">
<ref role="a7OzE" node="6Dg__VK8Mla" resolve="DNode" />
</node>
<node concept="a7P8L" id="6Dg__VK8M$B" role="3AunhB">
<ref role="a7OzE" node="6Dg__VK8M2M" resolve="DType" />
</node>
</node>
</node>
<node concept="3I6s7M" id="6Dg__VK8MXc" role="3I6sU7">
<node concept="3A8Hvi" id="6Dg__VK8MXi" role="3I6s78">
<node concept="HKQnh" id="6Dg__VK8N2I" role="3A8w4Q">
<node concept="2pJPEk" id="m2$eFfraKw" role="HKQng">
<node concept="2pJPED" id="m2$eFfraKy" role="2pJPEn">
<ref role="2pJxaS" to="5j4j:1mP5b6jNC0S" resolve="LogicalType" />
<node concept="2pIpSj" id="m2$eFfraKU" role="2pJxcM">
<ref role="2pIpSl" to="5j4j:5zfvpQ71CIE" resolve="dataType" />
<node concept="36biLy" id="m2$eFfraLb" role="28nt2d">
<node concept="1Ft4W6" id="m2$eFfraLn" role="36biLW">
<node concept="a7P8L" id="m2$eFfraLm" role="1FtiSR">
<ref role="a7OzE" node="6Dg__VK8Mla" resolve="DNode" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="a7P8L" id="6Dg__VK8MUV" role="3A8wtg">
<ref role="a7OzE" node="6Dg__VK8LcO" resolve="Node" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="6Dg__VK8MMt" role="3cqZAp" />
</node>
</node>
</node>
<node concept="AVZre" id="5X1yxJH_zpX">
<property role="TrG5h" value="ExpectType" />
<ref role="2YbDB9" to="kqnc:2J$kxDHIJYU" resolve="ExpectType" />
@ -2582,23 +2442,10 @@
<node concept="3I6s7M" id="4nIWweBEY4v" role="3I6sU7">
<node concept="3Aqt3T" id="20Zoq4kTOWU" role="3I6s78">
<ref role="3AqCNq" to="kqnc:20Zoq4kTOFb" resolve="recoverAll" />
<node concept="a7P8L" id="5fMWD6H$68P" role="3AunhB">
<ref role="a7OzE" node="5fMWD6H$66C" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="5fMWD6H$66B" role="0Rg$4">
<node concept="aZer4" id="5fMWD6H$66C" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="5fMWD6HQXZl" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2bhzm" role="11_B2D" />
<node concept="3Tqbb2" id="5fMWD6HQXZn" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="20Zoq4kTODF" role="0Rg$4">
<node concept="aZer4" id="20Zoq4kTODG" role="3XD1gS">
<property role="TrG5h" value="Type" />
@ -2616,9 +2463,6 @@
<ref role="3A2yKK" node="20Zoq4kTOD0" resolve="lit" />
</node>
</node>
<node concept="a7P8L" id="6QbNnfq3aV8" role="3AunhB">
<ref role="a7OzE" node="5fMWD6H$66C" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
@ -2646,23 +2490,10 @@
<node concept="3I6s7M" id="5X1yxJH__SJ" role="3I6sU7">
<node concept="3Aqt3T" id="5X1yxJH__SK" role="3I6s78">
<ref role="3AqCNq" to="kqnc:20Zoq4kTOFb" resolve="recoverAll" />
<node concept="a7P8L" id="5X1yxJH__SL" role="3AunhB">
<ref role="a7OzE" node="5X1yxJH__SN" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="5X1yxJH__SM" role="0Rg$4">
<node concept="aZer4" id="5X1yxJH__SN" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="5X1yxJH__SO" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2bh_d" role="11_B2D" />
<node concept="3Tqbb2" id="5X1yxJH__SQ" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="5X1yxJH__SR" role="0Rg$4">
<node concept="aZer4" id="5X1yxJH__SS" role="3XD1gS">
<property role="TrG5h" value="Type" />
@ -2680,9 +2511,6 @@
<ref role="3A2yKK" node="5X1yxJH__T3" resolve="lvd" />
</node>
</node>
<node concept="a7P8L" id="5X1yxJH__T1" role="3AunhB">
<ref role="a7OzE" node="5X1yxJH__SN" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
@ -2710,23 +2538,10 @@
<node concept="3I6s7M" id="5X1yxJH_Ayo" role="3I6sU7">
<node concept="3Aqt3T" id="5X1yxJH_Ayp" role="3I6s78">
<ref role="3AqCNq" to="kqnc:20Zoq4kTOFb" resolve="recoverAll" />
<node concept="a7P8L" id="5X1yxJH_Ayq" role="3AunhB">
<ref role="a7OzE" node="5X1yxJH_Ays" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
<node concept="3NuqgR" id="5X1yxJH_Ayr" role="0Rg$4">
<node concept="aZer4" id="5X1yxJH_Ays" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="5X1yxJH_Ayt" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2bhB4" role="11_B2D" />
<node concept="3Tqbb2" id="q1hCiyb545" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="5X1yxJH_Ayw" role="0Rg$4">
<node concept="aZer4" id="5X1yxJH_Ayx" role="3XD1gS">
<property role="TrG5h" value="Type" />
@ -2744,9 +2559,6 @@
<ref role="3A2yKK" node="5X1yxJH_AyG" resolve="lv" />
</node>
</node>
<node concept="a7P8L" id="5X1yxJH_AyE" role="3AunhB">
<ref role="a7OzE" node="5X1yxJH_Ays" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
@ -2773,15 +2585,7 @@
<node concept="3I6sU6" id="35YJGAJTRFz" role="3Ip0Jz">
<node concept="3I6s7M" id="35YJGAJTRF$" role="3I6sU7">
<node concept="3Aqt3T" id="35YJGAJTRTn" role="3I6s78">
<ref role="3AqCNq" to="kqnc:35YJGAJTRng" resolve="expectType" />
<node concept="37jhX" id="1TH_SRmhruz" role="3AunhB">
<node concept="3A2sRY" id="35YJGAJTUjl" role="37jj2">
<ref role="3A2yKK" node="35YJGAJTRFW" resolve="lit" />
</node>
</node>
<node concept="a7P8L" id="6QbNnfq3d6Z" role="3AunhB">
<ref role="a7OzE" node="6QbNnfq3aCy" resolve="TypesUpdate" />
</node>
<ref role="3AqCNq" to="kqnc:20Zoq4kTOFb" resolve="recoverAll" />
</node>
</node>
</node>
@ -2804,16 +2608,6 @@
</node>
</node>
</node>
<node concept="3NuqgR" id="6QbNnfq3aCx" role="0Rg$4">
<node concept="aZer4" id="6QbNnfq3aCy" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="6QbNnfq3aCz" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2bhCV" role="11_B2D" />
<node concept="3Tqbb2" id="q1hCixQWcd" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="35YJGAJTRFt" role="0Rg$4">
<node concept="aZer4" id="35YJGAJTRFu" role="3XD1gS">
<property role="TrG5h" value="Node" />
@ -2827,44 +2621,18 @@
<node concept="32pEOW" id="24ciDNzxNHq" role="3vLBG7" />
</node>
<node concept="3xSepi" id="6E2cNicdim0" role="3xSepv">
<node concept="3Aq9E8" id="35YJGAJTRFF" role="3xSepj">
<node concept="3I6sU6" id="35YJGAJTRFG" role="3Ip0Jz">
<node concept="3I6s7M" id="35YJGAJTRFH" role="3I6sU7">
<node concept="3Aqt3T" id="35YJGAJTRFI" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="35YJGAJTRFJ" role="3AunhB">
<ref role="a7OzE" node="35YJGAJTRFu" resolve="Node" />
<node concept="3Aq9E8" id="4APe_wKEDs9" role="3xSepj">
<node concept="3I6sU6" id="4APe_wKEDsa" role="3Ip0Jz">
<node concept="3I6s7M" id="4APe_wKEDxq" role="3I6sU7">
<node concept="3IeTCx" id="4APe_wKEDxn" role="3I6s78">
<node concept="3A2sRY" id="4APe_wKEDyP" role="3IeTCI">
<ref role="3A2yKK" node="35YJGAJTRFW" resolve="lit" />
</node>
<node concept="a7P8L" id="35YJGAJTRFK" role="3AunhB">
<node concept="a7P8L" id="4APe_wKEDyk" role="3IeTCJ">
<ref role="a7OzE" node="35YJGAJTRFx" resolve="Type" />
</node>
</node>
</node>
<node concept="3I6s7M" id="6QbNnfq3bZU" role="3I6sU7">
<node concept="3wWvb2" id="5fMWD6H$6lB" role="3I6s78">
<node concept="2OqwBi" id="5fMWD6Im8AZ" role="3wWo3s">
<node concept="liA8E" id="5fMWD6Im8XT" role="2OqNvi">
<ref role="37wK5l" to="82uw:~BiConsumer.accept(java.lang.Object,java.lang.Object)" resolve="accept" />
<node concept="2OqwBi" id="5fMWD6Im95t" role="37wK5m">
<node concept="3A2sRY" id="5fMWD6Im95u" role="2Oq$k0">
<ref role="3A2yKK" node="35YJGAJTRFW" resolve="lit" />
</node>
<node concept="iZEcu" id="5fMWD6Im95v" role="2OqNvi" />
</node>
<node concept="1Ft4W6" id="7zIaaskbYIx" role="37wK5m">
<node concept="a7P8L" id="5fMWD6Im9qi" role="1FtiSR">
<ref role="a7OzE" node="35YJGAJTRFu" resolve="Node" />
</node>
</node>
</node>
<node concept="1Ft4W6" id="7zIaaskbYIw" role="2Oq$k0">
<node concept="a7P8L" id="14oWJ2NKUXo" role="1FtiSR">
<ref role="a7OzE" node="6QbNnfq3aCy" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -2890,15 +2658,7 @@
<node concept="3I6sU6" id="14oWJ2Nxubo" role="3Ip0Jz">
<node concept="3I6s7M" id="14oWJ2Nxubp" role="3I6sU7">
<node concept="3Aqt3T" id="14oWJ2Nxubq" role="3I6s78">
<ref role="3AqCNq" to="kqnc:35YJGAJTRng" resolve="expectType" />
<node concept="37jhX" id="14oWJ2Nxubr" role="3AunhB">
<node concept="3A2sRY" id="14oWJ2Nxubs" role="37jj2">
<ref role="3A2yKK" node="14oWJ2Nxuc3" resolve="lvd" />
</node>
</node>
<node concept="a7P8L" id="14oWJ2Nxubt" role="3AunhB">
<ref role="a7OzE" node="14oWJ2NxubA" resolve="TypesUpdate" />
</node>
<ref role="3AqCNq" to="kqnc:20Zoq4kTOFb" resolve="recoverAll" />
</node>
</node>
</node>
@ -2921,16 +2681,6 @@
</node>
</node>
</node>
<node concept="3NuqgR" id="14oWJ2Nxub_" role="0Rg$4">
<node concept="aZer4" id="14oWJ2NxubA" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="14oWJ2NxubB" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2bhOE" role="11_B2D" />
<node concept="3Tqbb2" id="Q_4x90cBck" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="14oWJ2NxubE" role="0Rg$4">
<node concept="aZer4" id="14oWJ2NxubF" role="3XD1gS">
<property role="TrG5h" value="Node" />
@ -2944,44 +2694,18 @@
<node concept="32pEOW" id="14oWJ2NxubJ" role="3vLBG7" />
</node>
<node concept="3xSepi" id="14oWJ2NxubK" role="3xSepv">
<node concept="3Aq9E8" id="14oWJ2NxubL" role="3xSepj">
<node concept="3I6sU6" id="14oWJ2NxubM" role="3Ip0Jz">
<node concept="3I6s7M" id="14oWJ2NxubN" role="3I6sU7">
<node concept="3Aqt3T" id="14oWJ2NxubO" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="14oWJ2NxubP" role="3AunhB">
<ref role="a7OzE" node="14oWJ2NxubF" resolve="Node" />
<node concept="3Aq9E8" id="4APe_wKEDRt" role="3xSepj">
<node concept="3I6sU6" id="4APe_wKEDRu" role="3Ip0Jz">
<node concept="3I6s7M" id="4APe_wKEDWI" role="3I6sU7">
<node concept="3IeTCx" id="4APe_wKEDWF" role="3I6s78">
<node concept="3A2sRY" id="4APe_wKEDYX" role="3IeTCI">
<ref role="3A2yKK" node="14oWJ2Nxuc3" resolve="lvd" />
</node>
<node concept="a7P8L" id="14oWJ2NxubQ" role="3AunhB">
<node concept="a7P8L" id="4APe_wKEDXC" role="3IeTCJ">
<ref role="a7OzE" node="14oWJ2NxubI" resolve="Type" />
</node>
</node>
</node>
<node concept="3I6s7M" id="14oWJ2NxubR" role="3I6sU7">
<node concept="3wWvb2" id="14oWJ2NxubS" role="3I6s78">
<node concept="2OqwBi" id="14oWJ2NxubT" role="3wWo3s">
<node concept="liA8E" id="14oWJ2NxubU" role="2OqNvi">
<ref role="37wK5l" to="82uw:~BiConsumer.accept(java.lang.Object,java.lang.Object)" resolve="accept" />
<node concept="2OqwBi" id="14oWJ2NxubV" role="37wK5m">
<node concept="3A2sRY" id="14oWJ2NxubW" role="2Oq$k0">
<ref role="3A2yKK" node="14oWJ2Nxuc3" resolve="lvd" />
</node>
<node concept="iZEcu" id="14oWJ2NxubX" role="2OqNvi" />
</node>
<node concept="1Ft4W6" id="14oWJ2NxubY" role="37wK5m">
<node concept="a7P8L" id="14oWJ2NxubZ" role="1FtiSR">
<ref role="a7OzE" node="14oWJ2NxubF" resolve="Node" />
</node>
</node>
</node>
<node concept="1Ft4W6" id="14oWJ2Nxuc0" role="2Oq$k0">
<node concept="a7P8L" id="14oWJ2Nxuc1" role="1FtiSR">
<ref role="a7OzE" node="14oWJ2NxubA" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -3006,15 +2730,7 @@
<node concept="3I6sU6" id="14oWJ2NxwyG" role="3Ip0Jz">
<node concept="3I6s7M" id="14oWJ2NxwyH" role="3I6sU7">
<node concept="3Aqt3T" id="14oWJ2NxwyI" role="3I6s78">
<ref role="3AqCNq" to="kqnc:35YJGAJTRng" resolve="expectType" />
<node concept="37jhX" id="14oWJ2NxwyJ" role="3AunhB">
<node concept="3A2sRY" id="14oWJ2NxwyK" role="37jj2">
<ref role="3A2yKK" node="14oWJ2Nxwzn" resolve="lvd" />
</node>
</node>
<node concept="a7P8L" id="14oWJ2NxwyL" role="3AunhB">
<ref role="a7OzE" node="14oWJ2NxwyU" resolve="TypesUpdate" />
</node>
<ref role="3AqCNq" to="kqnc:20Zoq4kTOFb" resolve="recoverAll" />
</node>
</node>
</node>
@ -3037,16 +2753,6 @@
</node>
</node>
</node>
<node concept="3NuqgR" id="14oWJ2NxwyT" role="0Rg$4">
<node concept="aZer4" id="14oWJ2NxwyU" role="3XD1gS">
<property role="TrG5h" value="TypesUpdate" />
</node>
<node concept="3uibUv" id="14oWJ2NxwyV" role="3vLBG7">
<ref role="3uigEE" to="82uw:~BiConsumer" resolve="BiConsumer" />
<node concept="2sp9CU" id="3CulEO2bibP" role="11_B2D" />
<node concept="3Tqbb2" id="14oWJ2NxwyX" role="11_B2D" />
</node>
</node>
<node concept="3NuqgR" id="14oWJ2NxwyY" role="0Rg$4">
<node concept="aZer4" id="14oWJ2NxwyZ" role="3XD1gS">
<property role="TrG5h" value="Node" />
@ -3060,44 +2766,18 @@
<node concept="32pEOW" id="14oWJ2Nxwz3" role="3vLBG7" />
</node>
<node concept="3xSepi" id="14oWJ2Nxwz4" role="3xSepv">
<node concept="3Aq9E8" id="14oWJ2Nxwz5" role="3xSepj">
<node concept="3I6sU6" id="14oWJ2Nxwz6" role="3Ip0Jz">
<node concept="3I6s7M" id="14oWJ2Nxwz7" role="3I6sU7">
<node concept="3Aqt3T" id="14oWJ2Nxwz8" role="3I6s78">
<ref role="3AqCNq" to="kqnc:6Qzc0KyJGJT" resolve="recover" />
<node concept="a7P8L" id="14oWJ2Nxwz9" role="3AunhB">
<ref role="a7OzE" node="14oWJ2NxwyZ" resolve="Node" />
<node concept="3Aq9E8" id="4APe_wKEEh_" role="3xSepj">
<node concept="3I6sU6" id="4APe_wKEEhA" role="3Ip0Jz">
<node concept="3I6s7M" id="4APe_wKEEmQ" role="3I6sU7">
<node concept="3IeTCx" id="4APe_wKEEmN" role="3I6s78">
<node concept="3A2sRY" id="4APe_wKEEoF" role="3IeTCI">
<ref role="3A2yKK" node="14oWJ2Nxwzn" resolve="lvd" />
</node>
<node concept="a7P8L" id="14oWJ2Nxwza" role="3AunhB">
<node concept="a7P8L" id="4APe_wKEEoa" role="3IeTCJ">
<ref role="a7OzE" node="14oWJ2Nxwz2" resolve="Type" />
</node>
</node>
</node>
<node concept="3I6s7M" id="14oWJ2Nxwzb" role="3I6sU7">
<node concept="3wWvb2" id="14oWJ2Nxwzc" role="3I6s78">
<node concept="2OqwBi" id="14oWJ2Nxwzd" role="3wWo3s">
<node concept="liA8E" id="14oWJ2Nxwze" role="2OqNvi">
<ref role="37wK5l" to="82uw:~BiConsumer.accept(java.lang.Object,java.lang.Object)" resolve="accept" />
<node concept="2OqwBi" id="14oWJ2Nxwzf" role="37wK5m">
<node concept="3A2sRY" id="14oWJ2Nxwzg" role="2Oq$k0">
<ref role="3A2yKK" node="14oWJ2Nxwzn" resolve="lvd" />
</node>
<node concept="iZEcu" id="14oWJ2Nxwzh" role="2OqNvi" />
</node>
<node concept="1Ft4W6" id="14oWJ2Nxwzi" role="37wK5m">
<node concept="a7P8L" id="14oWJ2Nxwzj" role="1FtiSR">
<ref role="a7OzE" node="14oWJ2NxwyZ" resolve="Node" />
</node>
</node>
</node>
<node concept="1Ft4W6" id="14oWJ2Nxwzk" role="2Oq$k0">
<node concept="a7P8L" id="14oWJ2Nxwzl" role="1FtiSR">
<ref role="a7OzE" node="14oWJ2NxwyU" resolve="TypesUpdate" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -3112,5 +2792,91 @@
</node>
</node>
</node>
<node concept="3iyXCk" id="7LI_gNMkMFA">
<property role="TrG5h" value="Terms" />
<ref role="2efqH6" to="kqnc:JOGAOsVt29" resolve="Terms" />
<node concept="3iyMRA" id="7LI_gNMkMFB" role="ns1xc">
<property role="TrG5h" value="logical" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="7LI_gNMkMFC" role="ns1xx">
<node concept="nstbe" id="7LI_gNMpTBn" role="nspSe">
<property role="TrG5h" value="dataType" />
</node>
</node>
<node concept="3i_YlU" id="4APe_wKcaDU" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKcaDV" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKcaDW" role="2pJPEn">
<ref role="2pJxaS" to="5j4j:1mP5b6jNC0S" resolve="LogicalType" />
<node concept="2pIpSj" id="4APe_wKgwb4" role="2pJxcM">
<ref role="2pIpSl" to="5j4j:5zfvpQ71CIE" resolve="dataType" />
<node concept="36biLy" id="4APe_wKgwcu" role="28nt2d">
<node concept="1NbZt7" id="4APe_wKgwdR" role="36biLW">
<ref role="1NbY7m" node="7LI_gNMpTBn" resolve="dataType" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3iyMRA" id="7LI_gNMpUS4" role="ns1xc">
<property role="TrG5h" value="multiLogical" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="7LI_gNMpUS5" role="ns1xx">
<node concept="nstbe" id="7LI_gNMpUS6" role="nspSe">
<property role="TrG5h" value="dataType" />
</node>
</node>
<node concept="3i_YlU" id="4APe_wKcaDY" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKcaDZ" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKcaE0" role="2pJPEn">
<ref role="2pJxaS" to="tpck:gw2VY9q" resolve="BaseConcept" />
</node>
</node>
</node>
</node>
<node concept="3iyMRA" id="WIYGzYHes$" role="ns1xc">
<property role="TrG5h" value="form" />
<property role="3uGXoX" value="true" />
<ref role="ns1xW" to="kqnc:4lCLOtwq2MF" resolve="type" />
<node concept="nspSf" id="WIYGzYHes_" role="ns1xx" />
</node>
<node concept="3iyMRA" id="WIYGzYHesM" role="ns1xc">
<property role="TrG5h" value="listForm" />
<ref role="ns1xW" node="WIYGzYHes$" resolve="form" />
<node concept="nspSf" id="WIYGzYHesN" role="ns1xx" />
<node concept="3i_YlU" id="4APe_wKcaE3" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKcaE4" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKcaE5" role="2pJPEn">
<ref role="2pJxaS" to="tpck:gw2VY9q" resolve="BaseConcept" />
</node>
</node>
</node>
</node>
<node concept="3iyMRA" id="WIYGzYHet0" role="ns1xc">
<property role="TrG5h" value="termForm" />
<ref role="ns1xW" node="WIYGzYHes$" resolve="form" />
<node concept="nspSf" id="WIYGzYHet1" role="ns1xx" />
<node concept="3i_YlU" id="4APe_wKcaE7" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKcaE8" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKcaE9" role="2pJPEn">
<ref role="2pJxaS" to="tpck:gw2VY9q" resolve="BaseConcept" />
</node>
</node>
</node>
</node>
<node concept="3iyMRA" id="WIYGzYHetg" role="ns1xc">
<property role="TrG5h" value="roleForm" />
<ref role="ns1xW" node="WIYGzYHes$" resolve="form" />
<node concept="nspSf" id="WIYGzYHeth" role="ns1xx" />
<node concept="3i_YlU" id="4APe_wKcaEb" role="3i_WSZ">
<node concept="2pJPEk" id="4APe_wKcaEc" role="3i_UKR">
<node concept="2pJPED" id="4APe_wKcaEd" role="2pJPEn">
<ref role="2pJxaS" to="tpck:gw2VY9q" resolve="BaseConcept" />
</node>
</node>
</node>
</node>
</node>
</model>