Skip to content

Commit afe4840

Browse files
Merge pull request #742 from IETS3/bugfix/indexExpr_2021_3
2 parents 4cfa2d2 + f95ee6f commit afe4840

File tree

5 files changed

+968
-5
lines changed

5 files changed

+968
-5
lines changed

CHANGELOG.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,14 @@ The project does _not_ follow Semantic Versioning and the changes are documented
99

1010
### Fixed
1111

12+
- The `index` expression in collections operations now works correctly in nested expressions in the interpreter and generator.
13+
- Generation of nested short lambda expression now use the correct type for "it" as a variable.
1214
- Collections: The index expression now works with collection types in the generator.
1315

16+
### Added
17+
18+
- The `all` and `any` operation of collections now also support the `index` expression. The concepts `AllWithIndexOp` and `AnyWithIndexOp` are therefore deprecated.
19+
1420
## November 2023
1521

1622
### Added
@@ -25,9 +31,14 @@ The project does _not_ follow Semantic Versioning and the changes are documented
2531

2632
### Fixed
2733

34+
- String validation: A bug in the number detection logic was fixed
2835
- String validation: A bug in the successor execution logic was fixed
36+
-
37+
## October 2023
2938

30-
## Oktober 2023
39+
### Fixed
40+
41+
- Generation of nested short lambda expression now use the correct type for "it" as a variable.
3142

