Logic lang: Drop usage of LogicalValue as a wrapper for Expression, migration to replace existing instances; Minor editor fixes.

This commit is contained in:
Fedor Isakov 2017-10-25 15:41:19 +02:00
parent b3b62d2cca
commit fd45d86d70
6 changed files with 518 additions and 18 deletions

View File

@ -1410,8 +1410,8 @@
<node concept="2OqwBi" id="6dMt3c5apce" role="3clFbG">
<node concept="2OqwBi" id="6dMt3c5apcf" role="2Oq$k0">
<node concept="30H73N" id="6dMt3c5apcg" role="2Oq$k0" />
<node concept="3TrEf2" id="6dMt3c5apch" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:4xOAf2nhhJX" resolve="position" />
<node concept="3TrEf2" id="5f6wxQ3pstJ" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5f6wxQ3pnWr" resolve="indexExpr" />
</node>
</node>
<node concept="3x8VRR" id="6dMt3c5apci" role="2OqNvi" />
@ -1497,8 +1497,8 @@
<node concept="3clFbS" id="7HUwyZaNQHD" role="2VODD2">
<node concept="3clFbF" id="7HUwyZaNQHE" role="3cqZAp">
<node concept="2OqwBi" id="7HUwyZaNQHF" role="3clFbG">
<node concept="3TrEf2" id="7HUwyZaNQHG" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:4xOAf2nhhJX" resolve="position" />
<node concept="3TrEf2" id="5f6wxQ3ptjx" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5f6wxQ3pnWr" resolve="indexExpr" />
</node>
<node concept="30H73N" id="7HUwyZaNQHH" role="2Oq$k0" />
</node>
@ -1523,8 +1523,8 @@
<node concept="2OqwBi" id="6dMt3c5apH4" role="3clFbG">
<node concept="2OqwBi" id="6dMt3c5apH5" role="2Oq$k0">
<node concept="30H73N" id="6dMt3c5apH6" role="2Oq$k0" />
<node concept="3TrEf2" id="6dMt3c5apH7" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:4xOAf2nhhJX" resolve="position" />
<node concept="3TrEf2" id="5f6wxQ3psXU" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5f6wxQ3pnWr" resolve="indexExpr" />
</node>
</node>
<node concept="3w_OXm" id="6dMt3c5aq2r" role="2OqNvi" />

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<language namespace="jetbrains.mps.logic" uuid="35320f26-77cb-4c55-be9f-a97a27770af1" languageVersion="1" moduleVersion="0">
<language namespace="jetbrains.mps.logic" uuid="35320f26-77cb-4c55-be9f-a97a27770af1" languageVersion="2" moduleVersion="0">
<models>
<modelRoot contentPath="${module}" type="default">
<sourceRoot location="languageModels" />

View File

