Skip to content

Commit 4714e53

Browse files
Alexander Pannarimer
authored andcommitted
physunits: make the unitless unit name customizable
(cherry picked from commit ad95b76)
1 parent 89529f6 commit 4714e53

File tree

5 files changed

+157
-0
lines changed

5 files changed

+157
-0
lines changed

CHANGELOG.md

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

88
## August 2024
99

10+
### Added
11+
12+
- The name of the unitless unit can now be customized through the `PhysUnitLangConfig` extension point.
13+
1014
### Fixed
1115

1216
- The performance of error type propagation (especially in relation to type tags) was improved.

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

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,13 @@
1515
<import index="hm2y" ref="r:66e07cb4-a4b0-4bf3-a36d-5e9ed1ff1bd3(org.iets3.core.expr.base.structure)" />
1616
<import index="i3ya" ref="r:4f64e2f0-6a4e-4db3-b3bf-7977f44949b6(org.iets3.core.expr.typetags.physunits.structure)" />
1717
<import index="rppw" ref="r:720d563d-1633-46b3-a98e-08d2fde4c4a8(org.iets3.core.expr.typetags.physunits.behavior)" />
18+
<import index="65nr" ref="r:6e69e40f-b186-4866-917f-dbdef5b3c590(org.iets3.core.expr.typetags.physunits.plugin)" />
19+
<import index="lui2" ref="8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.module(MPS.OpenAPI/)" />
20+
<import index="3a50" ref="742f6602-5a2f-4313-aa6e-ae1cd4ffdc61/java:jetbrains.mps.ide(MPS.Platform/)" />
21+
<import index="wyuk" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.components(MPS.Core/)" />
22+
<import index="w1kc" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel(MPS.Core/)" />
1823
<import index="vs0r" ref="r:f7764ca4-8c75-4049-922b-08516400a727(com.mbeddr.core.base.structure)" implicit="true" />
24+
<import index="mhbf" ref="8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.model(MPS.OpenAPI/)" implicit="true" />
1925
<import index="hwgx" ref="r:fd2980c8-676c-4b19-b524-18c70e02f8b7(com.mbeddr.core.base.behavior)" implicit="true" />
2026
<import index="qlm2" ref="r:c0482758-b46b-48c3-8482-fa4a3115b53b(org.iets3.core.expr.typetags.behavior)" implicit="true" />
2127
</imports>
@@ -88,6 +94,9 @@
8894
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
8995
<child id="1068499141038" name="actualArgument" index="37wK5m" />
9096
</concept>
97+
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
98+
<reference id="1107535924139" name="classifier" index="3uigEE" />
99+
</concept>
91100
<concept id="1081773326031" name="jetbrains.mps.baseLanguage.structure.BinaryOperation" flags="nn" index="3uHJSO">
92101
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
93102
<child id="1081773367580" name="leftExpression" index="3uHU7B" />
@@ -101,6 +110,10 @@
101110
<concept id="6329021646629104954" name="jetbrains.mps.baseLanguage.structure.SingleLineComment" flags="nn" index="3SKdUt">
102111
<child id="8356039341262087992" name="line" index="1aUNEU" />
103112
</concept>
113+
<concept id="1116615150612" name="jetbrains.mps.baseLanguage.structure.ClassifierClassExpression" flags="nn" index="3VsKOn">
114+
<reference id="1116615189566" name="classifier" index="3VsUkX" />
115+
</concept>
116+
<concept id="1080120340718" name="jetbrains.mps.baseLanguage.structure.AndExpression" flags="nn" index="1Wc70l" />
104117
</language>
105118
<language id="3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1" name="jetbrains.mps.lang.constraints">
106119
<concept id="6702802731807351367" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_CanBeAChild" flags="in" index="9S07l" />
@@ -146,6 +159,10 @@
146159
<child id="6733348108486823193" name="leftExpression" index="1m5AlR" />
147160
<child id="3906496115198199033" name="conceptArgument" index="3oSUPX" />
148161
</concept>
162+
<concept id="1143234257716" name="jetbrains.mps.lang.smodel.structure.Node_GetModelOperation" flags="nn" index="I4A8Y" />
163+
<concept id="1145404486709" name="jetbrains.mps.lang.smodel.structure.SemanticDowncastExpression" flags="nn" index="2JrnkZ">
164+
<child id="1145404616321" name="leftExpression" index="2JrQYb" />
165+
</concept>
149166
<concept id="1171407110247" name="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" flags="nn" index="2Xjw5R" />
150167
<concept id="2644386474300074836" name="jetbrains.mps.lang.smodel.structure.ConceptIdRefExpression" flags="nn" index="35c_gC">
151168
<reference id="2644386474300074837" name="conceptDeclaration" index="35c_gD" />
@@ -644,6 +661,105 @@
644661
<node concept="1M2fIO" id="1KUmgSFvSuo">
645662
<property role="3GE5qa" value="definition.unit" />
646663
<ref role="1M2myG" to="i3ya:7eOyx9r3jsZ" resolve="Unit" />
664+
<node concept="EnEH3" id="3xwfj1iseUc" role="1MhHOB">
665+
<ref role="EomxK" to="tpck:h0TrG11" resolve="name" />
666+
<node concept="Eqf_E" id="3xwfj1ivqJx" role="EtsB7">
667+
<node concept="3clFbS" id="3xwfj1ivqJy" role="2VODD2">
668+
<node concept="3cpWs8" id="3xwfj1iDGp$" role="3cqZAp">
669+
<node concept="3cpWsn" id="3xwfj1iDGp_" role="3cpWs9">
670+
<property role="TrG5h" value="repository" />
671+
<node concept="3uibUv" id="3xwfj1iDG7i" role="1tU5fm">
672+
<ref role="3uigEE" to="lui2:~SRepository" resolve="SRepository" />
673+
</node>
674+
<node concept="2OqwBi" id="3xwfj1iDGpA" role="33vP2m">
675+
<node concept="2JrnkZ" id="3xwfj1iDGpB" role="2Oq$k0">
676+
<node concept="2OqwBi" id="3xwfj1iDGpC" role="2JrQYb">
677+
<node concept="EsrRn" id="3xwfj1iDGpD" role="2Oq$k0" />
678+
<node concept="I4A8Y" id="3xwfj1iDGpE" role="2OqNvi" />
679+
</node>
680+
</node>
681+
<node concept="liA8E" id="3xwfj1iDGpF" role="2OqNvi">
682+
<ref role="37wK5l" to="mhbf:~SModel.getRepository()" resolve="getRepository" />
683+
</node>
684+
</node>
685+
</node>
686+
</node>
687+
<node concept="3clFbJ" id="3xwfj1iDGGE" role="3cqZAp">
688+
<node concept="3clFbS" id="3xwfj1iDGGG" role="3clFbx">
689+
<node concept="3clFbF" id="3xwfj1iDHcG" role="3cqZAp">
690+
<node concept="37vLTI" id="3xwfj1iIHEZ" role="3clFbG">
691+
<node concept="37vLTw" id="3xwfj1iDHcE" role="37vLTJ">
692+
<ref role="3cqZAo" node="3xwfj1iDGp_" resolve="repository" />
693+
</node>
694+
<node concept="2OqwBi" id="4wvzrd4Fdye" role="37vLTx">
695+
<node concept="2OqwBi" id="4wvzrd4Fcgl" role="2Oq$k0">
696+
<node concept="2YIFZM" id="4wvzrd4FbSN" role="2Oq$k0">
697+
<ref role="37wK5l" to="3a50:~MPSCoreComponents.getInstance()" resolve="getInstance" />
698+
<ref role="1Pybhc" to="3a50:~MPSCoreComponents" resolve="MPSCoreComponents" />
699+
</node>
700+
<node concept="liA8E" id="4wvzrd4Fd3P" role="2OqNvi">
701+
<ref role="37wK5l" to="3a50:~MPSCoreComponents.getPlatform()" resolve="getPlatform" />
702+
</node>
703+
</node>
704+
<node concept="liA8E" id="4wvzrd4Fe1R" role="2OqNvi">
705+
<ref role="37wK5l" to="wyuk:~ComponentHost.findComponent(java.lang.Class)" resolve="findComponent" />
706+
<node concept="3VsKOn" id="4wvzrd4Fj$z" role="37wK5m">
707+
<ref role="3VsUkX" to="w1kc:~MPSModuleRepository" resolve="MPSModuleRepository" />
708+
</node>
709+
</node>
710+
</node>
711+
</node>
712+
</node>
713+
</node>
714+
<node concept="3clFbC" id="3xwfj1iDGZp" role="3clFbw">
715+
<node concept="10Nm6u" id="3xwfj1iDH7j" role="3uHU7w" />
716+
<node concept="37vLTw" id="3xwfj1iDGP5" role="3uHU7B">
717+
<ref role="3cqZAo" node="3xwfj1iDGp_" resolve="repository" />
718+
</node>
719+
</node>
720+
</node>
721+
<node concept="3clFbJ" id="3xwfj1ivqTE" role="3cqZAp">
722+
<node concept="3clFbS" id="3xwfj1ivqTG" role="3clFbx">
723+
<node concept="3cpWs6" id="3xwfj1ivuHD" role="3cqZAp">
724+
<node concept="2OqwBi" id="3xwfj1ivyIG" role="3cqZAk">
725+
<node concept="2YIFZM" id="3xwfj1ivyvg" role="2Oq$k0">
726+
<ref role="37wK5l" to="65nr:4qv99IrBnzk" resolve="getConfig" />
727+
<ref role="1Pybhc" to="65nr:4qv99IrBkzE" resolve="PhysUnitLangConfigHelper" />
728+
</node>
729+
<node concept="liA8E" id="3xwfj1ivySq" role="2OqNvi">
730+
<ref role="37wK5l" to="65nr:3xwfj1imT4h" resolve="getUnitLessUnitName" />
731+
</node>
732+
</node>
733+
</node>
734+
</node>
735+
<node concept="1Wc70l" id="3xwfj1iILD7" role="3clFbw">
736+
<node concept="3y3z36" id="3xwfj1iILYH" role="3uHU7B">
737+
<node concept="10Nm6u" id="3xwfj1iIM8q" role="3uHU7w" />
738+
<node concept="37vLTw" id="3xwfj1iILLo" role="3uHU7B">
739+
<ref role="3cqZAo" node="3xwfj1iDGp_" resolve="repository" />
740+
</node>
741+
</node>
742+
<node concept="2YIFZM" id="3xwfj1ivsdh" role="3uHU7w">
743+
<ref role="37wK5l" to="rppw:l_FyLXfCFW" resolve="isUnitLessUnit" />
744+
<ref role="1Pybhc" to="rppw:3xM68GMxWv0" resolve="StandardUnitHelper" />
745+
<node concept="EsrRn" id="3xwfj1ivsjE" role="37wK5m" />
746+
<node concept="37vLTw" id="3xwfj1iDGpG" role="37wK5m">
747+
<ref role="3cqZAo" node="3xwfj1iDGp_" resolve="repository" />
748+
</node>
749+
</node>
750+
</node>
751+
</node>
752+
<node concept="3cpWs6" id="3xwfj1ivz4w" role="3cqZAp">
753+
<node concept="2OqwBi" id="3xwfj1ivAwP" role="3cqZAk">
754+
<node concept="EsrRn" id="3xwfj1ivzaR" role="2Oq$k0" />
755+
<node concept="3TrcHB" id="3xwfj1ivB96" role="2OqNvi">
756+
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
757+
</node>
758+
</node>
759+
</node>
760+
</node>
761+
</node>
762+
</node>
647763
<node concept="1N5Pfh" id="1KUmgSFvSup" role="1Mr941">
648764
<ref role="1N5Vy1" to="i3ya:1KUmgSFpwWq" resolve="quantity" />
649765
<node concept="3dgokm" id="1KUmgSFvSut" role="1N6uqs">

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@
4646
<child id="1068498886297" name="rValue" index="37vLTx" />
4747
<child id="1068498886295" name="lValue" index="37vLTJ" />
4848
</concept>
49+
<concept id="2323553266850475941" name="jetbrains.mps.baseLanguage.structure.IHasModifiers" flags="ng" index="2frcj7">
50+
<child id="2323553266850475953" name="modifiers" index="2frcjj" />
51+
</concept>
4952
<concept id="4836112446988635817" name="jetbrains.mps.baseLanguage.structure.UndefinedType" flags="in" index="2jxLKc" />
5053
<concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
5154
<concept id="1465982738277781862" name="jetbrains.mps.baseLanguage.structure.PlaceholderMember" flags="nn" index="2tJIrI" />
@@ -58,6 +61,7 @@
5861
<concept id="2820489544401957797" name="jetbrains.mps.baseLanguage.structure.DefaultClassCreator" flags="nn" index="HV5vD">
5962
<reference id="2820489544401957798" name="classifier" index="HV5vE" />
6063
</concept>
64+
<concept id="4678410916365116210" name="jetbrains.mps.baseLanguage.structure.DefaultModifier" flags="ng" index="2JFqV2" />
6165
<concept id="1154032098014" name="jetbrains.mps.baseLanguage.structure.AbstractLoopStatement" flags="nn" index="2LF5Ji">
6266
<child id="1154032183016" name="body" index="2LFqv$" />
6367
</concept>
@@ -944,6 +948,27 @@
944948
</node>
945949
</node>
946950
<node concept="2tJIrI" id="3wrpJuqrQ2f" role="jymVt" />
951+
<node concept="3clFb_" id="3xwfj1imT4h" role="jymVt">
952+
<property role="TrG5h" value="getUnitLessUnitName" />
953+
<node concept="3clFbS" id="3xwfj1imT4i" role="3clF47">
954+
<node concept="3clFbF" id="3xwfj1iEUKU" role="3cqZAp">
955+
<node concept="Xl_RD" id="3xwfj1iEUKT" role="3clFbG">
956+
<property role="Xl_RC" value="unitless" />
957+
</node>
958+
</node>
959+
</node>
960+
<node concept="3Tm1VV" id="3xwfj1imT4j" role="1B3o_S" />
961+
<node concept="17QB3L" id="3xwfj1imT4k" role="3clF45" />
962+
<node concept="P$JXv" id="3xwfj1imT4l" role="lGtFl">
963+
<node concept="TZ5HA" id="3xwfj1imT4m" role="TZ5H$">
964+
<node concept="1dT_AC" id="3xwfj1imT4n" role="1dT_Ay">
965+
<property role="1dT_AB" value="Returns the name used for the unspecified dimension in the UI." />
966+
</node>
967+
</node>
968+
</node>
969+
<node concept="2JFqV2" id="3xwfj1iEU_N" role="2frcjj" />
970+
</node>
971+
<node concept="2tJIrI" id="3xwfj1imSXs" role="jymVt" />
947972
<node concept="3clFb_" id="3wrpJuqrQh9" role="jymVt">
948973
<property role="TrG5h" value="implicitConversionIsEnabled" />
949974
<node concept="3clFbS" id="3wrpJuqrQhc" role="3clF47" />

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.typetags.physunits/org.iets3.core.expr.typetags.physunits.mpl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
<dependency reexport="false">1ed103c3-3aa6-49b7-9c21-6765ee11f224(MPS.Editor)</dependency>
2828
<dependency reexport="false">cf90f965-8554-4a16-aa0b-6387f27474ab(org.iets3.core.expr.base.interpreter)</dependency>
2929
<dependency reexport="false">197e2a32-ff26-4358-af5c-731ae2b35f83(org.iets3.core.expr.simpleTypes.interpreter)</dependency>
30+
<dependency reexport="false">742f6602-5a2f-4313-aa6e-ae1cd4ffdc61(MPS.Platform)</dependency>
31+
<dependency reexport="false">6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)</dependency>
3032
</dependencies>
3133
<languageVersions>
3234
<language slang="l:d4280a54-f6df-4383-aa41-d1b2bffa7eb1:com.mbeddr.core.base" version="6" />

code/languages/org.iets3.opensource/solutions/org.iets3.opensource.build/models/org/iets3/opensource/build/build.mps

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2436,6 +2436,16 @@
24362436
<ref role="3bR37D" node="44TucI396gt" resolve="org.iets3.core.expr.base.interpreter" />
24372437
</node>
24382438
</node>
2439+
<node concept="1SiIV0" id="3xwfj1iIO1s" role="3bR37C">
2440+
<node concept="3bR9La" id="3xwfj1iIO1t" role="1SiIV1">
2441+
<ref role="3bR37D" to="ffeo:1TaHNgiIbJb" resolve="MPS.Platform" />
2442+
</node>
2443+
</node>
2444+
<node concept="1SiIV0" id="3xwfj1iIO1u" role="3bR37C">
2445+
<node concept="3bR9La" id="3xwfj1iIO1v" role="1SiIV1">
2446+
<ref role="3bR37D" to="ffeo:1TaHNgiIbIQ" resolve="MPS.Core" />
2447+
</node>
2448+
</node>
24392449
</node>
24402450
<node concept="1E1JtD" id="_I$tx9JvQU" role="2G$12L">
24412451
<property role="BnDLt" value="true" />

0 commit comments

Comments
 (0)