Skip to content

Commit bab60db

Browse files
author
Alexander Pann
committed
Fix IndexExpr logic in generator and interpreter
1 parent 6689b1b commit bab60db

File tree

3 files changed

+526
-8
lines changed
  • code/languages/org.iets3.opensource

3 files changed

+526
-8
lines changed

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.genjava.base/generator/template/[email protected]

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14907,19 +14907,58 @@
1490714907
<node concept="29HgVG" id="3mvkonGsfWO" role="lGtFl">
1490814908
<node concept="3NFfHV" id="3mvkonGsfZ4" role="3NFExx">
1490914909
<node concept="3clFbS" id="3mvkonGsfZ5" role="2VODD2">
14910-
<node concept="3clFbF" id="3mvkonGuGH8" role="3cqZAp">
14911-
<node concept="2OqwBi" id="3mvkonGuHzO" role="3clFbG">
14912-
<node concept="2OqwBi" id="3mvkonGuGS5" role="2Oq$k0">
14913-
<node concept="30H73N" id="3mvkonGuGH7" role="2Oq$k0" />
14914-
<node concept="2Xjw5R" id="3mvkonGuHfj" role="2OqNvi">
14915-
<node concept="1xMEDy" id="3mvkonGuHfl" role="1xVPHs">
14916-
<node concept="chp4Y" id="3mvkonGuHjk" role="ri$Ld">
14910+
<node concept="3cpWs8" id="7G4S3eRtk0b" role="3cqZAp">
14911+
<node concept="3cpWsn" id="7G4S3eRtk0c" role="3cpWs9">
14912+
<property role="TrG5h" value="expr" />
14913+
<node concept="3Tqbb2" id="7G4S3eRkrNF" role="1tU5fm">
14914+
<ref role="ehGHo" to="hm2y:6sdnDbSla17" resolve="Expression" />
14915+
</node>
14916+
<node concept="2OqwBi" id="7G4S3eRtk0d" role="33vP2m">
14917+
<node concept="2qgKlT" id="7G4S3eRtk0e" role="2OqNvi">
14918+
<ref role="37wK5l" to="pbu6:6zmBjqUivyF" resolve="contextExpression" />
14919+
</node>
14920+
<node concept="2OqwBi" id="7G4S3eRtk0f" role="2Oq$k0">
14921+
<node concept="30H73N" id="7G4S3eRtk0g" role="2Oq$k0" />
14922+
<node concept="2Xjw5R" id="7G4S3eRtk0h" role="2OqNvi">
14923+
<node concept="1xMEDy" id="7G4S3eRtk0i" role="1xVPHs">
14924+
<node concept="chp4Y" id="7G4S3eRtk0j" role="ri$Ld">
14925+
<ref role="cht4Q" to="zzzn:6zmBjqUm7Mf" resolve="IShortLambdaContainer" />
14926+
</node>
14927+
</node>
14928+
</node>
14929+
</node>
14930+
</node>
14931+
</node>
14932+
</node>
14933+
<node concept="3clFbJ" id="7G4S3eRtq8u" role="3cqZAp">
14934+
<node concept="3clFbS" id="7G4S3eRtq8w" role="3clFbx">
14935+
<node concept="3cpWs6" id="7G4S3eRtunm" role="3cqZAp">
14936+
<node concept="37vLTw" id="7G4S3eRtuP1" role="3cqZAk">
14937+
<ref role="3cqZAo" node="7G4S3eRtk0c" resolve="expr" />
14938+
</node>
14939+
</node>
14940+
</node>
14941+
<node concept="2OqwBi" id="7G4S3eRtsT8" role="3clFbw">
14942+
<node concept="37vLTw" id="7G4S3eRtr9m" role="2Oq$k0">
14943+
<ref role="3cqZAo" node="7G4S3eRtk0c" resolve="expr" />
14944+
</node>
14945+
<node concept="3x8VRR" id="7G4S3eRttA_" role="2OqNvi" />
14946+
</node>
14947+
</node>
14948+
<node concept="3clFbH" id="7G4S3eRtw1O" role="3cqZAp" />
14949+
<node concept="3clFbF" id="7G4S3eRtkW$" role="3cqZAp">
14950+
<node concept="2OqwBi" id="7G4S3eRtnub" role="3clFbG">
14951+
<node concept="2OqwBi" id="7G4S3eRtlh6" role="2Oq$k0">
14952+
<node concept="30H73N" id="7G4S3eRtkWz" role="2Oq$k0" />
14953+
<node concept="2Xjw5R" id="7G4S3eRtm2t" role="2OqNvi">
14954+
<node concept="1xMEDy" id="7G4S3eRtm2v" role="1xVPHs">
14955+
<node concept="chp4Y" id="7G4S3eRtmD0" role="ri$Ld">
1491714956
<ref role="cht4Q" to="hm2y:7NJy08a3O99" resolve="DotExpression" />
1491814957
</node>
1491914958
</node>
1492014959
</node>
1492114960
</node>
14922-
<node concept="3TrEf2" id="3mvkonGuI6_" role="2OqNvi">
14961+
<node concept="3TrEf2" id="7G4S3eRtxEv" role="2OqNvi">
1492314962
<ref role="3Tt5mk" to="hm2y:4rZeNQ6NgXF" resolve="expr" />
1492414963
</node>
1492514964
</node>