@ -363,6 +363,7 @@
<child id="1146171026732" name="value" index="3t7uKA" />
</concept>
<concept id="1171999116870" name="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" flags="nn" index="3w_OXm" />
<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>
@ -1012,6 +1013,58 @@
</node>
</node>
</node>
<node concept="3EZMnI" id="5f6wxQ3yfj9" role="3EZMnx">
<node concept="VPM3Z" id="5f6wxQ3yfja" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="l2Vlx" id="5f6wxQ3yfjb" role="2iSdaV" />
<node concept="3F0ifn" id="5f6wxQ3yfjc" role="3EZMnx">
<property role="3F0ifm" value="[" />
<ref role="1k5W1q" to="tpen:hXb$RYA" resolve="LeftBracket" />
<node concept="Vb9p2" id="5f6wxQ3yfjd" role="3F10Kt">
<property role="Vbekb" value="BOLD" />
</node>
<node concept="11L4FC" id="5f6wxQ3yfje" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="11LMrY" id="5f6wxQ3yhtj" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="3F1sOY" id="5f6wxQ3yfjf" role="3EZMnx">
<ref role="1NtTu8" to="5j4j:5f6wxQ3ychO" resolve="cardinalityExpr" />
<node concept="2w$q5c" id="5f6wxQ3yfjg" role="3xwHhi">
<node concept="2aJ2om" id="5f6wxQ3yfjh" role="2w$qW5">
<ref role="2$4xQ3" node="4bWqD4CreCD" resolve="EXPRESSION" />
</node>
</node>
</node>
<node concept="3F0ifn" id="5f6wxQ3yfji" role="3EZMnx">
<property role="3F0ifm" value="]" />
<ref role="1k5W1q" to="tpen:hXb$V4T" resolve="RightBracket" />
<node concept="Vb9p2" id="5f6wxQ3yfjj" role="3F10Kt">
<property role="Vbekb" value="BOLD" />
</node>
<node concept="11L4FC" id="5f6wxQ3yhtr" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="pkWqt" id="5f6wxQ3yfjk" role="pqm2j">
<node concept="3clFbS" id="5f6wxQ3yfjl" role="2VODD2">
<node concept="3clFbF" id="5f6wxQ3yfjm" role="3cqZAp">
<node concept="2OqwBi" id="5f6wxQ3ygCc" role="3clFbG">
<node concept="2OqwBi" id="5f6wxQ3yfjn" role="2Oq$k0">
<node concept="pncrf" id="5f6wxQ3yfjp" role="2Oq$k0" />
<node concept="3TrEf2" id="5f6wxQ3ygdk" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5f6wxQ3ychO" resolve="cardinalityExpr" />
</node>
</node>
<node concept="3x8VRR" id="5f6wxQ3yh3V" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="24kQdi" id="7E86$tK_Puj">
@ -1074,6 +1127,56 @@
</node>
</node>
</node>
<node concept="3EZMnI" id="5f6wxQ3pofa" role="3EZMnx">
<node concept="VPM3Z" id="5f6wxQ3pofb" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="3F0ifn" id="5f6wxQ3pofc" role="3EZMnx">
<property role="3F0ifm" value="[" />
<node concept="11L4FC" id="5f6wxQ3pofd" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="11LMrY" id="5f6wxQ3pofe" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="Vb9p2" id="5f6wxQ3poff" role="3F10Kt">
<property role="Vbekb" value="BOLD" />
</node>
</node>
<node concept="3F1sOY" id="5f6wxQ3pofg" role="3EZMnx">
<ref role="1NtTu8" to="5j4j:5f6wxQ3pnWr" resolve="indexExpr" />
<node concept="2w$q5c" id="5f6wxQ3pofh" role="3xwHhi">
<node concept="2aJ2om" id="5f6wxQ3pofi" role="2w$qW5">
<ref role="2$4xQ3" node="4bWqD4CreCD" resolve="EXPRESSION" />
</node>
</node>
</node>
<node concept="3F0ifn" id="5f6wxQ3pqC1" role="3EZMnx">
<property role="3F0ifm" value="]" />
<node concept="11L4FC" id="5f6wxQ3pqMZ" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="Vb9p2" id="5f6wxQ3pqN1" role="3F10Kt">
<property role="Vbekb" value="BOLD" />
</node>
</node>
<node concept="l2Vlx" id="5f6wxQ3pofj" role="2iSdaV" />
<node concept="pkWqt" id="5f6wxQ3pofk" role="pqm2j">
<node concept="3clFbS" id="5f6wxQ3pofl" role="2VODD2">
<node concept="3clFbF" id="5f6wxQ3pofm" role="3cqZAp">
<node concept="2OqwBi" id="5f6wxQ3pofn" role="3clFbG">
<node concept="2OqwBi" id="5f6wxQ3pofo" role="2Oq$k0">
<node concept="pncrf" id="5f6wxQ3pofp" role="2Oq$k0" />
<node concept="3TrEf2" id="5f6wxQ3qlcr" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5f6wxQ3pnWr" resolve="indexExpr" />
</node>
</node>
<node concept="3x8VRR" id="5f6wxQ3ppDS" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="l2Vlx" id="6p0DfM0eyCU" role="2iSdaV" />
</node>
</node>
@ -1971,7 +2074,7 @@
<node concept="3clFbS" id="7XmdqtdOVNL" role="2VODD2">
<node concept="3clFbF" id="7XmdqtdOWrG" role="3cqZAp">
<node concept="Xl_RD" id="7XmdqtdOWrF" role="3clFbG">
<property role="Xl_RC" value="#" />
<property role="Xl_RC" value="[" />
</node>
</node>
</node>
@ -1982,8 +2085,8 @@
<node concept="2OqwBi" id="7XmdqtdOWGM" role="3clFbG">
<node concept="2OqwBi" id="7XmdqtdOWGN" role="2Oq$k0">
<node concept="7Obwk" id="7XmdqtdOWGO" role="2Oq$k0" />
<node concept="3TrEf2" id="7XmdqtdOWGP" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:4xOAf2nhhJX" resolve="position" />
<node concept="3TrEf2" id="5f6wxQ3prR7" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5f6wxQ3pnWr" resolve="indexExpr" />
</node>
</node>
<node concept="2DeJnY" id="7XmdqtdOWGQ" role="2OqNvi" />
@ -2011,8 +2114,8 @@
<node concept="2OqwBi" id="7XmdqtdOWg2" role="3clFbG">
<node concept="2OqwBi" id="7XmdqtdOWg3" role="2Oq$k0">
<node concept="7Obwk" id="7XmdqtdOWg4" role="2Oq$k0" />
<node concept="3TrEf2" id="7XmdqtdOWg5" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:4xOAf2nhhJX" resolve="position" />
<node concept="3TrEf2" id="5f6wxQ3pro4" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5f6wxQ3pnWr" resolve="indexExpr" />
</node>
</node>
<node concept="3w_OXm" id="7XmdqtdOWg6" role="2OqNvi" />
@ -2195,8 +2298,8 @@
<node concept="2OqwBi" id="4hPXq9Jm6d6" role="3clFbG">
<node concept="2OqwBi" id="4hPXq9Jm6d7" role="2Oq$k0">
<node concept="7Obwk" id="4hPXq9Jm6db" role="2Oq$k0" />
<node concept="3TrEf2" id="4hPXq9Jm6d9" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:7E86$tKtioV" resolve="cardinality" />
<node concept="3TrEf2" id="5f6wxQ3yibG" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5f6wxQ3ychO" resolve="cardinalityExpr" />
</node>
</node>
<node concept="3w_OXm" id="4hPXq9Jm6da" role="2OqNvi" />
@ -2220,8 +2323,8 @@
<node concept="2OqwBi" id="4hPXq9Jm6dk" role="3clFbG">
<node concept="2OqwBi" id="4hPXq9Jm6dl" role="2Oq$k0">
<node concept="7Obwk" id="4hPXq9Jm6dr" role="2Oq$k0" />
<node concept="3TrEf2" id="4hPXq9Jm6dn" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:7E86$tKtioV" resolve="cardinality" />
<node concept="3TrEf2" id="5f6wxQ3yhLk" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5f6wxQ3ychO" resolve="cardinalityExpr" />
</node>
</node>
<node concept="2DeJnY" id="4hPXq9Jm6do" role="2OqNvi" />
@ -2374,5 +2477,35 @@
</node>
</node>
</node>
<node concept="3p36aQ" id="5f6wxQ3kFVR">
<property role="3GE5qa" value="logical" />
<ref role="aqKnT" to="5j4j:7E86$tKskWj" resolve="LogicalValue" />
<node concept="3eGOop" id="5f6wxQ3kFVU" role="3ft7WO">
<ref role="3EoQqy" to="5j4j:7E86$tKskWj" resolve="LogicalValue" />
<node concept="ucgPf" id="5f6wxQ3kFVW" role="3aKz83">
<node concept="3clFbS" id="5f6wxQ3kFVY" role="2VODD2">
<node concept="3clFbF" id="5f6wxQ3kGyB" role="3cqZAp">
<node concept="2ShNRf" id="5f6wxQ3kGy_" role="3clFbG">
<node concept="3zrR0B" id="5f6wxQ3kOG$" role="2ShVmc">
<node concept="3Tqbb2" id="5f6wxQ3kOGA" role="3zrR0E">
<ref role="ehGHo" to="5j4j:7E86$tKskWj" resolve="LogicalValue" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="16NfWO" id="5f6wxQ3kPcS" role="upBLP">
<node concept="2h3Zct" id="5f6wxQ3kPgX" role="16NeZM">
<property role="2h4Kg1" value="`" />
</node>
</node>
<node concept="16NL0t" id="5f6wxQ3kOOv" role="upBLP">
<node concept="2h3Zct" id="5f6wxQ3kOSx" role="16NL0q">
<property role="2h4Kg1" value="logical value" />
</node>
</node>
</node>
</node>
</model>

