Skip to content

Commit c382b47

Browse files
author
Alexander Pann
authored
Merge pull request #907 from IETS3/bugfix/enum_equality
implement enum equality comparison
2 parents 5589cc8 + a09f566 commit c382b47

File tree

6 files changed

+142
-11
lines changed

6 files changed

+142
-11
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ The project does _not_ follow Semantic Versioning and the changes are documented
1111

1212
- The unnecessary super types of the tuple type were removed and are not necessary anymore.
1313

14+
### Fixed
15+
16+
- Enum literals now can be compared for equality in the generator.
17+
1418
## March 2024
1519

1620
### Added

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.tests/models/behavior.mps

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9567,9 +9567,9 @@
95679567
<property role="3GE5qa" value="vector" />
95689568
<ref role="13h7C2" to="av4b:1bwJEEfQxC8" resolve="TestSubjectAdapter" />
95699569
<node concept="13i0hz" id="1bwJEEeSLhl" role="13h7CS">
9570-
<property role="13i0iv" value="true" />
95719570
<property role="13i0it" value="true" />
95729571
<property role="TrG5h" value="arguments" />
9572+
<property role="13i0iv" value="true" />
95739573
<node concept="3Tm1VV" id="1bwJEEeSLhm" role="1B3o_S" />
95749574
<node concept="2I9FWS" id="1bwJEEeSUiU" role="3clF45">
95759575
<ref role="2I9WkF" to="tpck:h0TrEE$" resolve="INamedConcept" />
@@ -10286,15 +10286,14 @@
1028610286
<node concept="3cpWsn" id="1vJWYavhKZL" role="3cpWs9">
1028710287
<property role="TrG5h" value="matches" />
1028810288
<node concept="10P_77" id="1vJWYavhKZA" role="1tU5fm" />
10289-
<node concept="2OqwBi" id="1vJWYavhKZM" role="33vP2m">
10290-
<node concept="37vLTw" id="1vJWYavhKZN" role="2Oq$k0">
10289+
<node concept="2YIFZM" id="5k9pVzGTXKW" role="33vP2m">
10290+
<ref role="37wK5l" to="dj6k:1EZBwZ4muLD" resolve="equals" />
10291+
<ref role="1Pybhc" to="dj6k:1EZBwZ4mn8E" resolve="EqualsHelper" />
10292+
<node concept="37vLTw" id="5k9pVzGTYtJ" role="37wK5m">
1029110293
<ref role="3cqZAo" node="1vJWYavhGRk" resolve="expValue" />
1029210294
</node>
10293-
<node concept="liA8E" id="1vJWYavhKZO" role="2OqNvi">
10294-
<ref role="37wK5l" to="wyt6:~Object.equals(java.lang.Object)" resolve="equals" />
10295-
<node concept="37vLTw" id="1vJWYavhKZP" role="37wK5m">
10296-
<ref role="3cqZAo" node="4945UtSiwdl" resolve="actualVal" />
10297-
</node>
10295+
<node concept="37vLTw" id="5k9pVzGTZTr" role="37wK5m">
10296+
<ref role="3cqZAo" node="4945UtSiwdl" resolve="actualVal" />
1029810297
</node>
1029910298
</node>
1030010299
</node>

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.tests/models/constraints.mps

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
<concept id="5564765827938091039" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Scope" flags="ig" index="3dgokm" />
7878
<concept id="1213093968558" name="jetbrains.mps.lang.constraints.structure.ConceptConstraints" flags="ng" index="1M2fIO">
7979
<reference id="1213093996982" name="concept" index="1M2myG" />
80+
<reference id="1213106917431" name="defaultConcreteConcept" index="1MND4H" />
8081
<child id="6702802731807737306" name="canBeChild" index="9Vyp8" />
8182
<child id="1213100494875" name="referent" index="1Mr941" />
8283
</concept>
@@ -569,5 +570,10 @@
569570
</node>
570571
</node>
571572
</node>
573+
<node concept="1M2fIO" id="3CYAe9brSef">
574+
<property role="3GE5qa" value="vector" />
575+
<ref role="1M2myG" to="av4b:1bwJEEfQxC8" resolve="TestSubjectAdapter" />
576+
<ref role="1MND4H" to="av4b:1bwJEEfQxDh" resolve="FunctionSubjectAdapter" />
577+
</node>
572578
</model>
573579

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.tests/models/editor.mps

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4026,9 +4026,30 @@
40264026
</node>
40274027
</node>
40284028
</node>
4029-
<node concept="3y3z36" id="1bwJEEgmFqd" role="3clFbw">
4030-
<node concept="10Nm6u" id="1bwJEEgmFqe" role="3uHU7w" />
4031-
<node concept="3oseBL" id="1bwJEEgmFqf" role="3uHU7B" />
4029+
<node concept="1Wc70l" id="2tfhTxhr2Nc" role="3clFbw">
4030+
<node concept="3y3z36" id="1bwJEEgmFqd" role="3uHU7B">
4031+
<node concept="3oseBL" id="1bwJEEgmFqf" role="3uHU7B" />
4032+
<node concept="10Nm6u" id="1bwJEEgmFqe" role="3uHU7w" />
4033+
</node>
4034+
<node concept="3y3z36" id="2tfhTxhr4yQ" role="3uHU7w">
4035+
<node concept="10Nm6u" id="2tfhTxhr5gq" role="3uHU7w" />
4036+
<node concept="2OqwBi" id="2tfhTxhr3tw" role="3uHU7B">
4037+
<node concept="37vLTw" id="2tfhTxhr3tx" role="2Oq$k0">
4038+
<ref role="3cqZAo" node="1bwJEEgpHKW" resolve="outputs" />
4039+
</node>
4040+
<node concept="34jXtK" id="2tfhTxhr3ty" role="2OqNvi">
4041+
<node concept="3cpWsd" id="2tfhTxhr3tz" role="25WWJ7">
4042+
<node concept="2rSBBp" id="2tfhTxhr3t$" role="3uHU7B" />
4043+
<node concept="2OqwBi" id="2tfhTxhr3t_" role="3uHU7w">
4044+
<node concept="37vLTw" id="2tfhTxhr3tA" role="2Oq$k0">
4045+
<ref role="3cqZAo" node="1bwJEEgl6vN" resolve="args" />
4046+
</node>
4047+
<node concept="34oBXx" id="2tfhTxhr3tB" role="2OqNvi" />
4048+
</node>
4049+
</node>
4050+
</node>
4051+
</node>
4052+
</node>
40324053
</node>
40334054
</node>
40344055
</node>

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.toplevel/models/org/iets3/core/expr/toplevel/plugin.mps

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@
121121
<concept id="1068498886292" name="jetbrains.mps.baseLanguage.structure.ParameterDeclaration" flags="ir" index="37vLTG" />
122122
<concept id="1068498886294" name="jetbrains.mps.baseLanguage.structure.AssignmentExpression" flags="nn" index="37vLTI" />
123123
<concept id="1225271177708" name="jetbrains.mps.baseLanguage.structure.StringType" flags="in" index="17QB3L" />
124+
<concept id="1225271283259" name="jetbrains.mps.baseLanguage.structure.NPEEqualsExpression" flags="nn" index="17R0WA" />
124125
<concept id="4972933694980447171" name="jetbrains.mps.baseLanguage.structure.BaseVariableDeclaration" flags="ng" index="19Szcq">
125126
<child id="5680397130376446158" name="type" index="1tU5fm" />
126127
</concept>
@@ -2675,6 +2676,72 @@
26752676
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
26762677
</node>
26772678
</node>
2679+
<node concept="2tJIrI" id="5k9pVzGS$yU" role="jymVt" />
2680+
<node concept="3clFb_" id="5k9pVzGSGdk" role="jymVt">
2681+
<property role="TrG5h" value="equals" />
2682+
<node concept="3Tm1VV" id="5k9pVzGSGdl" role="1B3o_S" />
2683+
<node concept="10P_77" id="5k9pVzGSGdn" role="3clF45" />
2684+
<node concept="37vLTG" id="5k9pVzGSGdo" role="3clF46">
2685+
<property role="TrG5h" value="other" />
2686+
<node concept="3uibUv" id="5k9pVzGSGdp" role="1tU5fm">
2687+
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
2688+
</node>
2689+
</node>
2690+
<node concept="3clFbS" id="5k9pVzGSGdq" role="3clF47">
2691+
<node concept="3clFbJ" id="5k9pVzGSNcE" role="3cqZAp">
2692+
<node concept="3clFbS" id="5k9pVzGSNcG" role="3clFbx">
2693+
<node concept="3cpWs8" id="7uVkjvZN0zN" role="3cqZAp">
2694+
<node concept="3cpWsn" id="7uVkjvZN0zO" role="3cpWs9">
2695+
<property role="TrG5h" value="literal" />
2696+
<node concept="3uibUv" id="7uVkjvZMZcR" role="1tU5fm">
2697+
<ref role="3uigEE" node="365yA_OO5FT" resolve="EnumLiteral" />
2698+
</node>
2699+
<node concept="10QFUN" id="7uVkjvZN0zP" role="33vP2m">
2700+
<node concept="3uibUv" id="7uVkjvZN0zQ" role="10QFUM">
2701+
<ref role="3uigEE" node="365yA_OO5FT" resolve="EnumLiteral" />
2702+
</node>
2703+
<node concept="37vLTw" id="7uVkjvZN0zR" role="10QFUP">
2704+
<ref role="3cqZAo" node="5k9pVzGSGdo" resolve="other" />
2705+
</node>
2706+
</node>
2707+
</node>
2708+
</node>
2709+
<node concept="3cpWs6" id="7uVkjvZQs4Z" role="3cqZAp">
2710+
<node concept="17R0WA" id="7uVkjvZRg5$" role="3cqZAk">
2711+
<node concept="2OqwBi" id="7uVkjvZRjch" role="3uHU7w">
2712+
<node concept="Xjq3P" id="7uVkjvZRia3" role="2Oq$k0" />
2713+
<node concept="2OwXpG" id="7uVkjvZRlf3" role="2OqNvi">
2714+
<ref role="2Oxat5" node="365yA_OOfZ6" resolve="literal" />
2715+
</node>
2716+
</node>
2717+
<node concept="2OqwBi" id="7uVkjvZQWUd" role="3uHU7B">
2718+
<node concept="37vLTw" id="7uVkjvZR3Di" role="2Oq$k0">
2719+
<ref role="3cqZAo" node="7uVkjvZN0zO" resolve="literal" />
2720+
</node>
2721+
<node concept="2OwXpG" id="7uVkjvZR5G7" role="2OqNvi">
2722+
<ref role="2Oxat5" node="365yA_OOfZ6" resolve="literal" />
2723+
</node>
2724+
</node>
2725+
</node>
2726+
</node>
2727+
</node>
2728+
<node concept="2ZW3vV" id="5k9pVzGSQci" role="3clFbw">
2729+
<node concept="3uibUv" id="5k9pVzGSREZ" role="2ZW6by">
2730+
<ref role="3uigEE" node="365yA_OO5FT" resolve="EnumLiteral" />
2731+
</node>
2732+
<node concept="37vLTw" id="5k9pVzGSOBv" role="2ZW6bz">
2733+
<ref role="3cqZAo" node="5k9pVzGSGdo" resolve="other" />
2734+
</node>
2735+
</node>
2736+
</node>
2737+
<node concept="3cpWs6" id="7LJfRMDRrea" role="3cqZAp">
2738+
<node concept="3clFbT" id="7LJfRMDRrKp" role="3cqZAk" />
2739+
</node>
2740+
</node>
2741+
<node concept="2AHcQZ" id="5k9pVzGSGdr" role="2AJF6D">
2742+
<ref role="2AI5Lk" to="wyt6:~Override" />
2743+
</node>
2744+
</node>
26782745
</node>
26792746
</model>
26802747