3243
## September 2023
3344

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.collections/models/structure.mps

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@
2525
<concept id="6491077959632463275" name="jetbrains.mps.lang.structure.structure.EnumPropertyMigrationInfo" flags="ng" index="3l_iC">
2626
<child id="6491077959632463286" name="oldProperty" index="3l_iP" />
2727
</concept>
28-
<concept id="1224240836180" name="jetbrains.mps.lang.structure.structure.DeprecatedNodeAnnotation" flags="ig" index="asaX9" />
28+
<concept id="1224240836180" name="jetbrains.mps.lang.structure.structure.DeprecatedNodeAnnotation" flags="ig" index="asaX9">
29+
<property id="1225118933224" name="comment" index="YLQ7P" />
30+
</concept>
2931
<concept id="1082978164218" name="jetbrains.mps.lang.structure.structure.DataTypeDeclaration" flags="ng" index="AxPO6">
3032
<property id="7791109065626895363" name="datatypeId" index="3F6X1D" />
3133
</concept>
@@ -390,6 +392,9 @@
390392
<property role="EcuMT" value="8872269265515619803" />
391393
<property role="R4oN_" value="an existential quantifier (true if at least one is true)" />
392394
<ref role="1TJDcQ" node="7GwCuf2E2W0" resolve="OneArgPredicateCollectionOp" />
395+
<node concept="PrWs8" id="7G4S3eSr2T3" role="PzmwI">
396+
<ref role="PrY4T" node="7SZA7Udl6Fm" resolve="IProvideIndex" />
397+
</node>
393398
</node>
394399
<node concept="1TIwiD" id="7GwCuf2RfRi">
395400
<property role="3GE5qa" value="collection" />
@@ -398,6 +403,9 @@
398403
<property role="EcuMT" value="8872269265518788050" />
399404
<property role="R4oN_" value="an universal quantifier (true if all elements are true)" />
400405
<ref role="1TJDcQ" node="7GwCuf2E2W0" resolve="OneArgPredicateCollectionOp" />
406+
<node concept="PrWs8" id="7G4S3eSr2T0" role="PzmwI">
407+
<ref role="PrY4T" node="7SZA7Udl6Fm" resolve="IProvideIndex" />
408+
</node>
401409
</node>
402410
<node concept="1TIwiD" id="7GwCuf2Wbm7">
403411
<property role="TrG5h" value="SetType" />
@@ -1095,6 +1103,9 @@
10951103
<property role="EcuMT" value="444732437356043012" />
10961104
<property role="R4oN_" value="an universal quantifier (true if all elements are true) that passes the element's index into the closure as well" />
10971105
<ref role="1TJDcQ" node="oG0sI$GQkF" resolve="TwoArgPredicateCollectionOp" />
1106+
<node concept="asaX9" id="7G4S3eT76i8" role="lGtFl">
1107+
<property role="YLQ7P" value="Use AllOp with an IndexExpr instead" />
1108+
</node>
10981109
</node>
10991110
<node concept="1TIwiD" id="oG0sI$GQkF">
11001111
<property role="3GE5qa" value="" />
@@ -1112,6 +1123,9 @@
11121123
<property role="EcuMT" value="4481921169623440367" />
11131124
<property role="R4oN_" value="an existential quantifier (true if at least one is true) that passes the element's index into the closure as well." />
11141125
<ref role="1TJDcQ" node="oG0sI$GQkF" resolve="TwoArgPredicateCollectionOp" />
1126+
<node concept="asaX9" id="7G4S3eT76i_" role="lGtFl">
1127+
<property role="YLQ7P" value="Use AnyOp with an IndexExpr instead" />
1128+
</node>
11151129
</node>
11161130
<node concept="1TIwiD" id="lR2RIFOEit">
11171131
<property role="EcuMT" value="393796118209799325" />

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

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15074,21 +15074,60 @@
1507415074
</node>
1507515075
</node>
1507615076
</node>
15077-
<node concept="2YIFZM" id="3S$dVIhEbEr" role="2Oq$k0">
15077+
<node concept="2YIFZM" id="7G4S3eTkM7B" role="2Oq$k0">
1507815078
<ref role="37wK5l" to="j10v:~TreePVector.from(java.util.Collection)" resolve="from" />
1507915079
<ref role="1Pybhc" to="j10v:~TreePVector" resolve="TreePVector" />
1508015080
<node concept="37vLTw" id="3mvkonGsamn" role="37wK5m">
1508115081
<ref role="3cqZAo" node="3mvkonGs7Uk" resolve="l" />
1508215082
<node concept="29HgVG" id="3mvkonGsfWO" role="lGtFl">
1508315083
<node concept="3NFfHV" id="3mvkonGsfZ4" role="3NFExx">
1508415084
<node concept="3clFbS" id="3mvkonGsfZ5" role="2VODD2">
15085+
<node concept="3cpWs8" id="7G4S3eRtk0b" role="3cqZAp">
15086+
<node concept="3cpWsn" id="7G4S3eRtk0c" role="3cpWs9">
15087+
<property role="TrG5h" value="expr" />
15088+
<node concept="3Tqbb2" id="7G4S3eRkrNF" role="1tU5fm">
15089+
<ref role="ehGHo" to="hm2y:6sdnDbSla17" resolve="Expression" />
15090+
</node>
15091+
<node concept="2OqwBi" id="7G4S3eRtk0d" role="33vP2m">
15092+
<node concept="2qgKlT" id="7G4S3eRtk0e" role="2OqNvi">
15093+
<ref role="37wK5l" to="pbu6:6zmBjqUivyF" resolve="contextExpression" />
15094+
</node>
15095+
<node concept="2OqwBi" id="7G4S3eRtk0f" role="2Oq$k0">
15096+
<node concept="30H73N" id="7G4S3eRtk0g" role="2Oq$k0" />
15097+
<node concept="2Xjw5R" id="7G4S3eRtk0h" role="2OqNvi">
15098+
<node concept="1xMEDy" id="7G4S3eRtk0i" role="1xVPHs">
15099+
<node concept="chp4Y" id="7G4S3eRtk0j" role="ri$Ld">
15100+
<ref role="cht4Q" to="zzzn:6zmBjqUm7Mf" resolve="IShortLambdaContainer" />
15101+
</node>
15102+
</node>
15103+
</node>
15104+
</node>
15105+
</node>
15106+
</node>
15107+
</node>
15108+
<node concept="3clFbJ" id="7G4S3eRtq8u" role="3cqZAp">
15109+
<node concept="3clFbS" id="7G4S3eRtq8w" role="3clFbx">
15110+
<node concept="3cpWs6" id="7G4S3eRtunm" role="3cqZAp">
15111+
<node concept="37vLTw" id="7G4S3eRtuP1" role="3cqZAk">
15112+
<ref role="3cqZAo" node="7G4S3eRtk0c" resolve="expr" />
15113+
</node>
15114+
</node>
15115+
</node>
15116+
<node concept="2OqwBi" id="7G4S3eRtsT8" role="3clFbw">
15117+
<node concept="37vLTw" id="7G4S3eRtr9m" role="2Oq$k0">
15118+
<ref role="3cqZAo" node="7G4S3eRtk0c" resolve="expr" />
15119+
</node>
15120+
<node concept="3x8VRR" id="7G4S3eRttA_" role="2OqNvi" />
15121+
</node>
15122+
</node>
15123+
<node concept="3clFbH" id="7G4S3eRtw1O" role="3cqZAp" />
1508515124
<node concept="3clFbF" id="3mvkonGuGH8" role="3cqZAp">
1508615125
<node concept="2OqwBi" id="3mvkonGuHzO" role="3clFbG">
1508715126
<node concept="2OqwBi" id="3mvkonGuGS5" role="2Oq$k0">
1508815127
<node concept="30H73N" id="3mvkonGuGH7" role="2Oq$k0" />
1508915128
<node concept="2Xjw5R" id="3mvkonGuHfj" role="2OqNvi">
15090-
<node concept="1xMEDy" id="3mvkonGuHfl" role="1xVPHs">
15091-
<node concept="chp4Y" id="3mvkonGuHjk" role="ri$Ld">
15129+
<node concept="1xMEDy" id="7G4S3eRtm2v" role="1xVPHs">
15130+
<node concept="chp4Y" id="7G4S3eRtmD0" role="ri$Ld">
1509215131
<ref role="cht4Q" to="hm2y:7NJy08a3O99" resolve="DotExpression" />
1509315132
</node>
1509415133
</node>

0 commit comments

Comments
 (0)