View File

@ -17,6 +17,7 @@
<import index="5j4j" ref="r:c8fb1c5e-8204-4904-a38f-678899d447c1(jetbrains.mps.logic.structure)" />
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" />
<import index="slm6" ref="90746344-04fd-4286-97d5-b46ae6a81709/r:52a3d974-bd4f-4651-ba6e-a2de5e336d95(jetbrains.mps.lang.migration/jetbrains.mps.lang.migration.methods)" implicit="true" />
<import index="wyt6" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)" implicit="true" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -55,9 +56,11 @@
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<concept id="1068580123157" name="jetbrains.mps.baseLanguage.structure.Statement" flags="nn" index="3clFbH" />
<concept id="1068580123159" name="jetbrains.mps.baseLanguage.structure.IfStatement" flags="nn" index="3clFbJ">
<child id="1068580123160" name="condition" index="3clFbw" />
<child id="1068580123161" name="ifTrue" index="3clFbx" />
<child id="1206060520071" name="elsifClauses" index="3eNLev" />
</concept>
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
@ -72,6 +75,10 @@
<child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
</concept>
<concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
<concept id="1206060495898" name="jetbrains.mps.baseLanguage.structure.ElsifClause" flags="ng" index="3eNFk2">
<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" />
@ -149,6 +156,9 @@
<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="1140725362528" name="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" flags="nn" index="2oxUTD">
<child id="1140725362529" name="linkTarget" index="2oxUTC" />
</concept>
<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" />
@ -156,9 +166,15 @@
<concept id="1145383075378" name="jetbrains.mps.lang.smodel.structure.SNodeListType" flags="in" index="2I9FWS">
<reference id="1145383142433" name="elementConcept" index="2I9WkF" />
</concept>
<concept id="7504436213544206332" name="jetbrains.mps.lang.smodel.structure.Node_ContainingLinkOperation" flags="nn" index="2NL2c5" />
<concept id="2644386474301421077" name="jetbrains.mps.lang.smodel.structure.LinkIdRefExpression" flags="nn" index="359W_D">
<reference id="2644386474301421078" name="conceptDeclaration" index="359W_E" />
<reference id="2644386474301421079" name="linkDeclaration" index="359W_F" />
</concept>
<concept id="2644386474300074836" name="jetbrains.mps.lang.smodel.structure.ConceptIdRefExpression" flags="nn" index="35c_gC">
<reference id="2644386474300074837" name="conceptDeclaration" index="35c_gD" />
</concept>
<concept id="1139613262185" name="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" flags="nn" index="1mfA1w" />
<concept id="1139621453865" name="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" flags="nn" index="1mIQ4w">
<child id="1177027386292" name="conceptArgument" index="cj9EA" />
</concept>
@ -174,6 +190,9 @@
<concept id="1138056022639" name="jetbrains.mps.lang.smodel.structure.SPropertyAccess" flags="nn" index="3TrcHB">
<reference id="1138056395725" name="property" index="3TsBF5" />
</concept>
<concept id="1138056143562" name="jetbrains.mps.lang.smodel.structure.SLinkAccess" flags="nn" index="3TrEf2">
<reference id="1138056516764" name="link" index="3Tt5mk" />
</concept>
<concept id="1138056282393" name="jetbrains.mps.lang.smodel.structure.SLinkListAccess" flags="nn" index="3Tsc0h">
<reference id="1138056546658" name="link" index="3TtcxE" />
</concept>
@ -497,5 +516,284 @@
<ref role="3tTeZr" to="slm6:1JWcQ2VeXpD" resolve="check" />
</node>
</node>
<node concept="3SyAh_" id="5f6wxQ3pDPD">
<property role="qMTe8" value="1" />
<property role="TrG5h" value="Replace_LogicalValue_with_Expression" />
<node concept="3Tm1VV" id="5f6wxQ3pDPE" role="1B3o_S" />
<node concept="3tTeZs" id="5f6wxQ3pDPF" role="jymVt">
<property role="3tTeZt" value="&lt;no execute after&gt;" />
<ref role="3tTeZr" to="slm6:7ay_HjIMt1a" resolve="execute after" />
</node>
<node concept="3tTeZs" id="5f6wxQ3pDPG" role="jymVt">
<property role="3tTeZt" value="&lt;no required data&gt;" />
<ref role="3tTeZr" to="slm6:3A3gNhf1WPI" resolve="requires data" />
</node>
<node concept="3tTeZs" id="5f6wxQ3pDPH" role="jymVt">
<property role="3tTeZt" value="&lt;no produced data&gt;" />
<ref role="3tTeZr" to="slm6:536fTXa4WHO" resolve="produces data" />
</node>
<node concept="2tJIrI" id="5f6wxQ3pDPI" role="jymVt" />
<node concept="3tYpMH" id="5f6wxQ3pHq9" role="jymVt">
<property role="TrG5h" value="isRerunnable" />
<property role="3tYpME" value="true" />
<ref role="25KYV2" to="slm6:1JWcQ2VeWIs" resolve="isRerunnable" />
<node concept="3Tm1VV" id="5f6wxQ3pHqb" role="1B3o_S" />
<node concept="10P_77" id="5f6wxQ3pHqc" role="1tU5fm" />
</node>
<node concept="3tYpXE" id="5f6wxQ3pHqO" role="jymVt">
<property role="TrG5h" value="description" />
<property role="3tYpXF" value="Replace instances of LogicalValue that serve as index with Expression instances" />
<ref role="25KYV2" to="slm6:1_lSsE3RFpE" resolve="description" />
<node concept="3Tm1VV" id="5f6wxQ3pHqQ" role="1B3o_S" />
<node concept="17QB3L" id="5f6wxQ3pHqR" role="1tU5fm" />
</node>
<node concept="q3mfD" id="5f6wxQ3pDPL" role="jymVt">
<property role="TrG5h" value="execute" />
<ref role="2VtyIY" to="slm6:4ubqdNOF9cA" resolve="execute" />
<node concept="3Tm1VV" id="5f6wxQ3pDPN" role="1B3o_S" />
<node concept="3clFbS" id="5f6wxQ3pDPP" role="3clF47">
<node concept="3cpWs8" id="5f6wxQ3pHv7" role="3cqZAp">
<node concept="3cpWsn" id="5f6wxQ3pHv8" role="3cpWs9">
<property role="TrG5h" value="instances" />
<node concept="_YKpA" id="5f6wxQ3pHv9" role="1tU5fm">
<node concept="3uibUv" id="5f6wxQ3pHva" role="_ZDj9">
<ref role="3uigEE" to="mhbf:~SNode" resolve="SNode" />
</node>
</node>
<node concept="2ShNRf" id="5f6wxQ3pHvb" role="33vP2m">
<node concept="Tc6Ow" id="5f6wxQ3pHvc" role="2ShVmc">
<node concept="3uibUv" id="5f6wxQ3pHvd" role="HW$YZ">
<ref role="3uigEE" to="mhbf:~SNode" resolve="SNode" />
</node>
<node concept="2OqwBi" id="5f6wxQ3pHve" role="I$8f6">
<node concept="2YIFZM" id="5f6wxQ3pHvf" role="2Oq$k0">
<ref role="37wK5l" to="lui2:~FindUsagesFacade.getInstance():org.jetbrains.mps.openapi.module.FindUsagesFacade" resolve="getInstance" />
<ref role="1Pybhc" to="lui2:~FindUsagesFacade" resolve="FindUsagesFacade" />
</node>
<node concept="liA8E" id="5f6wxQ3pHvg" role="2OqNvi">
<ref role="37wK5l" to="lui2:~FindUsagesFacade.findInstances(org.jetbrains.mps.openapi.module.SearchScope,java.util.Set,boolean,org.jetbrains.mps.openapi.util.ProgressMonitor):java.util.Set" resolve="findInstances" />
<node concept="2ShNRf" id="5f6wxQ3pHvh" role="37wK5m">
<node concept="1pGfFk" id="5f6wxQ3pHvi" role="2ShVmc">
<ref role="37wK5l" to="mte5:~ModulesScope.&lt;init&gt;(org.jetbrains.mps.openapi.module.SModule...)" resolve="ModulesScope" />
<node concept="37vLTw" id="5f6wxQ3pHvj" role="37wK5m">
<ref role="3cqZAo" node="5f6wxQ3pDPR" resolve="m" />
</node>
</node>
</node>
<node concept="2YIFZM" id="5f6wxQ3pHvk" role="37wK5m">
<ref role="1Pybhc" to="33ny:~Collections" resolve="Collections" />
<ref role="37wK5l" to="33ny:~Collections.singleton(java.lang.Object):java.util.Set" resolve="singleton" />
<node concept="35c_gC" id="5f6wxQ3pHvl" role="37wK5m">
<ref role="35c_gD" to="5j4j:7E86$tKskWj" resolve="LogicalValue" />
</node>
</node>
<node concept="3clFbT" id="5f6wxQ3pHvm" role="37wK5m">
<property role="3clFbU" value="false" />
</node>
<node concept="2ShNRf" id="5f6wxQ3pHvn" role="37wK5m">
<node concept="1pGfFk" id="5f6wxQ3pHvo" role="2ShVmc">
<ref role="37wK5l" to="mk8z:~EmptyProgressMonitor.&lt;init&gt;()" resolve="EmptyProgressMonitor" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1DcWWT" id="5f6wxQ3pJa3" role="3cqZAp">
<node concept="3clFbS" id="5f6wxQ3pJa6" role="2LFqv$">
<node concept="3clFbJ" id="5f6wxQ3pM55" role="3cqZAp">
<node concept="3clFbS" id="5f6wxQ3pM57" role="3clFbx">
<node concept="3clFbF" id="5f6wxQ3pR04" role="3cqZAp">
<node concept="2OqwBi" id="5f6wxQ3pX$G" role="3clFbG">
<node concept="2OqwBi" id="5f6wxQ3pWLn" role="2Oq$k0">
<node concept="1PxgMI" id="5f6wxQ3pWCg" role="2Oq$k0">
<property role="1BlNFB" value="true" />
<node concept="chp4Y" id="5f6wxQ3pWD5" role="3oSUPX">
<ref role="cht4Q" to="5j4j:7E86$tK_OxQ" resolve="LogicalVariable" />
</node>
<node concept="2OqwBi" id="5f6wxQ3pR6o" role="1m5AlR">
<node concept="37vLTw" id="5f6wxQ3pR02" role="2Oq$k0">
<ref role="3cqZAo" node="5f6wxQ3pJa7" resolve="inst" />
</node>
<node concept="1mfA1w" id="5f6wxQ3pRga" role="2OqNvi" />
</node>
</node>
<node concept="3TrEf2" id="5f6wxQ3pXcV" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5f6wxQ3pnWr" resolve="indexExpr" />
</node>
</node>
<node concept="2oxUTD" id="5f6wxQ3pY0I" role="2OqNvi">
<node concept="2OqwBi" id="5f6wxQ3pZfh" role="2oxUTC">
<node concept="2OqwBi" id="5f6wxQ3pYA$" role="2Oq$k0">
<node concept="1PxgMI" id="5f6wxQ3pYpG" role="2Oq$k0">
<property role="1BlNFB" value="true" />
<node concept="chp4Y" id="5f6wxQ3pYqO" role="3oSUPX">
<ref role="cht4Q" to="5j4j:7E86$tKskWj" resolve="LogicalValue" />
</node>
<node concept="37vLTw" id="5f6wxQ3pY3v" role="1m5AlR">
<ref role="3cqZAo" node="5f6wxQ3pJa7" resolve="inst" />
</node>
</node>
<node concept="3TrEf2" id="5f6wxQ3pYQI" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:7E86$tKsqnr" resolve="code" />
</node>
</node>
<node concept="3YRAZt" id="5f6wxQ3pZH3" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5f6wxQ3qEgj" role="3cqZAp">
<node concept="2OqwBi" id="5f6wxQ3qEmB" role="3clFbG">
<node concept="37vLTw" id="5f6wxQ3qEgh" role="2Oq$k0">
<ref role="3cqZAo" node="5f6wxQ3pJa7" resolve="inst" />
</node>
<node concept="3YRAZt" id="5f6wxQ3HIZw" role="2OqNvi" />
</node>
</node>
<node concept="3clFbH" id="5f6wxQ3z4Ya" role="3cqZAp" />
</node>
<node concept="1Wc70l" id="5f6wxQ3pN_g" role="3clFbw">
<node concept="2OqwBi" id="5f6wxQ3pMD2" role="3uHU7B">
<node concept="2OqwBi" id="5f6wxQ3pMed" role="2Oq$k0">
<node concept="37vLTw" id="5f6wxQ3pM5Y" role="2Oq$k0">
<ref role="3cqZAo" node="5f6wxQ3pJa7" resolve="inst" />
</node>
<node concept="1mfA1w" id="5f6wxQ3pMnX" role="2OqNvi" />
</node>
<node concept="1mIQ4w" id="5f6wxQ3pMWg" role="2OqNvi">
<node concept="chp4Y" id="5f6wxQ3pNfU" role="cj9EA">
<ref role="cht4Q" to="5j4j:7E86$tK_OxQ" resolve="LogicalVariable" />
</node>
</node>
</node>
<node concept="2OqwBi" id="5f6wxQ3q1ru" role="3uHU7w">
<node concept="359W_D" id="5f6wxQ3pQxO" role="2Oq$k0">
<ref role="359W_E" to="5j4j:7E86$tK_OxQ" resolve="LogicalVariable" />
<ref role="359W_F" to="5j4j:4xOAf2nhhJX" resolve="position" />
</node>
<node concept="liA8E" id="5f6wxQ3q23V" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~Object.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="2OqwBi" id="5f6wxQ3q2jG" role="37wK5m">
<node concept="37vLTw" id="5f6wxQ3q29p" role="2Oq$k0">
<ref role="3cqZAo" node="5f6wxQ3pJa7" resolve="inst" />
</node>
<node concept="2NL2c5" id="5f6wxQ3q2yn" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="3eNFk2" id="5f6wxQ3z4ST" role="3eNLev">
<node concept="3clFbS" id="5f6wxQ3z4SV" role="3eOfB_">
<node concept="3clFbF" id="5f6wxQ3z5kN" role="3cqZAp">
<node concept="2OqwBi" id="5f6wxQ3z5kO" role="3clFbG">
<node concept="2OqwBi" id="5f6wxQ3z5kP" role="2Oq$k0">
<node concept="1PxgMI" id="5f6wxQ3z5kQ" role="2Oq$k0">
<property role="1BlNFB" value="true" />
<node concept="chp4Y" id="5f6wxQ3z5s9" role="3oSUPX">
<ref role="cht4Q" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
</node>
<node concept="2OqwBi" id="5f6wxQ3z5kS" role="1m5AlR">
<node concept="37vLTw" id="5f6wxQ3z5kT" role="2Oq$k0">
<ref role="3cqZAo" node="5f6wxQ3pJa7" resolve="inst" />
</node>
<node concept="1mfA1w" id="5f6wxQ3z5kU" role="2OqNvi" />
</node>
</node>
<node concept="3TrEf2" id="5f6wxQ3z5Gw" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5f6wxQ3ychO" resolve="cardinalityExpr" />
</node>
</node>
<node concept="2oxUTD" id="5f6wxQ3z5kW" role="2OqNvi">
<node concept="2OqwBi" id="5f6wxQ3z5kX" role="2oxUTC">
<node concept="2OqwBi" id="5f6wxQ3z5kY" role="2Oq$k0">
<node concept="1PxgMI" id="5f6wxQ3z5kZ" role="2Oq$k0">
<property role="1BlNFB" value="true" />
<node concept="chp4Y" id="5f6wxQ3z5l0" role="3oSUPX">
<ref role="cht4Q" to="5j4j:7E86$tKskWj" resolve="LogicalValue" />
</node>
<node concept="37vLTw" id="5f6wxQ3z5l1" role="1m5AlR">
<ref role="3cqZAo" node="5f6wxQ3pJa7" resolve="inst" />
</node>
</node>
<node concept="3TrEf2" id="5f6wxQ3z5l2" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:7E86$tKsqnr" resolve="code" />
</node>
</node>
<node concept="3YRAZt" id="5f6wxQ3z5l3" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5f6wxQ3z5l4" role="3cqZAp">
<node concept="2OqwBi" id="5f6wxQ3z5l5" role="3clFbG">
<node concept="37vLTw" id="5f6wxQ3z5l6" role="2Oq$k0">
<ref role="3cqZAo" node="5f6wxQ3pJa7" resolve="inst" />
</node>
<node concept="3YRAZt" id="5f6wxQ3HJap" role="2OqNvi" />
</node>
</node>
</node>
<node concept="1Wc70l" id="5f6wxQ3z4YH" role="3eO9$A">
<node concept="2OqwBi" id="5f6wxQ3z4YI" role="3uHU7B">
<node concept="2OqwBi" id="5f6wxQ3z4YJ" role="2Oq$k0">
<node concept="37vLTw" id="5f6wxQ3z4YK" role="2Oq$k0">
<ref role="3cqZAo" node="5f6wxQ3pJa7" resolve="inst" />
</node>
<node concept="1mfA1w" id="5f6wxQ3z4YL" role="2OqNvi" />
</node>
<node concept="1mIQ4w" id="5f6wxQ3z4YM" role="2OqNvi">
<node concept="chp4Y" id="5f6wxQ3z55W" role="cj9EA">
<ref role="cht4Q" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
</node>
</node>
</node>
<node concept="2OqwBi" id="5f6wxQ3z4YO" role="3uHU7w">
<node concept="359W_D" id="5f6wxQ3z4YP" role="2Oq$k0">
<ref role="359W_E" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
<ref role="359W_F" to="5j4j:7E86$tKtioV" resolve="cardinality" />
</node>
<node concept="liA8E" id="5f6wxQ3z4YQ" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~Object.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="2OqwBi" id="5f6wxQ3z4YR" role="37wK5m">
<node concept="37vLTw" id="5f6wxQ3z4YS" role="2Oq$k0">
<ref role="3cqZAo" node="5f6wxQ3pJa7" resolve="inst" />
</node>
<node concept="2NL2c5" id="5f6wxQ3z4YT" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="5f6wxQ3pJa7" role="1Duv9x">
<property role="TrG5h" value="inst" />
<node concept="3Tqbb2" id="5f6wxQ3pK7p" role="1tU5fm" />
</node>
<node concept="37vLTw" id="5f6wxQ3pJac" role="1DdaDG">
<ref role="3cqZAo" node="5f6wxQ3pHv8" resolve="instances" />
</node>
</node>
</node>
<node concept="ffn8J" id="5f6wxQ3pDPR" role="3clF46">
<property role="TrG5h" value="m" />
<ref role="ffrpq" to="slm6:7fCCGqboj9J" resolve="m" />
<node concept="3uibUv" id="5f6wxQ3pDPQ" role="1tU5fm">
<ref role="3uigEE" to="lui2:~SModule" resolve="SModule" />
</node>
</node>
<node concept="q3mfm" id="5f6wxQ3pDPS" role="3clF45">
<ref role="q3mfh" to="slm6:4F5w8gPXEEe" />
<ref role="1QQUv3" node="5f6wxQ3pDPL" resolve="execute" />
</node>
</node>
<node concept="3tTeZs" id="5f6wxQ3pDPT" role="jymVt">
<property role="3tTeZt" value="&lt;no result checking&gt;" />
<ref role="3tTeZr" to="slm6:1JWcQ2VeXpD" resolve="check" />
</node>
</node>
</model>

