Skip to content

Commit acc42a8

Browse files
authored
Merge pull request #1266 from IETS3/bugfix/1264
toplevel.rt.rt: introduced hashCode() and equals for projection results.
2 parents b729d25 + 7d7b98b commit acc42a8

File tree

8 files changed

+479
-61
lines changed

8 files changed

+479
-61
lines changed

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

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
<import index="tpee" ref="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" />
3333
<import index="xlxw" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.math(JDK/)" />
3434
<import index="dj6k" ref="r:59d52af6-663b-49dc-8980-30d79b8dffa1(org.iets3.core.expr.simpleTypes.runtime)" />
35+
<import index="qt06" ref="b0f8641f-bd77-4421-8425-30d9088a82f7/java:org.apache.commons.lang3.builder(org.apache.commons/)" />
36+
<import index="hnhi" ref="r:d354209e-0bea-497f-b905-d66f72900fa8(org.iets3.analysis.base.plugin)" />
3537
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
3638
<import index="zzzn" ref="r:af0af2e7-f7e1-4536-83b5-6bf010d4afd2(org.iets3.core.expr.lambda.structure)" implicit="true" />
3739
<import index="lmd" ref="r:a6074908-e483-4c8e-80b5-5dbf8b24df4c(org.iets3.core.expr.path.structure)" implicit="true" />
@@ -9796,6 +9798,92 @@
97969798
<node concept="3cqZAl" id="6XE8Bc$gE1B" role="3clF45" />
97979799
</node>
97989800
<node concept="2tJIrI" id="6XE8Bc$gE2n" role="jymVt" />
9801+
<node concept="3clFb_" id="2Ccm6Yq_2Qr" role="jymVt">
9802+
<property role="TrG5h" value="hashCode" />
9803+
<node concept="3clFbS" id="2Ccm6Yq_2Qu" role="3clF47">
9804+
<node concept="3cpWs8" id="2Ccm6YqAETf" role="3cqZAp">
9805+
<node concept="3cpWsn" id="2Ccm6YqAETg" role="3cpWs9">
9806+
<property role="TrG5h" value="builder" />
9807+
<node concept="3uibUv" id="2Ccm6YqA$dE" role="1tU5fm">
9808+
<ref role="3uigEE" to="qt06:~HashCodeBuilder" resolve="HashCodeBuilder" />
9809+
</node>
9810+
<node concept="2ShNRf" id="2Ccm6YqAETh" role="33vP2m">
9811+
<node concept="1pGfFk" id="2Ccm6YqAETi" role="2ShVmc">
9812+
<ref role="37wK5l" to="qt06:~HashCodeBuilder.&lt;init&gt;(int,int)" resolve="HashCodeBuilder" />
9813+
<node concept="3cmrfG" id="2Ccm6YqAETj" role="37wK5m">
9814+
<property role="3cmrfH" value="17" />
9815+
</node>
9816+
<node concept="3cmrfG" id="2Ccm6YqAETk" role="37wK5m">
9817+
<property role="3cmrfH" value="37" />
9818+
</node>
9819+
</node>
9820+
</node>
9821+
</node>
9822+
</node>
9823+
<node concept="3clFbF" id="2Ccm6YqFlk$" role="3cqZAp">
9824+
<node concept="2OqwBi" id="2Ccm6YqFyjP" role="3clFbG">
9825+
<node concept="37vLTw" id="2Ccm6YqFlky" role="2Oq$k0">
9826+
<ref role="3cqZAo" node="2Ccm6YqAETg" resolve="builder" />
9827+
</node>
9828+
<node concept="liA8E" id="2Ccm6YqFEIS" role="2OqNvi">
9829+
<ref role="37wK5l" to="qt06:~HashCodeBuilder.append(java.lang.Object)" resolve="append" />
9830+
<node concept="2OqwBi" id="6c9kQIS96Rz" role="37wK5m">
9831+
<node concept="Xjq3P" id="6c9kQIS96R$" role="2Oq$k0" />
9832+
<node concept="2OwXpG" id="6c9kQIS96R_" role="2OqNvi">
9833+
<ref role="2Oxat5" node="6XE8Bc$gDWa" resolve="i" />
9834+
<node concept="1ZhdrF" id="6c9kQIS96RA" role="lGtFl">
9835+
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1197029447546/1197029500499" />
9836+
<property role="2qtEX8" value="fieldDeclaration" />
9837+
<node concept="3$xsQk" id="6c9kQIS96RB" role="3$ytzL">
9838+
<node concept="3clFbS" id="6c9kQIS96RC" role="2VODD2">
9839+
<node concept="3clFbF" id="6c9kQIS96RD" role="3cqZAp">
9840+
<node concept="2OqwBi" id="6c9kQIS96RE" role="3clFbG">
9841+
<node concept="30H73N" id="6c9kQIS96RF" role="2Oq$k0" />
9842+
<node concept="3TrcHB" id="6c9kQIS96RG" role="2OqNvi">
9843+
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
9844+
</node>
9845+
</node>
9846+
</node>
9847+
</node>
9848+
</node>
9849+
</node>
9850+
</node>
9851+
</node>
9852+
</node>
9853+
</node>
9854+
<node concept="1WS0z7" id="2Ccm6YqGuIY" role="lGtFl">
9855+
<node concept="3JmXsc" id="2Ccm6YqGuIZ" role="3Jn$fo">
9856+
<node concept="3clFbS" id="2Ccm6YqGuJ0" role="2VODD2">
9857+
<node concept="3clFbF" id="6c9kQIS69tf" role="3cqZAp">
9858+
<node concept="2OqwBi" id="6c9kQIS6iFJ" role="3clFbG">
9859+
<node concept="30H73N" id="6c9kQIS69te" role="2Oq$k0" />
9860+
<node concept="2qgKlT" id="6c9kQIS6z7P" role="2OqNvi">
9861+
<ref role="37wK5l" to="nu60:58eyHuUgYVm" resolve="nonEmptyMembers" />
9862+
</node>
9863+
</node>
9864+
</node>
9865+
</node>
9866+
</node>
9867+
</node>
9868+
</node>
9869+
<node concept="3cpWs6" id="6c9kQISfwrN" role="3cqZAp">
9870+
<node concept="2OqwBi" id="6c9kQIS9_pX" role="3cqZAk">
9871+
<node concept="37vLTw" id="6c9kQIS9tjo" role="2Oq$k0">
9872+
<ref role="3cqZAo" node="2Ccm6YqAETg" resolve="builder" />
9873+
</node>
9874+
<node concept="liA8E" id="6c9kQIS9I6o" role="2OqNvi">
9875+
<ref role="37wK5l" to="qt06:~HashCodeBuilder.hashCode()" resolve="hashCode" />
9876+
</node>
9877+
</node>
9878+
</node>
9879+
</node>
9880+
<node concept="3Tm1VV" id="2Ccm6Yq$F6D" role="1B3o_S" />
9881+
<node concept="10Oyi0" id="2Ccm6Yq$RB5" role="3clF45" />
9882+
<node concept="2AHcQZ" id="6c9kQIS9Q1S" role="2AJF6D">
9883+
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
9884+
</node>
9885+
</node>
9886+
<node concept="2tJIrI" id="2Ccm6Yq$jPR" role="jymVt" />
97999887
<node concept="3clFb_" id="6XE8Bc$gE2o" role="jymVt">
98009888
<property role="1EzhhJ" value="false" />
98019889
<property role="TrG5h" value="equals" />

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.genjava.toplevel/org.iets3.core.expr.genjava.toplevel.mpl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<dependency reexport="false">b76a0f63-5959-456b-993a-c796cc0d0c13(org.iets3.core.expr.base.collections.stubs)</dependency>
3939
<dependency reexport="false">2f7e2e35-6e74-4c43-9fa5-2465d68f5996(org.iets3.core.expr.collections)</dependency>
4040
<dependency reexport="false">f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</dependency>
41+
<dependency reexport="false">b0f8641f-bd77-4421-8425-30d9088a82f7(org.apache.commons)</dependency>
4142
</dependencies>
4243
<languageVersions>
4344
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="12" />
@@ -98,6 +99,7 @@
9899
<module reference="7866978e-a0f0-4cc7-81bc-4d213d9375e1(jetbrains.mps.lang.smodel)" version="1" />
99100
<module reference="c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)" version="0" />
100101
<module reference="9ded098b-ad6a-4657-bfd9-48636cfe8bc3(jetbrains.mps.lang.traceable)" version="0" />
102+
<module reference="b0f8641f-bd77-4421-8425-30d9088a82f7(org.apache.commons)" version="0" />
101103
<module reference="db8bd035-3f51-41d8-8fed-954c202d18be(org.iets3.analysis.base)" version="1" />
102104
<module reference="7b68d745-a7b8-48b9-bd9c-05c0f8725a35(org.iets3.core.base)" version="0" />
103105
<module reference="cfaa4966-b7d5-4b69-b66a-309a6e1a7290(org.iets3.core.expr.base)" version="20" />

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

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424
<import index="dj6k" ref="r:59d52af6-663b-49dc-8980-30d79b8dffa1(org.iets3.core.expr.simpleTypes.runtime)" />
2525
<import index="2ahs" ref="r:ea6cf71d-29d2-478d-8027-a9f4a4de53c4(com.mbeddr.mpsutil.interpreter.rt)" />
2626
<import index="mhfm" ref="3f233e7f-b8a6-46d2-a57f-795d56775243/java:org.jetbrains.annotations(Annotations/)" />
27+
<import index="33ny" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)" />
2728
<import index="lmd" ref="r:a6074908-e483-4c8e-80b5-5dbf8b24df4c(org.iets3.core.expr.path.structure)" implicit="true" />
2829
<import index="nu60" ref="r:cfd59c48-ecc8-4b0c-8ae8-6d876c46ebbb(org.iets3.core.expr.toplevel.behavior)" implicit="true" />
2930
<import index="vs0r" ref="r:f7764ca4-8c75-4049-922b-08516400a727(com.mbeddr.core.base.structure)" implicit="true" />
30-
<import index="33ny" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)" implicit="true" />
3131
<import index="tpcu" ref="r:00000000-0000-4000-0000-011c89590282(jetbrains.mps.lang.core.behavior)" implicit="true" />
3232
</imports>
3333
<registry>
@@ -882,6 +882,29 @@
882882
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
883883
</node>
884884
</node>
885+
<node concept="2tJIrI" id="5_6o5C8$zvB" role="jymVt" />
886+
<node concept="3clFb_" id="5qf1oe$zfpT" role="jymVt">
887+
<property role="TrG5h" value="hashCode" />
888+
<node concept="3Tm1VV" id="5qf1oe$zfpU" role="1B3o_S" />
889+
<node concept="10Oyi0" id="5qf1oe$zfpX" role="3clF45" />
890+
<node concept="3clFbS" id="5qf1oe$zfpY" role="3clF47">
891+
<node concept="3clFbF" id="5qf1oe$zktQ" role="3cqZAp">
892+
<node concept="2YIFZM" id="5qf1oe$zlvV" role="3clFbG">
893+
<ref role="37wK5l" to="33ny:~Objects.hash(java.lang.Object...)" resolve="hash" />
894+
<ref role="1Pybhc" to="33ny:~Objects" resolve="Objects" />
895+
<node concept="37vLTw" id="5qf1oe$zpPq" role="37wK5m">
896+
<ref role="3cqZAo" node="7D7uZV2szuN" resolve="memberData" />
897+
</node>
898+
<node concept="37vLTw" id="5qf1oe$zscK" role="37wK5m">
899+
<ref role="3cqZAo" node="7$ajNzjzZzN" resolve="recordDeclaration" />
900+
</node>
901+
</node>
902+
</node>
903+
</node>
904+
<node concept="2AHcQZ" id="5qf1oe$zfpZ" role="2AJF6D">
905+
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
906+
</node>
907+
</node>
885908
<node concept="2tJIrI" id="7D7uZV2szl_" role="jymVt" />
886909
<node concept="3Tm1VV" id="7D7uZV2szlm" role="1B3o_S" />
887910
<node concept="3uibUv" id="7D7uZV2yaTX" role="EKbjA">

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