code/languages/org.iets3.opensource/solutions/org.iets3.core.expr.collections.interpreter/models/plugin.mps

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@
2929
</imports>
3030
<registry>
3131
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
32+
<concept id="1224071154655" name="jetbrains.mps.baseLanguage.structure.AsExpression" flags="nn" index="0kSF2">
33+
<child id="1224071154657" name="classifierType" index="0kSFW" />
34+
<child id="1224071154656" name="expression" index="0kSFX" />
35+
</concept>
3236
<concept id="1080223426719" name="jetbrains.mps.baseLanguage.structure.OrExpression" flags="nn" index="22lmx$" />
3337
<concept id="1082485599095" name="jetbrains.mps.baseLanguage.structure.BlockStatement" flags="nn" index="9aQIb">
3438
<child id="1082485599096" name="statements" index="9aQI4" />
@@ -6323,6 +6327,26 @@
63236327
</node>
63246328
</node>
63256329
</node>
6330+
<node concept="3cpWs8" id="7G4S3eS0HFd" role="3cqZAp">
6331+
<node concept="3cpWsn" id="7G4S3eS0HFe" role="3cpWs9">
6332+
<property role="TrG5h" value="oldRnd" />
6333+
<node concept="3uibUv" id="7G4S3eS48Bl" role="1tU5fm">
6334+
<ref role="3uigEE" to="wyt6:~Integer" resolve="Integer" />
6335+
</node>
6336+
<node concept="0kSF2" id="7G4S3eS493D" role="33vP2m">
6337+
<node concept="3uibUv" id="7G4S3eS493G" role="0kSFW">
6338+
<ref role="3uigEE" to="wyt6:~Integer" resolve="Integer" />
6339+
</node>
6340+
<node concept="3EllGN" id="7G4S3eS0HFj" role="0kSFX">
6341+
<node concept="10M0yZ" id="7G4S3eS0HFk" role="3ElVtu">
6342+
<ref role="1PxDUh" to="y6bu:7SZA7Udlb7n" resolve="CollectionEnvConstants" />
6343+
<ref role="3cqZAo" to="y6bu:7SZA7Udlbqp" resolve="RND" />
6344+
</node>
6345+
<node concept="TvHiN" id="7G4S3eS0HFl" role="3ElQJh" />
6346+
</node>
6347+
</node>
6348+
</node>
6349+
</node>
63266350
<node concept="2$JKZl" id="v9lBEVh5ai" role="3cqZAp">
63276351
<node concept="3clFbS" id="v9lBEVh5ak" role="2LFqv$">
63286352
<node concept="3clFbF" id="7SZA7Udl83N" role="3cqZAp">
@@ -6415,6 +6439,20 @@
64156439
</node>
64166440
</node>
64176441
</node>
6442+
<node concept="3clFbF" id="7G4S3eS0ImL" role="3cqZAp">
6443+
<node concept="37vLTI" id="7G4S3eS0JJz" role="3clFbG">
6444+
<node concept="37vLTw" id="7G4S3eS0Kf8" role="37vLTx">
6445+
<ref role="3cqZAo" node="7G4S3eS0HFe" resolve="oldRnd" />
6446+
</node>
6447+
<node concept="3EllGN" id="7G4S3eS0JsG" role="37vLTJ">
6448+
<node concept="10M0yZ" id="7G4S3eS0JxW" role="3ElVtu">
6449+
<ref role="3cqZAo" to="y6bu:7SZA7Udlbqp" resolve="RND" />
6450+
<ref role="1PxDUh" to="y6bu:7SZA7Udlb7n" resolve="CollectionEnvConstants" />
6451+
</node>
6452+
<node concept="TvHiN" id="7G4S3eS0ImJ" role="3ElQJh" />
6453+
</node>
6454+
</node>
6455+
</node>
64186456
<node concept="3cpWs6" id="v9lBEVhp2c" role="3cqZAp">
64196457
<node concept="37vLTw" id="v9lBEVhpda" role="3cqZAk">
64206458
<ref role="3cqZAo" node="v9lBEVhnHi" resolve="res" />
@@ -6504,6 +6542,27 @@
65046542
</node>
65056543
</node>
65066544
</node>
6545+
<node concept="3cpWs8" id="7G4S3eS6Gol" role="3cqZAp">
6546+
<node concept="3cpWsn" id="7G4S3eS6Gom" role="3cpWs9">
6547+
<property role="TrG5h" value="oldRnd" />
6548+
<node concept="3uibUv" id="7G4S3eS6Gon" role="1tU5fm">
6549+
<ref role="3uigEE" to="wyt6:~Integer" resolve="Integer" />
6550+
</node>
6551+
<node concept="0kSF2" id="7G4S3eS6Goo" role="33vP2m">
6552+
<node concept="3uibUv" id="7G4S3eS6Gop" role="0kSFW">
6553+
<ref role="3uigEE" to="wyt6:~Integer" resolve="Integer" />
6554+
</node>
6555+
<node concept="3EllGN" id="7G4S3eS6Goq" role="0kSFX">
6556+
<node concept="10M0yZ" id="7G4S3eS6Gor" role="3ElVtu">
6557+
<ref role="3cqZAo" to="y6bu:7SZA7Udlbqp" resolve="RND" />
6558+
<ref role="1PxDUh" to="y6bu:7SZA7Udlb7n" resolve="CollectionEnvConstants" />
6559+
</node>
6560+
<node concept="TvHiN" id="7G4S3eS6Gos" role="3ElQJh" />
6561+
</node>
6562+
</node>
6563+
</node>
6564+
</node>
6565+
<node concept="3clFbH" id="7G4S3eS0L4S" role="3cqZAp" />
65076566
<node concept="2$JKZl" id="7SZA7Ud$uXK" role="3cqZAp">
65086567
<node concept="3clFbS" id="7SZA7Ud$uXL" role="2LFqv$">
65096568
<node concept="3clFbF" id="7SZA7Ud$uXM" role="3cqZAp">
@@ -6572,6 +6631,20 @@
65726631
</node>
65736632
</node>
65746633
</node>
6634+
<node concept="3clFbF" id="7G4S3eS0L_X" role="3cqZAp">
6635+
<node concept="37vLTI" id="7G4S3eS0Mrc" role="3clFbG">
6636+
<node concept="37vLTw" id="7G4S3eS0MtP" role="37vLTx">
6637+
<ref role="3cqZAo" node="7G4S3eS6Gom" resolve="oldRnd" />
6638+
</node>
6639+
<node concept="3EllGN" id="7G4S3eS0MeY" role="37vLTJ">
6640+
<node concept="10M0yZ" id="7G4S3eS0MkT" role="3ElVtu">
6641+
<ref role="3cqZAo" to="y6bu:7SZA7Udlbqp" resolve="RND" />
6642+
<ref role="1PxDUh" to="y6bu:7SZA7Udlb7n" resolve="CollectionEnvConstants" />
6643+
</node>
6644+
<node concept="TvHiN" id="7G4S3eS0L_V" role="3ElQJh" />
6645+
</node>
6646+
</node>
6647+
</node>
65756648
<node concept="3cpWs6" id="7SZA7Ud$uYz" role="3cqZAp">
65766649
<node concept="37vLTw" id="7SZA7Ud$y3L" role="3cqZAk">
65776650
<ref role="3cqZAo" node="7SZA7Ud$uXf" resolve="subjectList" />
@@ -6672,6 +6745,27 @@
66726745
</node>
66736746
</node>
66746747
</node>
6748+
<node concept="3cpWs8" id="7G4S3eS6GTF" role="3cqZAp">
6749+
<node concept="3cpWsn" id="7G4S3eS6GTG" role="3cpWs9">
6750+
<property role="TrG5h" value="oldRnd" />
6751+
<node concept="3uibUv" id="7G4S3eS6GTH" role="1tU5fm">
6752+
<ref role="3uigEE" to="wyt6:~Integer" resolve="Integer" />
6753+
</node>
6754+
<node concept="0kSF2" id="7G4S3eS6GTI" role="33vP2m">
6755+
<node concept="3uibUv" id="7G4S3eS6GTJ" role="0kSFW">
6756+
<ref role="3uigEE" to="wyt6:~Integer" resolve="Integer" />
6757+
</node>
6758+
<node concept="3EllGN" id="7G4S3eS6GTK" role="0kSFX">
6759+
<node concept="10M0yZ" id="7G4S3eS6GTL" role="3ElVtu">
6760+
<ref role="3cqZAo" to="y6bu:7SZA7Udlbqp" resolve="RND" />
6761+
<ref role="1PxDUh" to="y6bu:7SZA7Udlb7n" resolve="CollectionEnvConstants" />
6762+
</node>
6763+
<node concept="TvHiN" id="7G4S3eS6GTM" role="3ElQJh" />
6764+
</node>
6765+
</node>
6766+
</node>
6767+
</node>
6768+
<node concept="3clFbH" id="7G4S3eS0MFB" role="3cqZAp" />
66756769
<node concept="2$JKZl" id="4hLehKUuzl4" role="3cqZAp">
66766770
<node concept="3clFbS" id="4hLehKUuzl5" role="2LFqv$">
66776771
<node concept="3clFbF" id="4hLehKUuzl6" role="3cqZAp">
@@ -6766,6 +6860,20 @@
67666860
</node>
67676861
</node>
67686862
</node>
6863+
<node concept="3clFbF" id="7G4S3eS0Ney" role="3cqZAp">
6864+
<node concept="37vLTI" id="7G4S3eS0NWM" role="3clFbG">
6865+
<node concept="37vLTw" id="7G4S3eS0O1g" role="37vLTx">
6866+
<ref role="3cqZAo" node="7G4S3eS6GTG" resolve="oldRnd" />
6867+
</node>
6868+
<node concept="3EllGN" id="7G4S3eS0NMp" role="37vLTJ">
6869+
<node concept="10M0yZ" id="7G4S3eS0NQB" role="3ElVtu">
6870+
<ref role="3cqZAo" to="y6bu:7SZA7Udlbqp" resolve="RND" />
6871+
<ref role="1PxDUh" to="y6bu:7SZA7Udlb7n" resolve="CollectionEnvConstants" />
6872+
</node>
6873+
<node concept="TvHiN" id="7G4S3eS0New" role="3ElQJh" />
6874+
</node>
6875+
</node>
6876+
</node>
67696877
<node concept="3cpWs6" id="4hLehKUu$kw" role="3cqZAp">
67706878
<node concept="37vLTw" id="4hLehKUu$mz" role="3cqZAk">
67716879
<ref role="3cqZAo" node="4hLehKUuxdC" resolve="result" />
@@ -6867,6 +6975,27 @@
68676975
</node>
68686976
</node>
68696977
</node>
6978+
<node concept="3cpWs8" id="7G4S3eS6HZQ" role="3cqZAp">
6979+
<node concept="3cpWsn" id="7G4S3eS6HZR" role="3cpWs9">
6980+
<property role="TrG5h" value="oldRnd" />
6981+
<node concept="3uibUv" id="7G4S3eS6HZS" role="1tU5fm">
6982+
<ref role="3uigEE" to="wyt6:~Integer" resolve="Integer" />
6983+
</node>
6984+
<node concept="0kSF2" id="7G4S3eS6HZT" role="33vP2m">
6985+
<node concept="3uibUv" id="7G4S3eS6HZU" role="0kSFW">
6986+
<ref role="3uigEE" to="wyt6:~Integer" resolve="Integer" />
6987+
</node>
6988+
<node concept="3EllGN" id="7G4S3eS6HZV" role="0kSFX">
6989+
<node concept="10M0yZ" id="7G4S3eS6HZW" role="3ElVtu">
6990+
<ref role="3cqZAo" to="y6bu:7SZA7Udlbqp" resolve="RND" />
6991+
<ref role="1PxDUh" to="y6bu:7SZA7Udlb7n" resolve="CollectionEnvConstants" />
6992+
</node>
6993+
<node concept="TvHiN" id="7G4S3eS6HZX" role="3ElQJh" />
6994+
</node>
6995+
</node>
6996+
</node>
6997+
</node>
6998+
<node concept="3clFbH" id="7G4S3eS0PaJ" role="3cqZAp" />
68706999
<node concept="2$JKZl" id="v9lBEVhpzd" role="3cqZAp">
68717000
<node concept="3clFbS" id="v9lBEVhpze" role="2LFqv$">
68727001
<node concept="3clFbF" id="7SZA7UdrMXl" role="3cqZAp">
@@ -6992,6 +7121,21 @@
69927121
</node>
69937122
</node>
69947123
</node>
7124+
<node concept="3clFbF" id="7G4S3eS0EPv" role="3cqZAp">
7125+
<node concept="37vLTI" id="7G4S3eS0FfU" role="3clFbG">
7126+
<node concept="37vLTw" id="7G4S3eS0Fjp" role="37vLTx">
7127+
<ref role="3cqZAo" node="7G4S3eS6HZR" resolve="oldRnd" />
7128+
</node>
7129+
<node concept="3EllGN" id="7G4S3eS0EPx" role="37vLTJ">
7130+
<node concept="10M0yZ" id="7G4S3eS0EPy" role="3ElVtu">
7131+
<ref role="3cqZAo" to="y6bu:7SZA7Udlbqp" resolve="RND" />
7132+
<ref role="1PxDUh" to="y6bu:7SZA7Udlb7n" resolve="CollectionEnvConstants" />
7133+
</node>
7134+
<node concept="TvHiN" id="7G4S3eS0EPz" role="3ElQJh" />
7135+
</node>
7136+
</node>
7137+
</node>
7138+
<node concept="3clFbH" id="7G4S3eS0Eq5" role="3cqZAp" />
69957139
<node concept="3cpWs6" id="v9lBEVhpzB" role="3cqZAp">
69967140
<node concept="37vLTw" id="v9lBEVhpzC" role="3cqZAk">
69977141
<ref role="3cqZAo" node="v9lBEVhpza" resolve="res" />

0 commit comments

Comments
 (0)