View File

@ -236,6 +236,13 @@
<property role="20kJfa" value="cardinality" />
<property role="IQ2ns" value="8829335963591583291" />
<ref role="20lvS9" node="7E86$tKskWj" resolve="LogicalValue" />
<node concept="asaX9" id="5f6wxQ3ye_u" role="lGtFl" />
</node>
<node concept="1TJgyj" id="5f6wxQ3ychO" role="1TKVEi">
<property role="IQ2ns" value="6036655413809169524" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="cardinalityExpr" />
<ref role="20lvS9" to="tpee:fz3vP1J" resolve="Expression" />
</node>
<node concept="1TJgyi" id="7E86$tKtijQ" role="1TKVEl">
<property role="TrG5h" value="isMulti" />
@ -269,6 +276,13 @@
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="position" />
<ref role="20lvS9" node="7E86$tKskWj" resolve="LogicalValue" />
<node concept="asaX9" id="5f6wxQ3po4d" role="lGtFl" />
</node>
<node concept="1TJgyj" id="5f6wxQ3pnWr" role="1TKVEi">
<property role="IQ2ns" value="6036655413806858011" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="indexExpr" />
<ref role="20lvS9" to="tpee:fz3vP1J" resolve="Expression" />
</node>
</node>
<node concept="1TIwiD" id="1mP5b6jNC0S">

