Skip to content

Commit 0fe93a4

Browse files
author
Alexander Pann
committed
implement enum equality comparison
1 parent 7344a6e commit 0fe93a4

File tree

5 files changed

+124
-8
lines changed

5 files changed

+124
-8
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.toplevel/models/org/iets3/core/expr/toplevel/plugin.mps

Lines changed: 73 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>
@@ -178,6 +179,7 @@
178179
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
179180
<child id="1068499141038" name="actualArgument" index="37wK5m" />
180181
</concept>
182+
<concept id="1073063089578" name="jetbrains.mps.baseLanguage.structure.SuperMethodCall" flags="nn" index="3nyPlj" />
181183
<concept id="1212685548494" name="jetbrains.mps.baseLanguage.structure.ClassCreator" flags="nn" index="1pGfFk" />
182184
<concept id="1107461130800" name="jetbrains.mps.baseLanguage.structure.Classifier" flags="ng" index="3pOWGL">
183185
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
@@ -2675,6 +2677,77 @@
26752677
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
26762678
</node>
26772679
</node>
2680+
<node concept="2tJIrI" id="5k9pVzGS$yU" role="jymVt" />
2681+
<node concept="3clFb_" id="5k9pVzGSGdk" role="jymVt">
2682+
<property role="TrG5h" value="equals" />
2683+
<node concept="3Tm1VV" id="5k9pVzGSGdl" role="1B3o_S" />
2684+
<node concept="10P_77" id="5k9pVzGSGdn" role="3clF45" />
2685+
<node concept="37vLTG" id="5k9pVzGSGdo" role="3clF46">
2686+
<property role="TrG5h" value="other" />
2687+
<node concept="3uibUv" id="5k9pVzGSGdp" role="1tU5fm">
2688+
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
2689+
</node>
2690+
</node>
2691+
<node concept="3clFbS" id="5k9pVzGSGdq" role="3clF47">
2692+
<node concept="3clFbJ" id="5k9pVzGSNcE" role="3cqZAp">
2693+
<node concept="3clFbS" id="5k9pVzGSNcG" role="3clFbx">
2694+
<node concept="3cpWs8" id="7uVkjvZN0zN" role="3cqZAp">
2695+
<node concept="3cpWsn" id="7uVkjvZN0zO" role="3cpWs9">
2696+
<property role="TrG5h" value="literal" />
2697+
<node concept="3uibUv" id="7uVkjvZMZcR" role="1tU5fm">
2698+
<ref role="3uigEE" node="365yA_OO5FT" resolve="EnumLiteral" />
2699+
</node>
2700+
<node concept="10QFUN" id="7uVkjvZN0zP" role="33vP2m">
2701+
<node concept="3uibUv" id="7uVkjvZN0zQ" role="10QFUM">
2702+
<ref role="3uigEE" node="365yA_OO5FT" resolve="EnumLiteral" />
2703+
</node>
2704+
<node concept="37vLTw" id="7uVkjvZN0zR" role="10QFUP">
2705+
<ref role="3cqZAo" node="5k9pVzGSGdo" resolve="other" />
2706+
</node>
2707+
</node>
2708+
</node>
2709+
</node>
2710+
<node concept="3cpWs6" id="7uVkjvZQs4Z" role="3cqZAp">
2711+
<node concept="17R0WA" id="7uVkjvZRg5$" role="3cqZAk">
2712+
<node concept="2OqwBi" id="7uVkjvZRjch" role="3uHU7w">
2713+
<node concept="Xjq3P" id="7uVkjvZRia3" role="2Oq$k0" />
2714+
<node concept="2OwXpG" id="7uVkjvZRlf3" role="2OqNvi">
2715+
<ref role="2Oxat5" node="365yA_OOfZ6" resolve="literal" />
2716+
</node>
2717+
</node>
2718+
<node concept="2OqwBi" id="7uVkjvZQWUd" role="3uHU7B">
2719+
<node concept="37vLTw" id="7uVkjvZR3Di" role="2Oq$k0">
2720+
<ref role="3cqZAo" node="7uVkjvZN0zO" resolve="literal" />
2721+
</node>
2722+
<node concept="2OwXpG" id="7uVkjvZR5G7" role="2OqNvi">
2723+
<ref role="2Oxat5" node="365yA_OOfZ6" resolve="literal" />
2724+
</node>
2725+
</node>
2726+
</node>
2727+
</node>
2728+
</node>
2729+
<node concept="2ZW3vV" id="5k9pVzGSQci" role="3clFbw">
2730+
<node concept="3uibUv" id="5k9pVzGSREZ" role="2ZW6by">
2731+
<ref role="3uigEE" node="365yA_OO5FT" resolve="EnumLiteral" />
2732+
</node>
2733+
<node concept="37vLTw" id="5k9pVzGSOBv" role="2ZW6bz">
2734+
<ref role="3cqZAo" node="5k9pVzGSGdo" resolve="other" />
2735+
</node>
2736+
</node>
2737+
</node>
2738+
<node concept="3clFbF" id="5k9pVzGSGdu" role="3cqZAp">
2739+
<node concept="3nyPlj" id="5k9pVzGSGdt" role="3clFbG">
2740+
<ref role="37wK5l" to="wyt6:~Object.equals(java.lang.Object)" resolve="equals" />
2741+
<node concept="37vLTw" id="5k9pVzGSGds" role="37wK5m">
2742+
<ref role="3cqZAo" node="5k9pVzGSGdo" resolve="obj" />
2743+
</node>
2744+
</node>
2745+
</node>
2746+
</node>
2747+
<node concept="2AHcQZ" id="5k9pVzGSGdr" role="2AJF6D">
2748+
<ref role="2AI5Lk" to="wyt6:~Override" />
2749+
</node>
2750+
</node>
26782751
</node>
26792752
</model>
26802753

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)