Add migration for replacing List usages for ConsList constructor usages

This commit is contained in:
Grigorii Kirgizov 2019-09-10 19:48:09 +03:00
parent 3ff9ccb0c6
commit 163e339436
2 changed files with 287 additions and 51 deletions

View File

@ -26,6 +26,7 @@
<child id="1068498886297" name="rValue" index="37vLTx" />
<child id="1068498886295" name="lValue" index="37vLTJ" />
</concept>
<concept id="1153417849900" name="jetbrains.mps.baseLanguage.structure.GreaterThanOrEqualsExpression" flags="nn" index="2d3UOw" />
<concept id="4836112446988635817" name="jetbrains.mps.baseLanguage.structure.UndefinedType" flags="in" index="2jxLKc" />
<concept id="1465982738277781862" name="jetbrains.mps.baseLanguage.structure.PlaceholderMember" flags="ng" index="2tJIrI" />
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
@ -35,6 +36,7 @@
<concept id="1070475926800" name="jetbrains.mps.baseLanguage.structure.StringLiteral" flags="nn" index="Xl_RD">
<property id="1070475926801" name="value" index="Xl_RC" />
</concept>
<concept id="1070534370425" name="jetbrains.mps.baseLanguage.structure.IntegerType" flags="in" index="10Oyi0" />
<concept id="1070534644030" name="jetbrains.mps.baseLanguage.structure.BooleanType" flags="in" index="10P_77" />
<concept id="1068390468198" name="jetbrains.mps.baseLanguage.structure.ClassConcept" flags="ig" index="312cEu">
<child id="1165602531693" name="superclass" index="1zkMxy" />
@ -66,9 +68,13 @@
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<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="1068581242869" name="jetbrains.mps.baseLanguage.structure.MinusExpression" flags="nn" index="3cpWsd" />
<concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
<concept id="1107461130800" name="jetbrains.mps.baseLanguage.structure.Classifier" flags="ng" index="3pOWGL">
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
@ -76,6 +82,10 @@
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
</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" />
</concept>
<concept id="1178549954367" name="jetbrains.mps.baseLanguage.structure.IVisible" flags="ng" index="1B3ioH">
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
@ -161,6 +171,9 @@
<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>
<concept id="1228341669568" name="jetbrains.mps.lang.smodel.structure.Node_DetachOperation" flags="nn" index="3YRAZt" />
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
@ -191,15 +204,35 @@
<child id="4234138103881610935" name="scope" index="L3pyr" />
<child id="4234138103881610892" name="stmts" index="L3pyw" />
</concept>
<concept id="4307205004131544317" name="jetbrains.mps.lang.smodel.query.structure.QueryExpression" flags="ng" index="1dNuzs">
<child id="4307205004132279624" name="parameter" index="1dOa5D" />
</concept>
<concept id="4307205004132277753" name="jetbrains.mps.lang.smodel.query.structure.QueryParameterList" flags="ng" index="1dO9Bo">
<child id="4307205004141421222" name="parameter" index="1dp2q7" />
</concept>
<concept id="677787792397344112" name="jetbrains.mps.lang.smodel.query.structure.QueryParameterExact" flags="ng" index="3Z_Q4n" />
</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" />
</concept>
<concept id="540871147943773365" name="jetbrains.mps.baseLanguage.collections.structure.SingleArgumentSequenceOperation" flags="nn" index="25WWJ4">
<child id="540871147943773366" name="argument" index="25WWJ7" />
</concept>
<concept id="1172664342967" name="jetbrains.mps.baseLanguage.collections.structure.TakeOperation" flags="nn" index="8ftyA">
<child id="1172664372046" name="elementsToTake" index="8f$Dv" />
</concept>
<concept id="1204980550705" name="jetbrains.mps.baseLanguage.collections.structure.VisitAllOperation" flags="nn" index="2es0OD" />
<concept id="1151689724996" name="jetbrains.mps.baseLanguage.collections.structure.SequenceType" flags="in" index="A3Dl8">
<child id="1151689745422" name="elementType" index="A3Ik2" />
</concept>
<concept id="1203518072036" name="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" flags="ig" index="Rh6nW" />
<concept id="1160666733551" name="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" flags="nn" index="X8dFx" />
<concept id="1162935959151" name="jetbrains.mps.baseLanguage.collections.structure.GetSizeOperation" flags="nn" index="34oBXx" />
<concept id="1201792049884" name="jetbrains.mps.baseLanguage.collections.structure.TranslateOperation" flags="nn" index="3goQfb" />
<concept id="1165595910856" name="jetbrains.mps.baseLanguage.collections.structure.GetLastOperation" flags="nn" index="1yVyf7" />
<concept id="1202120902084" name="jetbrains.mps.baseLanguage.collections.structure.WhereOperation" flags="nn" index="3zZkjj" />
<concept id="1202128969694" name="jetbrains.mps.baseLanguage.collections.structure.SelectOperation" flags="nn" index="3$u5V9" />
</language>
</registry>
<node concept="3SyAh_" id="5NAQwIkSyC5">
@ -680,5 +713,259 @@
<ref role="3uigEE" to="slm6:5TUCQr2ybBO" resolve="HasMigrationScriptReference" />
</node>
</node>
<node concept="3SyAh_" id="PltxfIsviR">
<property role="qMTe8" value="3" />
<property role="TrG5h" value="Replace_ListNode_for_ListNodeCons" />
<node concept="3Tm1VV" id="PltxfIsviS" role="1B3o_S" />
<node concept="3tTeZs" id="PltxfIsviT" 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="PltxfIsviU" role="jymVt">
<property role="3tTeZt" value="&lt;no required data&gt;" />
<ref role="3tTeZr" to="slm6:5TUCQr2FPTh" resolve="requires annotation data" />
</node>
<node concept="3tTeZs" id="PltxfIsviV" role="jymVt">
<property role="3tTeZt" value="&lt;no produced data&gt;" />
<ref role="3tTeZr" to="slm6:5TUCQr2C271" resolve="produces annotation data" />
</node>
<node concept="2tJIrI" id="PltxfIsviW" role="jymVt" />
<node concept="3tYpMH" id="PltxfIsviX" role="jymVt">
<property role="TrG5h" value="isRerunnable" />
<property role="3tYpME" value="true" />
<ref role="25KYV2" to="slm6:1JWcQ2VeWIs" resolve="isRerunnable" />
<node concept="3Tm1VV" id="PltxfIsviY" role="1B3o_S" />
<node concept="10P_77" id="PltxfIsviZ" role="1tU5fm" />
</node>
<node concept="3tTeZs" id="PltxfIswuX" role="jymVt">
<property role="3tTeZt" value="&lt;description&gt;" />
<ref role="3tTeZr" to="slm6:1_lSsE3RFpE" resolve="description" />
</node>
<node concept="q3mfD" id="PltxfIsvj1" role="jymVt">
<property role="TrG5h" value="execute" />
<ref role="2VtyIY" to="slm6:4ubqdNOF9cA" resolve="execute" />
<node concept="3Tm1VV" id="PltxfIsvj3" role="1B3o_S" />
<node concept="3clFbS" id="PltxfIsvj5" role="3clF47">
<node concept="L3pyB" id="PltxfIs$Re" role="3cqZAp">
<node concept="3clFbS" id="PltxfIs$Rf" role="L3pyw">
<node concept="3clFbF" id="PltxfIsxX5" role="3cqZAp">
<node concept="2OqwBi" id="PltxfIs_Ji" role="3clFbG">
<node concept="2OqwBi" id="PltxfIsxX7" role="2Oq$k0">
<node concept="qVDSY" id="PltxfIsxX8" role="2Oq$k0">
<node concept="chp4Y" id="PltxfIsyqX" role="qVDSX">
<ref role="cht4Q" to="5j4j:1OShD0HAY6y" resolve="ListNode" />
</node>
<node concept="1dO9Bo" id="3zXFZnU6KXG" role="1dOa5D">
<node concept="3Z_Q4n" id="3zXFZnU6KXH" role="1dp2q7" />
</node>
</node>
<node concept="3zZkjj" id="PltxfIsxXa" role="2OqNvi">
<node concept="1bVj0M" id="PltxfIsxXb" role="23t8la">
<property role="3yWfEV" value="true" />
<node concept="3clFbS" id="PltxfIsxXc" role="1bW5cS">
<node concept="3clFbF" id="PltxfIsyHk" role="3cqZAp">
<node concept="2d3UOw" id="PltxfIw7eL" role="3clFbG">
<node concept="2OqwBi" id="PltxfIsFPH" role="3uHU7B">
<node concept="2OqwBi" id="PltxfIsDrn" role="2Oq$k0">
<node concept="37vLTw" id="PltxfIsD8u" role="2Oq$k0">
<ref role="3cqZAo" node="PltxfIsxXm" resolve="it" />
</node>
<node concept="3Tsc0h" id="PltxfIsE2e" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:1OShD0HAZ38" resolve="contents" />
</node>
</node>
<node concept="34oBXx" id="PltxfIsIrP" role="2OqNvi" />
</node>
<node concept="3cmrfG" id="PltxfIw75K" role="3uHU7w">
<property role="3cmrfH" value="2" />
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="PltxfIsxXm" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="PltxfIsxXn" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="2es0OD" id="PltxfIvHJ_" role="2OqNvi">
<node concept="1bVj0M" id="PltxfIvHJB" role="23t8la">
<property role="3yWfEV" value="true" />
<node concept="3clFbS" id="PltxfIvHJC" role="1bW5cS">
<node concept="3cpWs8" id="PltxfIvHJD" role="3cqZAp">
<node concept="3cpWsn" id="PltxfIvHJE" role="3cpWs9">
<property role="TrG5h" value="sz" />
<node concept="10Oyi0" id="PltxfIvHJF" role="1tU5fm" />
<node concept="2OqwBi" id="PltxfIvHJG" role="33vP2m">
<node concept="2OqwBi" id="PltxfIvHJH" role="2Oq$k0">
<node concept="37vLTw" id="PltxfIvHJI" role="2Oq$k0">
<ref role="3cqZAo" node="PltxfIvHKj" resolve="it" />
</node>
<node concept="3Tsc0h" id="PltxfIvHJJ" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:1OShD0HAZ38" resolve="contents" />
</node>
</node>
<node concept="34oBXx" id="PltxfIvHJK" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3clFbH" id="PltxfIxFZ_" role="3cqZAp" />
<node concept="3cpWs8" id="PltxfIvHJL" role="3cqZAp">
<node concept="3cpWsn" id="PltxfIvHJM" role="3cpWs9">
<property role="TrG5h" value="last" />
<node concept="3Tqbb2" id="PltxfIvHJN" role="1tU5fm">
<ref role="ehGHo" to="5j4j:5yqFHXo6Ubn" resolve="DataForm" />
</node>
<node concept="2OqwBi" id="PltxfIvHJO" role="33vP2m">
<node concept="2OqwBi" id="PltxfIvHJP" role="2Oq$k0">
<node concept="37vLTw" id="PltxfIvHJQ" role="2Oq$k0">
<ref role="3cqZAo" node="PltxfIvHKj" resolve="it" />
</node>
<node concept="3Tsc0h" id="PltxfIvHJR" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:1OShD0HAZ38" resolve="contents" />
</node>
</node>
<node concept="1yVyf7" id="PltxfIvHJS" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3cpWs8" id="PltxfIvHJT" role="3cqZAp">
<node concept="3cpWsn" id="PltxfIvHJU" role="3cpWs9">
<property role="TrG5h" value="others" />
<node concept="A3Dl8" id="PltxfIx59l" role="1tU5fm">
<node concept="3Tqbb2" id="PltxfIx6JX" role="A3Ik2">
<ref role="ehGHo" to="5j4j:5yqFHXo6Ubn" resolve="DataForm" />
</node>
</node>
<node concept="2OqwBi" id="PltxfIvHJX" role="33vP2m">
<node concept="2OqwBi" id="PltxfIvHJY" role="2Oq$k0">
<node concept="37vLTw" id="PltxfIvHJZ" role="2Oq$k0">
<ref role="3cqZAo" node="PltxfIvHKj" resolve="it" />
</node>
<node concept="3Tsc0h" id="PltxfIvHK0" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:1OShD0HAZ38" resolve="contents" />
</node>
</node>
<node concept="8ftyA" id="PltxfIvHK1" role="2OqNvi">
<node concept="3cpWsd" id="PltxfIvHK2" role="8f$Dv">
<node concept="3cmrfG" id="PltxfIvHK3" role="3uHU7w">
<property role="3cmrfH" value="1" />
</node>
<node concept="37vLTw" id="PltxfIvHK4" role="3uHU7B">
<ref role="3cqZAo" node="PltxfIvHJE" resolve="sz" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="PltxfIvHK5" role="3cqZAp" />
<node concept="3cpWs8" id="PltxfIwayq" role="3cqZAp">
<node concept="3cpWsn" id="PltxfIwayt" role="3cpWs9">
<property role="TrG5h" value="lnc" />
<node concept="3Tqbb2" id="PltxfIwayo" role="1tU5fm">
<ref role="ehGHo" to="5j4j:PltxfHULAb" resolve="ListNodeCons" />
</node>
<node concept="2OqwBi" id="PltxfIw8ls" role="33vP2m">
<node concept="37vLTw" id="PltxfIw81u" role="2Oq$k0">
<ref role="3cqZAo" node="PltxfIvHKj" resolve="it" />
</node>
<node concept="1_qnLN" id="PltxfIw8VI" role="2OqNvi">
<ref role="1_rbq0" to="5j4j:PltxfHULAb" resolve="ListNodeCons" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="PltxfIwbKD" role="3cqZAp">
<node concept="2OqwBi" id="PltxfIwW$F" role="3clFbG">
<node concept="2OqwBi" id="PltxfIwc67" role="2Oq$k0">
<node concept="37vLTw" id="PltxfIwbKB" role="2Oq$k0">
<ref role="3cqZAo" node="PltxfIwayt" resolve="lnc" />
</node>
<node concept="3Tsc0h" id="PltxfIwcGz" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:1OShD0HAZ38" resolve="contents" />
</node>
</node>
<node concept="X8dFx" id="PltxfIx0PJ" role="2OqNvi">
<node concept="2OqwBi" id="3zXFZnU8LIw" role="25WWJ7">
<node concept="37vLTw" id="PltxfIxowd" role="2Oq$k0">
<ref role="3cqZAo" node="PltxfIvHJU" resolve="others" />
</node>
<node concept="3$u5V9" id="PltxfIwSaO" role="2OqNvi">
<node concept="1bVj0M" id="PltxfIwSaQ" role="23t8la">
<node concept="3clFbS" id="PltxfIwSaR" role="1bW5cS">
<node concept="3clFbF" id="PltxfIwSJo" role="3cqZAp">
<node concept="2OqwBi" id="PltxfIwTFX" role="3clFbG">
<node concept="37vLTw" id="PltxfIwSJn" role="2Oq$k0">
<ref role="3cqZAo" node="PltxfIwSaS" resolve="it" />
</node>
<node concept="3YRAZt" id="PltxfIwU8$" role="2OqNvi" />
</node>
</node>
</node>
<node concept="Rh6nW" id="PltxfIwSaS" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="PltxfIwSaT" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="PltxfIxv8J" role="3cqZAp">
<node concept="37vLTI" id="PltxfIxBnR" role="3clFbG">
<node concept="2OqwBi" id="3zXFZnU8K2o" role="37vLTx">
<node concept="37vLTw" id="PltxfIxEch" role="2Oq$k0">
<ref role="3cqZAo" node="PltxfIvHJM" resolve="last" />
</node>
<node concept="3YRAZt" id="3zXFZnU8KXd" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="PltxfIxxcl" role="37vLTJ">
<node concept="37vLTw" id="PltxfIxv8H" role="2Oq$k0">
<ref role="3cqZAo" node="PltxfIwayt" resolve="lnc" />
</node>
<node concept="3TrEf2" id="PltxfIxzLF" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:PltxfHVVwQ" resolve="tail" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="PltxfIvHKj" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="PltxfIvHKk" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="PltxfIs$Zu" role="L3pyr">
<ref role="3cqZAo" node="PltxfIsvj7" resolve="m" />
</node>
</node>
</node>
<node concept="ffn8J" id="PltxfIsvj7" role="3clF46">
<property role="TrG5h" value="m" />
<ref role="ffrpq" to="slm6:7fCCGqboj9J" resolve="m" />
<node concept="3uibUv" id="PltxfIsvj6" role="1tU5fm">
<ref role="3uigEE" to="lui2:~SModule" resolve="SModule" />
</node>
</node>
<node concept="q3mfm" id="PltxfIsvj8" role="3clF45">
<ref role="q3mfh" to="slm6:4F5w8gPXEEe" />
<ref role="1QQUv3" node="PltxfIsvj1" resolve="execute" />
</node>
</node>
<node concept="3tTeZs" id="PltxfIsvj9" role="jymVt">
<property role="3tTeZt" value="&lt;no result checking&gt;" />
<ref role="3tTeZr" to="slm6:1JWcQ2VeXpD" resolve="check" />
</node>
<node concept="3uibUv" id="PltxfIsvja" role="1zkMxy">
<ref role="3uigEE" to="slm6:5TUCQr2ybBO" resolve="HasMigrationScriptReference" />
</node>
</node>
</model>