View File

@ -32,6 +32,12 @@
<concept id="1070534760951" name="jetbrains.mps.baseLanguage.structure.ArrayType" flags="in" index="10Q1$e">
<child id="1070534760952" name="componentType" index="10Q1$1" />
</concept>
<concept id="1068431474542" name="jetbrains.mps.baseLanguage.structure.VariableDeclaration" flags="ng" index="33uBYm">
<child id="1068431790190" name="initializer" index="33vP2m" />
</concept>
<concept id="1068498886296" name="jetbrains.mps.baseLanguage.structure.VariableReference" flags="nn" index="37vLTw">
<reference id="1068581517664" name="variableDeclaration" index="3cqZAo" />
</concept>
<concept id="4972933694980447171" name="jetbrains.mps.baseLanguage.structure.BaseVariableDeclaration" flags="ng" index="19Szcq">
<child id="5680397130376446158" name="type" index="1tU5fm" />
</concept>
@ -51,6 +57,10 @@
<concept id="1068580320020" name="jetbrains.mps.baseLanguage.structure.IntegerConstant" flags="nn" index="3cmrfG">
<property id="1068580320021" name="value" index="3cmrfH" />
</concept>
<concept id="1068581242864" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" flags="nn" index="3cpWs8">
<child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
</concept>
<concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
<concept id="1206060495898" name="jetbrains.mps.baseLanguage.structure.ElsifClause" flags="ng" index="3eNFk2">
<child id="1206060619838" name="condition" index="3eO9$A" />
<child id="1206060644605" name="statementList" index="3eOfB_" />
@ -59,6 +69,11 @@
<reference id="1107535924139" name="classifier" index="3uigEE" />
<child id="1109201940907" name="parameter" index="11_B2D" />
</concept>
<concept id="1163668896201" name="jetbrains.mps.baseLanguage.structure.TernaryOperatorExpression" flags="nn" index="3K4zz7">
<child id="1163668914799" name="condition" index="3K4Cdx" />
<child id="1163668922816" name="ifTrue" index="3K4E3e" />
<child id="1163668934364" name="ifFalse" index="3K4GZi" />
</concept>
<concept id="6329021646629104957" name="jetbrains.mps.baseLanguage.structure.TextCommentPart" flags="nn" index="3SKdUq">
<property id="6329021646629104958" name="text" index="3SKdUp" />
</concept>
@ -171,6 +186,9 @@
<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="1138056143562" name="jetbrains.mps.lang.smodel.structure.SLinkAccess" flags="nn" index="3TrEf2">
<reference id="1138056516764" name="link" index="3Tt5mk" />
</concept>
@ -504,6 +522,40 @@
<property role="3GE5qa" value="logical" />
<property role="TrG5h" value="supertypesOf_LogicalType" />
<node concept="3clFbS" id="1mP5b6jNJDk" role="2sgrp5">
<node concept="3cpWs8" id="5f6wxQ39Kg4" role="3cqZAp">
<node concept="3cpWsn" id="5f6wxQ39Kg5" role="3cpWs9">
<property role="TrG5h" value="dataType" />
<node concept="3Tqbb2" id="5f6wxQ39Kg0" role="1tU5fm">
<ref role="ehGHo" to="tpee:fz3vP1H" resolve="Type" />
</node>
<node concept="3K4zz7" id="5f6wxQ39Kg6" role="33vP2m">
<node concept="2c44tf" id="5f6wxQ39Kg7" role="3K4E3e">
<node concept="3uibUv" id="5f6wxQ39Kg8" role="2c44tc">
<ref role="3uigEE" to="6exd:1bm7a6EXvsP" resolve="TreeForm" />
</node>
</node>
<node concept="2OqwBi" id="5f6wxQ39Kg9" role="3K4GZi">
<node concept="1YBJjd" id="5f6wxQ39Kga" role="2Oq$k0">
<ref role="1YBMHb" node="1mP5b6jNJDm" resolve="lt" />
</node>
<node concept="3TrEf2" id="5f6wxQ39Kgb" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5zfvpQ71CIE" resolve="dataType" />
</node>
</node>
<node concept="2OqwBi" id="5f6wxQ39Kgc" role="3K4Cdx">
<node concept="2OqwBi" id="5f6wxQ39Kgd" role="2Oq$k0">
<node concept="1YBJjd" id="5f6wxQ39Kge" role="2Oq$k0">
<ref role="1YBMHb" node="1mP5b6jNJDm" resolve="lt" />
</node>
<node concept="3TrEf2" id="5f6wxQ39Kgf" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5zfvpQ71CIE" resolve="dataType" />
</node>
</node>
<node concept="3w_OXm" id="5f6wxQ39Kgg" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="3kjrYXAraoO" role="3cqZAp">
<node concept="2ShNRf" id="3kjrYXAraoM" role="3clFbG">
<node concept="Tc6Ow" id="3kjrYXArbwW" role="2ShVmc">
@ -517,6 +569,9 @@
<ref role="3uigEE" to="bj13:~Logical" resolve="Logical" />
</node>
</node>
<node concept="37vLTw" id="5f6wxQ39K_D" role="HW$Y0">
<ref role="3cqZAo" node="5f6wxQ39Kg5" resolve="dataType" />
</node>
</node>
</node>
</node>
@ -993,8 +1048,8 @@
<node concept="1YBJjd" id="7dgRGU4Afb9" role="2Oq$k0">
<ref role="1YBMHb" node="2c3nq4GQKig" resolve="lvd" />
</node>
<node concept="3TrEf2" id="7dgRGU4AfTp" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:7E86$tKtioV" resolve="cardinality" />
<node concept="3TrEf2" id="5f6wxQ3yqXS" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:5f6wxQ3ychO" resolve="cardinalityExpr" />
</node>
</node>
<node concept="3w_OXm" id="7dgRGU4Agit" role="2OqNvi" />