Lines changed: 6 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8176,39 +8176,13 @@
81768176
<ref role="3cqZAo" node="v9lBEVhxa7" resolve="l" />
81778177
</node>
81788178
</node>
8179-
<node concept="3cpWs8" id="v9lBEVhxag" role="3cqZAp">
8180-
<node concept="3cpWsn" id="v9lBEVhxah" role="3cpWs9">
8181-
<property role="TrG5h" value="res" />
8182-
<node concept="3uibUv" id="6bG6MAFDJ_z" role="1tU5fm">
8183-
<ref role="3uigEE" to="j10v:~PSet" resolve="PSet" />
8184-
</node>
8185-
<node concept="2YIFZM" id="6bG6MAFDJB$" role="33vP2m">
8186-
<ref role="37wK5l" to="j10v:~Empty.set()" resolve="set" />
8187-
<ref role="1Pybhc" to="j10v:~Empty" resolve="Empty" />
8188-
</node>
8189-
</node>
8190-
</node>
8191-
<node concept="3clFbF" id="v9lBEVhxak" role="3cqZAp">
8192-
<node concept="37vLTI" id="v9lBEVhxal" role="3clFbG">
8193-
<node concept="2OqwBi" id="v9lBEVhxam" role="37vLTx">
8194-
<node concept="37vLTw" id="v9lBEVhxan" role="2Oq$k0">
8195-
<ref role="3cqZAo" node="v9lBEVhxah" resolve="res" />
8196-
</node>
8197-
<node concept="liA8E" id="v9lBEVhxao" role="2OqNvi">
8198-
<ref role="37wK5l" to="j10v:~PSet.plusAll(java.util.Collection)" resolve="plusAll" />
8199-
<node concept="37vLTw" id="v9lBEVhxap" role="37wK5m">
8200-
<ref role="3cqZAo" node="v9lBEVhxa7" resolve="l" />
8201-
</node>
8202-
</node>
8203-
</node>
8204-
<node concept="37vLTw" id="v9lBEVhxaq" role="37vLTJ">
8205-
<ref role="3cqZAo" node="v9lBEVhxah" resolve="res" />
8206-
</node>
8207-
</node>
8208-
</node>
82098179
<node concept="3cpWs6" id="v9lBEVhxar" role="3cqZAp">
8210-
<node concept="37vLTw" id="v9lBEVhxas" role="3cqZAk">
8211-
<ref role="3cqZAo" node="v9lBEVhxah" resolve="res" />
8180+
<node concept="2YIFZM" id="5_6o5C8HOWP" role="3cqZAk">
8181+
<ref role="37wK5l" to="j10v:~HashTreePSet.from(java.util.Collection)" resolve="from" />
8182+
<ref role="1Pybhc" to="j10v:~HashTreePSet" resolve="HashTreePSet" />
8183+
<node concept="37vLTw" id="5_6o5C8HOWQ" role="37wK5m">
8184+
<ref role="3cqZAo" node="v9lBEVhxa7" resolve="l" />
8185+
</node>
82128186
</node>
82138187
</node>
82148188
</node>

0 commit comments

Comments
 (0)