code/languages/org.iets3.opensource/tests/test.ts.expr.os/models/test/ts/expr/os/[email protected]

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,10 +410,14 @@
410410
</concept>
411411
<concept id="1360296727231624741" name="org.iets3.core.expr.tests.structure.InvalidInputOutcome" flags="ng" index="2t9cyf" />
412412
<concept id="1360296727231624728" name="org.iets3.core.expr.tests.structure.ValidOutcome" flags="ng" index="2t9cyM" />
413+
<concept id="1360296727233042952" name="org.iets3.core.expr.tests.structure.TestSubjectAdapter" flags="ng" index="2teEiy">
414+
<property id="4134712908316713399" name="internalUniqueID" index="3X4tbc" />
415+
</concept>
413416
<concept id="1360296727233043025" name="org.iets3.core.expr.tests.structure.FunctionSubjectAdapter" flags="ng" index="2teEjV">
414417
<property id="1360296727242672265" name="checkResults" index="22zroz" />
415418
<reference id="1360296727233043038" name="fun" index="2teEjO" />
416419
</concept>
420+
<concept id="1360296727229780144" name="org.iets3.core.expr.tests.structure.EmptyProducer" flags="ng" index="2tieSq" />
417421
<concept id="1360296727219460885" name="org.iets3.core.expr.tests.structure.InputValue" flags="ng" index="2tUAmZ">
418422
<reference id="1360296727219460916" name="argument" index="2tUAmu" />
419423
<child id="1360296727219460918" name="value" index="2tUAms" />
@@ -16062,6 +16066,36 @@
1606216066
</node>
1606316067
</node>
1606416068
</node>
16069+
<node concept="_ixoA" id="5k9pVzGXTEi" role="_iOnB" />
16070+
<node concept="1aga60" id="5k9pVzGXW6D" role="_iOnB">
16071+
<property role="TrG5h" value="f" />
16072+
<node concept="5mhuz" id="5k9pVzGXY48" role="1ahQXP">
16073+
<ref role="5mhpJ" node="1bwJEEguiBh" resolve="RED" />
16074+
</node>
16075+
</node>
16076+
<node concept="_ixoA" id="5k9pVzGXY4i" role="_iOnB" />
16077+
<node concept="_fkuM" id="5k9pVzGY0wP" role="_iOnB">
16078+
<property role="TrG5h" value="enumEquality" />
16079+
<node concept="1jlL7U" id="3CYAe9brZo9" role="_fkp5">
16080+
<node concept="2teEjV" id="3CYAe9brZoa" role="1jbP1Y">
16081+
<property role="3X4tbc" value="1712644506027/apann" />
16082+
<property role="22zroz" value="true" />
16083+
<ref role="2teEjO" node="5k9pVzGXW6D" resolve="f" />
16084+
</node>
16085+
<node concept="1jlL7l" id="3CYAe9brZob" role="1jlL6c">
16086+
<node concept="2tieSq" id="3CYAe9brZoj" role="2tibTm" />
16087+
<node concept="2s0UEP" id="3CYAe9brZo$" role="2s0UE9">
16088+
<node concept="2t9cyM" id="3CYAe9brZo_" role="2t9cyo" />
16089+
<node concept="22E7GR" id="3CYAe9brZoM" role="22EBs4">
16090+
<ref role="22x4DC" node="5k9pVzGXW6D" resolve="f" />
16091+
<node concept="5mhuz" id="3CYAe9brZoL" role="22E7H2">
16092+
<ref role="5mhpJ" node="1bwJEEguiBh" resolve="RED" />
16093+
</node>
16094+
</node>
16095+
</node>
16096+
</node>
16097+
</node>
16098+
</node>
1606516099
</node>
1606616100
<node concept="_iOnU" id="2S3ZC$oC8Qh">
1606716101
<property role="TrG5h" value="typedefs" />

0 commit comments

Comments
 (0)