View File

@ -3613,33 +3613,6 @@
</node>
</node>
</node>
<node concept="1X3_iC" id="39Sam6YZbIR" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3Aqczg" id="2Z5Bs_jvIiL" role="8Wnug">
<node concept="3A8Hvi" id="2Z5Bs_jvIiM" role="3Aqpz8">
<node concept="a7P8L" id="2Z5Bs_jvIiN" role="3A8wtg">
<ref role="a7OzE" node="2Z5Bs_jvIhS" resolve="Paths" />
<node concept="37vLTw" id="2Z5Bs_jvIiO" role="3gCZO6">
<ref role="3cqZAo" node="2Z5Bs_jvIiV" resolve="i" />
</node>
</node>
<node concept="Hz6ka" id="2Z5Bs_jvIiP" role="3A8w4Q">
<node concept="KCUsM" id="2Z5Bs_jvIiQ" role="Hz6kd">
<node concept="KCUsM" id="2Z5Bs_jvIiR" role="KCVpo">
<node concept="22Ky0T" id="2Z5Bs_jvIiS" role="lGtFl">
<node concept="1nq8_$" id="2Z5Bs_jvIiT" role="22Ky0K">
<node concept="a7P8L" id="2Z5Bs_jvIiU" role="1nq8_t">
<ref role="a7OzE" node="2Z5Bs_jvIim" resolve="Clss" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="2Z5Bs_jvIiV" role="1Duv9x">
<property role="TrG5h" value="i" />
@ -3683,30 +3656,6 @@
</node>
</node>
</node>
<node concept="1X3_iC" id="39Sam6YZe8m" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3Aqczg" id="39Sam6YZe1V" role="8Wnug">
<node concept="3A8Hvi" id="39Sam6YZe1W" role="3Aqpz8">
<node concept="Hz6ka" id="39Sam6YZe1X" role="3A8w4Q">
<node concept="KCUsM" id="39Sam6YZe1Y" role="Hz6kd">
<node concept="KCUsM" id="39Sam6YZe1Z" role="KCVpo">
<node concept="22Ky0T" id="39Sam6YZe20" role="lGtFl">
<node concept="1nq8_$" id="39Sam6YZe21" role="22Ky0K">
<node concept="a7P8L" id="39Sam6YZe22" role="1nq8_t">
<ref role="a7OzE" node="2Z5Bs_jvIhS" resolve="Paths" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="a7P8L" id="39Sam6YZe23" role="3A8wtg">
<ref role="a7OzE" node="2Z5Bs_jvIhP" resolve="Res" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>