Skip to content

Commit 6191e2c

Browse files
author
Alexander Pann
committed
Add sorting support for the TemporalType
1 parent 56f8911 commit 6191e2c

File tree

3 files changed

+638
-2
lines changed

3 files changed

+638
-2
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,9 @@
9292
<property role="20lbJX" value="fLJekj4/_1" />
9393
<ref role="20lvS9" to="hm2y:6sdnDbSlaok" resolve="Type" />
9494
</node>
95+
<node concept="PrWs8" id="FLl_um4YlE" role="PzmwI">
96+
<ref role="PrY4T" to="hm2y:3sWKo0FlPLx" resolve="ITypeCanBeSorted" />
97+
</node>
9598
</node>
9699
<node concept="1TIwiD" id="50smQ1V8QEe">
97100
<property role="EcuMT" value="5772589292323039886" />

code/languages/org.iets3.opensource/solutions/org.iets3.core.expr.temporal.runtime/models/org.iets3.core.expr.temporal.runtime.mps

Lines changed: 252 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,9 @@
8888
<property id="8606350594693632173" name="isTransient" index="eg7rD" />
8989
<property id="1240249534625" name="isVolatile" index="34CwA1" />
9090
</concept>
91-
<concept id="1068390468198" name="jetbrains.mps.baseLanguage.structure.ClassConcept" flags="ig" index="312cEu" />
91+
<concept id="1068390468198" name="jetbrains.mps.baseLanguage.structure.ClassConcept" flags="ig" index="312cEu">
92+
<child id="1095933932569" name="implementedInterface" index="EKbjA" />
93+
</concept>
9294
<concept id="1068431474542" name="jetbrains.mps.baseLanguage.structure.VariableDeclaration" flags="ng" index="33uBYm">
9395
<property id="1176718929932" name="isFinal" index="3TUv4t" />
9496
<child id="1068431790190" name="initializer" index="33vP2m" />
@@ -5398,6 +5400,255 @@
53985400
</node>
53995401
<node concept="2tJIrI" id="7SY$c$ignm5" role="jymVt" />
54005402
<node concept="3Tm1VV" id="50smQ1V9Ofz" role="1B3o_S" />
5403+
<node concept="3uibUv" id="FLl_um6Uww" role="EKbjA">
5404+
<ref role="3uigEE" to="wyt6:~Comparable" resolve="Comparable" />
5405+
<node concept="3uibUv" id="FLl_um78Bn" role="11_B2D">
5406+
<ref role="3uigEE" node="50smQ1V9Ofy" resolve="TemporalValue" />
5407+
</node>
5408+
</node>
5409+
<node concept="3clFb_" id="FLl_um7eIv" role="jymVt">
5410+
<property role="TrG5h" value="compareTo" />
5411+
<node concept="3Tm1VV" id="FLl_um7eIw" role="1B3o_S" />
5412+
<node concept="10Oyi0" id="FLl_um7eIy" role="3clF45" />
5413+
<node concept="37vLTG" id="FLl_um7eIz" role="3clF46">
5414+
<property role="TrG5h" value="value" />
5415+
<node concept="3uibUv" id="FLl_um7eI_" role="1tU5fm">
5416+
<ref role="3uigEE" node="50smQ1V9Ofy" resolve="TemporalValue" />
5417+
</node>
5418+
</node>
5419+
<node concept="3clFbS" id="FLl_um7eIA" role="3clF47">
5420+
<node concept="3cpWs8" id="FLl_um9YCC" role="3cqZAp">
5421+
<node concept="3cpWsn" id="FLl_um9YCD" role="3cpWs9">
5422+
<property role="TrG5h" value="thisIntervals" />
5423+
<node concept="3uibUv" id="FLl_um9Wz0" role="1tU5fm">
5424+
<ref role="3uigEE" to="33ny:~List" resolve="List" />
5425+
<node concept="3uibUv" id="FLl_um9Wz3" role="11_B2D">
5426+
<ref role="3uigEE" to="28m1:~LocalDate" resolve="LocalDate" />
5427+
</node>
5428+
</node>
5429+
<node concept="2OqwBi" id="FLl_um9YCE" role="33vP2m">
5430+
<node concept="Xjq3P" id="FLl_um9YCF" role="2Oq$k0" />
5431+
<node concept="liA8E" id="FLl_um9YCG" role="2OqNvi">
5432+
<ref role="37wK5l" node="50smQ1VdGyd" resolve="intervals" />
5433+
</node>
5434+
</node>
5435+
</node>
5436+
</node>
5437+
<node concept="3cpWs8" id="FLl_umaq33" role="3cqZAp">
5438+
<node concept="3cpWsn" id="FLl_umaq34" role="3cpWs9">
5439+
<property role="TrG5h" value="otherIntervals" />
5440+
<node concept="3uibUv" id="FLl_umaq35" role="1tU5fm">
5441+
<ref role="3uigEE" to="33ny:~List" resolve="List" />
5442+
<node concept="3uibUv" id="FLl_umaq36" role="11_B2D">
5443+
<ref role="3uigEE" to="28m1:~LocalDate" resolve="LocalDate" />
5444+
</node>
5445+
</node>
5446+
<node concept="2OqwBi" id="FLl_umaq37" role="33vP2m">
5447+
<node concept="37vLTw" id="FLl_umaYvO" role="2Oq$k0">
5448+
<ref role="3cqZAo" node="FLl_um7eIz" resolve="value" />
5449+
</node>
5450+
<node concept="liA8E" id="FLl_umaq39" role="2OqNvi">
5451+
<ref role="37wK5l" node="50smQ1VdGyd" resolve="intervals" />
5452+
</node>
5453+
</node>
5454+
</node>
5455+
</node>
5456+
<node concept="3cpWs8" id="FLl_umhERu" role="3cqZAp">
5457+
<node concept="3cpWsn" id="FLl_umhERx" role="3cpWs9">
5458+
<property role="TrG5h" value="min" />
5459+
<node concept="10Oyi0" id="FLl_umhERs" role="1tU5fm" />
5460+
<node concept="3cmrfG" id="FLl_umhRL8" role="33vP2m">
5461+
<property role="3cmrfH" value="0" />
5462+
</node>
5463+
</node>
5464+
</node>
5465+
<node concept="3cpWs8" id="FLl_umhY5d" role="3cqZAp">
5466+
<node concept="3cpWsn" id="FLl_umhY5g" role="3cpWs9">
5467+
<property role="TrG5h" value="max" />
5468+
<node concept="10Oyi0" id="FLl_umhY5b" role="1tU5fm" />
5469+
<node concept="3cmrfG" id="FLl_umi99z" role="33vP2m">
5470+
<property role="3cmrfH" value="0" />
5471+
</node>
5472+
</node>
5473+
</node>
5474+
<node concept="1Dw8fO" id="FLl_umcst$" role="3cqZAp">
5475+
<node concept="3clFbS" id="FLl_umcstA" role="2LFqv$">
5476+
<node concept="3cpWs8" id="FLl_ume$E3" role="3cqZAp">
5477+
<node concept="3cpWsn" id="FLl_ume$E4" role="3cpWs9">
5478+
<property role="TrG5h" value="currentDate" />
5479+
<node concept="3uibUv" id="FLl_ume$E5" role="1tU5fm">
5480+
<ref role="3uigEE" to="28m1:~LocalDate" resolve="LocalDate" />
5481+
</node>
5482+
<node concept="2OqwBi" id="FLl_umgd$9" role="33vP2m">
5483+
<node concept="37vLTw" id="FLl_umg9fW" role="2Oq$k0">
5484+
<ref role="3cqZAo" node="FLl_um9YCD" resolve="thisIntervals" />
5485+
</node>
5486+
<node concept="liA8E" id="FLl_umgklX" role="2OqNvi">
5487+
<ref role="37wK5l" to="33ny:~List.get(int)" resolve="get" />
5488+
<node concept="37vLTw" id="FLl_umgr8Q" role="37wK5m">
5489+
<ref role="3cqZAo" node="FLl_umcstB" resolve="i" />
5490+
</node>
5491+
</node>
5492+
</node>
5493+
</node>
5494+
</node>
5495+
<node concept="3cpWs8" id="FLl_umgy2x" role="3cqZAp">
5496+
<node concept="3cpWsn" id="FLl_umgy2y" role="3cpWs9">
5497+
<property role="TrG5h" value="otherDate" />
5498+
<node concept="3uibUv" id="FLl_umgy2z" role="1tU5fm">
5499+
<ref role="3uigEE" to="28m1:~LocalDate" resolve="LocalDate" />
5500+
</node>
5501+
<node concept="2OqwBi" id="FLl_umgy2$" role="33vP2m">
5502+
<node concept="37vLTw" id="FLl_umgy2_" role="2Oq$k0">
5503+
<ref role="3cqZAo" node="FLl_umaq34" resolve="otherIntervals" />
5504+
</node>
5505+
<node concept="liA8E" id="FLl_umgy2A" role="2OqNvi">
5506+
<ref role="37wK5l" to="33ny:~List.get(int)" resolve="get" />
5507+
<node concept="37vLTw" id="FLl_umgy2B" role="37wK5m">
5508+
<ref role="3cqZAo" node="FLl_umcstB" resolve="i" />
5509+
</node>
5510+
</node>
5511+
</node>
5512+
</node>
5513+
</node>
5514+
<node concept="3cpWs8" id="FLl_umhpkT" role="3cqZAp">
5515+
<node concept="3cpWsn" id="FLl_umhpkU" role="3cpWs9">
5516+
<property role="TrG5h" value="result" />
5517+
<node concept="10Oyi0" id="FLl_umhmDI" role="1tU5fm" />
5518+
<node concept="2OqwBi" id="FLl_umhpkV" role="33vP2m">
5519+
<node concept="37vLTw" id="FLl_umhpkW" role="2Oq$k0">
5520+
<ref role="3cqZAo" node="FLl_ume$E4" resolve="currentDate" />
5521+
</node>
5522+
<node concept="liA8E" id="FLl_umhpkX" role="2OqNvi">
5523+
<ref role="37wK5l" to="28m1:~LocalDate.compareTo(java.time.chrono.ChronoLocalDate)" resolve="compareTo" />
5524+
<node concept="37vLTw" id="FLl_umhpkY" role="37wK5m">
5525+
<ref role="3cqZAo" node="FLl_umgy2y" resolve="otherDate" />
5526+
</node>
5527+
</node>
5528+
</node>
5529+
</node>
5530+
</node>
5531+
<node concept="3clFbF" id="FLl_umipFT" role="3cqZAp">
5532+
<node concept="37vLTI" id="FLl_umiwA$" role="3clFbG">
5533+
<node concept="2YIFZM" id="FLl_umiHEL" role="37vLTx">
5534+
<ref role="1Pybhc" to="wyt6:~Math" resolve="Math" />
5535+
<ref role="37wK5l" to="wyt6:~Math.min(int,int)" resolve="min" />
5536+
<node concept="37vLTw" id="FLl_umiOo7" role="37wK5m">
5537+
<ref role="3cqZAo" node="FLl_umhERx" resolve="min" />
5538+
</node>
5539+
<node concept="37vLTw" id="FLl_umiVFi" role="37wK5m">
5540+
<ref role="3cqZAo" node="FLl_umhpkU" resolve="result" />
5541+
</node>
5542+
</node>
5543+
<node concept="37vLTw" id="FLl_umipFR" role="37vLTJ">
5544+
<ref role="3cqZAo" node="FLl_umhERx" resolve="min" />
5545+
</node>
5546+
</node>
5547+
</node>
5548+
<node concept="3clFbF" id="FLl_umj7jh" role="3cqZAp">
5549+
<node concept="37vLTI" id="FLl_umjeeX" role="3clFbG">
5550+
<node concept="2YIFZM" id="FLl_umjrhL" role="37vLTx">
5551+
<ref role="1Pybhc" to="wyt6:~Math" resolve="Math" />
5552+
<ref role="37wK5l" to="wyt6:~Math.max(int,int)" resolve="max" />
5553+
<node concept="37vLTw" id="FLl_umjvOH" role="37wK5m">
5554+
<ref role="3cqZAo" node="FLl_umhY5g" resolve="max" />
5555+
</node>
5556+
<node concept="37vLTw" id="FLl_umjAGm" role="37wK5m">
5557+
<ref role="3cqZAo" node="FLl_umhpkU" resolve="result" />
5558+
</node>
5559+
</node>
5560+
<node concept="37vLTw" id="FLl_umj7jf" role="37vLTJ">
5561+
<ref role="3cqZAo" node="FLl_umhY5g" resolve="max" />
5562+
</node>
5563+
</node>
5564+
</node>
5565+
</node>
5566+
<node concept="3cpWsn" id="FLl_umcstB" role="1Duv9x">
5567+
<property role="TrG5h" value="i" />
5568+
<node concept="10Oyi0" id="FLl_umcyDp" role="1tU5fm" />
5569+
<node concept="3cmrfG" id="FLl_umcOvM" role="33vP2m">
5570+
<property role="3cmrfH" value="0" />
5571+
</node>
5572+
</node>
5573+
<node concept="3eOVzh" id="FLl_umd0Rj" role="1Dwp0S">
5574+
<node concept="37vLTw" id="FLl_umcTZd" role="3uHU7B">
5575+
<ref role="3cqZAo" node="FLl_umcstB" resolve="i" />
5576+
</node>
5577+
<node concept="2YIFZM" id="FLl_umfWe9" role="3uHU7w">
5578+
<ref role="1Pybhc" to="wyt6:~Math" resolve="Math" />
5579+
<ref role="37wK5l" to="wyt6:~Math.min(int,int)" resolve="min" />
5580+
<node concept="2OqwBi" id="FLl_umfWea" role="37wK5m">
5581+
<node concept="37vLTw" id="FLl_umfWeb" role="2Oq$k0">
5582+
<ref role="3cqZAo" node="FLl_um9YCD" resolve="thisIntervals" />
5583+
</node>
5584+
<node concept="liA8E" id="FLl_umfWec" role="2OqNvi">
5585+
<ref role="37wK5l" to="33ny:~List.size()" resolve="size" />
5586+
</node>
5587+
</node>
5588+
<node concept="2OqwBi" id="FLl_umfWed" role="37wK5m">
5589+
<node concept="37vLTw" id="FLl_umfWee" role="2Oq$k0">
5590+
<ref role="3cqZAo" node="FLl_umaq34" resolve="otherIntervals" />
5591+
</node>
5592+
<node concept="liA8E" id="FLl_umfWef" role="2OqNvi">
5593+
<ref role="37wK5l" to="33ny:~List.size()" resolve="size" />
5594+
</node>
5595+
</node>
5596+
</node>
5597+
</node>
5598+
<node concept="3uNrnE" id="7k6A8WfiCaV" role="1Dwrff">
5599+
<node concept="37vLTw" id="7k6A8WfiCaX" role="2$L3a6">
5600+
<ref role="3cqZAo" node="FLl_umcstB" resolve="i" />
5601+
</node>
5602+
</node>
5603+
</node>
5604+
<node concept="3clFbJ" id="FLl_umjJE7" role="3cqZAp">
5605+
<node concept="3clFbS" id="FLl_umjJE9" role="3clFbx">
5606+
<node concept="3cpWs6" id="FLl_umkeWL" role="3cqZAp">
5607+
<node concept="3cmrfG" id="FLl_umkj5R" role="3cqZAk">
5608+
<property role="3cmrfH" value="-1" />
5609+
</node>
5610+
</node>
5611+
</node>
5612+
<node concept="3eOVzh" id="FLl_umk4rB" role="3clFbw">
5613+
<node concept="3cmrfG" id="FLl_umk8NO" role="3uHU7w">
5614+
<property role="3cmrfH" value="0" />
5615+
</node>
5616+
<node concept="37vLTw" id="FLl_umjWZT" role="3uHU7B">
5617+
<ref role="3cqZAo" node="FLl_umhERx" resolve="min" />
5618+
</node>
5619+
</node>
5620+
<node concept="3eNFk2" id="FLl_umk$xC" role="3eNLev">
5621+
<node concept="3eOSWO" id="FLl_umloOF" role="3eO9$A">
5622+
<node concept="3cmrfG" id="FLl_umloOX" role="3uHU7w">
5623+
<property role="3cmrfH" value="0" />
5624+
</node>
5625+
<node concept="37vLTw" id="FLl_umlhWG" role="3uHU7B">
5626+
<ref role="3cqZAo" node="FLl_umhY5g" resolve="max" />
5627+
</node>
5628+
</node>
5629+
<node concept="3clFbS" id="FLl_umk$xE" role="3eOfB_">
5630+
<node concept="3cpWs6" id="FLl_umlvwt" role="3cqZAp">
5631+
<node concept="3cmrfG" id="FLl_umlAa$" role="3cqZAk">
5632+
<property role="3cmrfH" value="1" />
5633+
</node>
5634+
</node>
5635+
</node>
5636+
</node>
5637+
<node concept="9aQIb" id="FLl_umlGOw" role="9aQIa">
5638+
<node concept="3clFbS" id="FLl_umlGOx" role="9aQI4">
5639+
<node concept="3cpWs6" id="FLl_umlMBi" role="3cqZAp">
5640+
<node concept="3cmrfG" id="FLl_umlTi2" role="3cqZAk">
5641+
<property role="3cmrfH" value="0" />
5642+
</node>
5643+
</node>
5644+
</node>
5645+
</node>
5646+
</node>
5647+
</node>
5648+
<node concept="2AHcQZ" id="FLl_um7eIB" role="2AJF6D">
5649+
<ref role="2AI5Lk" to="wyt6:~Override" />
5650+
</node>
5651+
</node>
54015652
</node>
54025653
<node concept="Qs71p" id="6AGD1sTq$nE">
54035654
<property role="TrG5h" value="ReduceStrategy" />

0 commit comments

Comments
 (0)