Skip to content

Commit 4fc1d5a

Browse files
wsafonovarimer
authored andcommitted
issue warning for bang operator in case of non-option expression type
1 parent bffa570 commit 4fc1d5a

File tree

12 files changed

+85
-25
lines changed

12 files changed

+85
-25
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ The project does _not_ follow Semantic Versioning and the changes are documented
1515

1616
### Added
1717
- CI tests for InterpreterCoverageAssQuery which make use use the calculated coverage data
18+
- Warning for BangOp in case type is not OptionType
1819

1920
## May 2025
2021

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.base/models/typesystem.mps

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,9 @@
276276
</concept>
277277
</language>
278278
<language id="7a5dda62-9140-4668-ab76-d5ed1746f2b2" name="jetbrains.mps.lang.typesystem">
279+
<concept id="1207055528241" name="jetbrains.mps.lang.typesystem.structure.WarningStatement" flags="nn" index="a7r0C">
280+
<child id="1207055552304" name="warningText" index="a7wSD" />
281+
</concept>
279282
<concept id="1766949807893567867" name="jetbrains.mps.lang.typesystem.structure.OverridesConceptFunction" flags="ig" index="bXqS6" />
280283
<concept id="1185788614172" name="jetbrains.mps.lang.typesystem.structure.NormalTypeClause" flags="ng" index="mw_s8">
281284
<child id="1185788644032" name="normalType" index="mwGJk" />
@@ -11144,5 +11147,46 @@
1114411147
</node>
1114511148
<node concept="3Tm1VV" id="3eH6BL2UU3s" role="1B3o_S" />
1114611149
</node>
11150+
<node concept="18kY7G" id="6rS$_kMPZL2">
11151+
<property role="TrG5h" value="check_BangOp" />
11152+
<node concept="3clFbS" id="6rS$_kMPZL3" role="18ibNy">
11153+
<node concept="3clFbJ" id="6rS$_kMQ0WU" role="3cqZAp">
11154+
<node concept="3fqX7Q" id="6rS$_kMQ2_Q" role="3clFbw">
11155+
<node concept="2OqwBi" id="6rS$_kMQ2_S" role="3fr31v">
11156+
<node concept="2OqwBi" id="6rS$_kMQ2_T" role="2Oq$k0">
11157+
<node concept="2OqwBi" id="6rS$_kMQ2_U" role="2Oq$k0">
11158+
<node concept="1YBJjd" id="6rS$_kMQ2_V" role="2Oq$k0">
11159+
<ref role="1YBMHb" node="6rS$_kMPZL5" resolve="bangOp" />
11160+
</node>
11161+
<node concept="3TrEf2" id="6rS$_kMQ2_W" role="2OqNvi">
11162+
<ref role="3Tt5mk" to="hm2y:3G_qVqIw4zp" resolve="expr" />
11163+
</node>
11164+
</node>
11165+
<node concept="3JvlWi" id="6rS$_kMQ2_X" role="2OqNvi" />
11166+
</node>
11167+
<node concept="1mIQ4w" id="6rS$_kMQ2_Y" role="2OqNvi">
11168+
<node concept="chp4Y" id="6rS$_kMQ2_Z" role="cj9EA">
11169+
<ref role="cht4Q" to="hm2y:2rOWEwsEjcg" resolve="OptionType" />
11170+
</node>
11171+
</node>
11172+
</node>
11173+
</node>
11174+
<node concept="3clFbS" id="6rS$_kMQ0WW" role="3clFbx">
11175+
<node concept="a7r0C" id="6rS$_kMQ2Ju" role="3cqZAp">
11176+
<node concept="Xl_RD" id="6rS$_kMQ2JB" role="a7wSD">
11177+
<property role="Xl_RC" value="Bang operator applied for an expression of a non-option type" />
11178+
</node>
11179+
<node concept="1YBJjd" id="6rS$_kMQ2UR" role="1urrMF">
11180+
<ref role="1YBMHb" node="6rS$_kMPZL5" resolve="bangOp" />
11181+
</node>
11182+
</node>
11183+
</node>
11184+
</node>
11185+
</node>
11186+
<node concept="1YaCAy" id="6rS$_kMPZL5" role="1YuTPh">
11187+
<property role="TrG5h" value="bangOp" />
11188+
<ref role="1YaFvo" to="hm2y:24Fec4173Us" resolve="BangOp" />
11189+
</node>
11190+
</node>
1114711191
</model>
1114811192

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.util/models/intentions.mps

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<use id="b92f861d-0184-446d-b88b-6dcf0e070241" name="com.mbeddr.mpsutil.intentions" version="0" />
77
<use id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage" version="12" />
88
<use id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel" version="19" />
9-
<use id="f47b95d4-5e73-4c04-9204-18076950153b" name="com.mbeddr.mpsutil.compare" version="0" />
9+
<use id="f47b95d4-5e73-4c04-9204-18076950153b" name="de.itemis.mps.compare" version="0" />
1010
<use id="7a5dda62-9140-4668-ab76-d5ed1746f2b2" name="jetbrains.mps.lang.typesystem" version="5" />
1111
<devkit ref="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
1212
</languages>
@@ -222,8 +222,8 @@
222222
<child id="8182547171709752112" name="expression" index="36biLW" />
223223
</concept>
224224
</language>
225-
<language id="f47b95d4-5e73-4c04-9204-18076950153b" name="com.mbeddr.mpsutil.compare">
226-
<concept id="1831260205537497726" name="com.mbeddr.mpsutil.compare.structure.AreEqualExpression" flags="ng" index="13dIca" />
225+
<language id="f47b95d4-5e73-4c04-9204-18076950153b" name="de.itemis.mps.compare">
226+
<concept id="1831260205537497726" name="de.itemis.mps.compare.structure.AreEqualExpression" flags="ng" index="13dIca" />
227227
</language>
228228
<language id="7a5dda62-9140-4668-ab76-d5ed1746f2b2" name="jetbrains.mps.lang.typesystem">
229229
<concept id="1176544042499" name="jetbrains.mps.lang.typesystem.structure.Node_TypeOperation" flags="nn" index="3JvlWi" />

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.util/org.iets3.core.expr.util.mpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@
3535
</dependencies>
3636
<languageVersions>
3737
<language slang="l:63e0e566-5131-447e-90e3-12ea330e1a00:com.mbeddr.mpsutil.blutil" version="3" />
38-
<language slang="l:f47b95d4-5e73-4c04-9204-18076950153b:com.mbeddr.mpsutil.compare" version="0" />
3938
<language slang="l:120e1c9d-4e27-4478-b2af-b2c3bd3850b0:com.mbeddr.mpsutil.editor.querylist" version="0" />
4039
<language slang="l:b33d119e-196d-4497-977c-5c167b21fe33:com.mbeddr.mpsutil.framecell" version="0" />
4140
<language slang="l:9d69e719-78c8-4286-90db-fb19c107d049:com.mbeddr.mpsutil.grammarcells" version="2" />
4241
<language slang="l:b4f35ed8-45af-4efa-abe4-00ac26956e69:com.mbeddr.mpsutil.grammarcells.runtimelang" version="0" />
4342
<language slang="l:b92f861d-0184-446d-b88b-6dcf0e070241:com.mbeddr.mpsutil.intentions" version="0" />
4443
<language slang="l:c73b17af-16a1-4490-8072-8a84937c5206:com.mbeddr.mpsutil.treenotation" version="0" />
44+
<language slang="l:f47b95d4-5e73-4c04-9204-18076950153b:de.itemis.mps.compare" version="0" />
4545
<language slang="l:1919c723-b60b-4592-9318-9ce96d91da44:de.itemis.mps.editor.celllayout" version="0" />
4646
<language slang="l:52733268-be24-4f5f-ab84-a73b7c0c03b0:de.slisson.mps.richtext.customcell" version="0" />
4747
<language slang="l:7e450f4e-1ac3-41ef-a851-4598161bdb94:de.slisson.mps.tables" version="0" />

code/languages/org.iets3.opensource/tests/test.iets3.core.mapping/models/test/iets3/core/mapping/[email protected]

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<use id="8585453e-6bfb-4d80-98de-b16074f1d86c" name="jetbrains.mps.lang.test" version="6" />
66
<use id="f61473f9-130f-42f6-b98d-6c438812c2f6" name="jetbrains.mps.baseLanguage.unitTest" version="1" />
77
<use id="8c1ef69a-bcac-4cb5-9619-6b27d0aefc0c" name="org.iets3.core.mapping" version="2" />
8-
<use id="f47b95d4-5e73-4c04-9204-18076950153b" name="com.mbeddr.mpsutil.compare" version="0" />
8+
<use id="f47b95d4-5e73-4c04-9204-18076950153b" name="de.itemis.mps.compare" version="0" />
99
<use id="de1ad86d-6e50-4a02-b306-d4d17f64c375" name="jetbrains.mps.console.base" version="0" />
1010
<use id="25797606-3fb6-47b8-bc3c-b4384df7da44" name="org.iets3.components.functional" version="2" />
1111
<use id="c35abfa8-0db0-4d42-bb3f-f46112aeb888" name="org.iets3.components.hardware" version="4" />
@@ -235,8 +235,8 @@
235235
<reference id="2244552513302471359" name="instance" index="1Wfe8x" />
236236
</concept>
237237
</language>
238-
<language id="f47b95d4-5e73-4c04-9204-18076950153b" name="com.mbeddr.mpsutil.compare">
239-
<concept id="756135271275943220" name="com.mbeddr.mpsutil.compare.structure.AssertNodeEquals" flags="ng" index="3GXo0L" />
238+
<language id="f47b95d4-5e73-4c04-9204-18076950153b" name="de.itemis.mps.compare">
239+
<concept id="756135271275943220" name="de.itemis.mps.compare.structure.AssertNodeEquals" flags="ng" index="3GXo0L" />
240240
</language>
241241
<language id="446c26eb-2b7b-4bf0-9b35-f83fa582753e" name="jetbrains.mps.lang.modelapi">
242242
<concept id="361130699826193248" name="jetbrains.mps.lang.modelapi.structure.ModelPointer" flags="ng" index="1dCxOl">

code/languages/org.iets3.opensource/tests/test.iets3.core.mapping/test.iets3.core.mapping.msd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717
<languageVersions>
1818
<language slang="l:d4280a54-f6df-4383-aa41-d1b2bffa7eb1:com.mbeddr.core.base" version="6" />
1919
<language slang="l:63e0e566-5131-447e-90e3-12ea330e1a00:com.mbeddr.mpsutil.blutil" version="3" />
20-
<language slang="l:f47b95d4-5e73-4c04-9204-18076950153b:com.mbeddr.mpsutil.compare" version="0" />
2120
<language slang="l:d3a0fd26-445a-466c-900e-10444ddfed52:com.mbeddr.mpsutil.filepicker" version="0" />
2221
<language slang="l:47f075a6-558e-4640-a606-7ce0236c8023:com.mbeddr.mpsutil.interpreter" version="1" />
2322
<language slang="l:d09a16fb-1d68-4a92-a5a4-20b4b2f86a62:com.mbeddr.mpsutil.jung" version="0" />
2423
<language slang="l:b4d28e19-7d2d-47e9-943e-3a41f97a0e52:com.mbeddr.mpsutil.plantuml.node" version="0" />
2524
<language slang="l:3819ba36-98f4-49ac-b779-34f3a458c09b:com.mbeddr.mpsutil.varscope" version="0" />
25+
<language slang="l:f47b95d4-5e73-4c04-9204-18076950153b:de.itemis.mps.compare" version="0" />
2626
<language slang="l:8ca79d43-eb45-4791-bdd4-0d6130ff895b:de.itemis.mps.editor.diagram.layout" version="0" />
2727
<language slang="l:92d2ea16-5a42-4fdf-a676-c7604efe3504:de.slisson.mps.richtext" version="0" />
2828
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="12" />

code/languages/org.iets3.opensource/tests/test.iets3.core.tracequery/models/test/iets3/core/tracequery/[email protected]

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<use id="f61473f9-130f-42f6-b98d-6c438812c2f6" name="jetbrains.mps.baseLanguage.unitTest" version="1" />
77
<use id="d4280a54-f6df-4383-aa41-d1b2bffa7eb1" name="com.mbeddr.core.base" version="6" />
88
<use id="be5191a9-3476-47ca-b2a7-a426623add55" name="org.iets3.core.assessment" version="-1" />
9-
<use id="f47b95d4-5e73-4c04-9204-18076950153b" name="com.mbeddr.mpsutil.compare" version="-1" />
9+
<use id="f47b95d4-5e73-4c04-9204-18076950153b" name="de.itemis.mps.compare" version="-1" />
1010
<use id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel" version="19" />
1111
<use id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage" version="12" />
1212
<use id="9eff3336-14d7-46c5-afe1-dcbad13c14c3" name="test.org.iets3.core.trace" version="0" />
@@ -175,8 +175,8 @@
175175
<child id="1205770614681" name="actualArgument" index="2XxRq1" />
176176
</concept>
177177
</language>
178-
<language id="f47b95d4-5e73-4c04-9204-18076950153b" name="com.mbeddr.mpsutil.compare">
179-
<concept id="756135271275943220" name="com.mbeddr.mpsutil.compare.structure.AssertNodeEquals" flags="ng" index="3GXo0L" />
178+
<language id="f47b95d4-5e73-4c04-9204-18076950153b" name="de.itemis.mps.compare">
179+
<concept id="756135271275943220" name="de.itemis.mps.compare.structure.AssertNodeEquals" flags="ng" index="3GXo0L" />
180180
</language>
181181
<language id="f61473f9-130f-42f6-b98d-6c438812c2f6" name="jetbrains.mps.baseLanguage.unitTest">
182182
<concept id="8427750732757990717" name="jetbrains.mps.baseLanguage.unitTest.structure.BinaryAssert" flags="nn" index="3tpDYu">

code/languages/org.iets3.opensource/tests/test.iets3.core.tracequery/test.iets3.core.tracequery.msd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@
2121
<languageVersions>
2222
<language slang="l:d4280a54-f6df-4383-aa41-d1b2bffa7eb1:com.mbeddr.core.base" version="6" />
2323
<language slang="l:63e0e566-5131-447e-90e3-12ea330e1a00:com.mbeddr.mpsutil.blutil" version="3" />
24-
<language slang="l:f47b95d4-5e73-4c04-9204-18076950153b:com.mbeddr.mpsutil.compare" version="0" />
2524
<language slang="l:d3a0fd26-445a-466c-900e-10444ddfed52:com.mbeddr.mpsutil.filepicker" version="0" />
2625
<language slang="l:47f075a6-558e-4640-a606-7ce0236c8023:com.mbeddr.mpsutil.interpreter" version="1" />
2726
<language slang="l:d09a16fb-1d68-4a92-a5a4-20b4b2f86a62:com.mbeddr.mpsutil.jung" version="0" />
2827
<language slang="l:b4d28e19-7d2d-47e9-943e-3a41f97a0e52:com.mbeddr.mpsutil.plantuml.node" version="0" />
2928
<language slang="l:3819ba36-98f4-49ac-b779-34f3a458c09b:com.mbeddr.mpsutil.varscope" version="0" />
29+
<language slang="l:f47b95d4-5e73-4c04-9204-18076950153b:de.itemis.mps.compare" version="0" />
3030
<language slang="l:92d2ea16-5a42-4fdf-a676-c7604efe3504:de.slisson.mps.richtext" version="0" />
3131
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="12" />
3232
<language slang="l:443f4c36-fcf5-4eb6-9500-8d06ed259e3e:jetbrains.mps.baseLanguage.classifiers" version="0" />

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<use id="7ee265bd-5986-4709-86ed-2c6daa33cd8c" name="org.iets3.core.expr.typetags.physunits" version="1" />
1313
<use id="3a13115c-633c-4c5c-bbcc-75c4219e9555" name="jetbrains.mps.lang.quotation" version="5" />
1414
<use id="5fe6cb13-2fbd-4e21-9842-785bdd6fc5b1" name="org.iets3.core.expr.adt" version="8" />
15-
<use id="f47b95d4-5e73-4c04-9204-18076950153b" name="com.mbeddr.mpsutil.compare" version="0" />
15+
<use id="f47b95d4-5e73-4c04-9204-18076950153b" name="de.itemis.mps.compare" version="0" />
1616
<use id="7a5dda62-9140-4668-ab76-d5ed1746f2b2" name="jetbrains.mps.lang.typesystem" version="5" />
1717
<use id="d441fba0-f46b-43cd-b723-dad7b65da615" name="org.iets3.core.expr.tests" version="6" />
1818
<use id="f2801650-65d5-424e-bb1b-463a8781b786" name="jetbrains.mps.baseLanguage.javadoc" version="2" />
@@ -593,8 +593,8 @@
593593
</concept>
594594
<concept id="5633249801129517229" name="org.iets3.core.expr.math.structure.SineExpression" flags="ng" index="11s39O" />
595595
</language>
596-
<language id="f47b95d4-5e73-4c04-9204-18076950153b" name="com.mbeddr.mpsutil.compare">
597-
<concept id="756135271275943220" name="com.mbeddr.mpsutil.compare.structure.AssertNodeEquals" flags="ng" index="3GXo0L" />
596+
<language id="f47b95d4-5e73-4c04-9204-18076950153b" name="de.itemis.mps.compare">
597+
<concept id="756135271275943220" name="de.itemis.mps.compare.structure.AssertNodeEquals" flags="ng" index="3GXo0L" />
598598
</language>
599599
<language id="446c26eb-2b7b-4bf0-9b35-f83fa582753e" name="jetbrains.mps.lang.modelapi">
600600
<concept id="4733039728785194814" name="jetbrains.mps.lang.modelapi.structure.NamedNodeReference" flags="ng" index="ZC_QK">

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

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<use id="daafa647-f1f7-4b0b-b096-69cd7c8408c0" name="jetbrains.mps.baseLanguage.regexp" version="0" />
2020
<use id="63e0e566-5131-447e-90e3-12ea330e1a00" name="com.mbeddr.mpsutil.blutil" version="3" />
2121
<use id="b80fab4e-53f2-409c-81d8-3475855e0e42" name="test.ts.expr.os.nix" version="0" />
22-
<use id="f47b95d4-5e73-4c04-9204-18076950153b" name="com.mbeddr.mpsutil.compare" version="0" />
22+
<use id="f47b95d4-5e73-4c04-9204-18076950153b" name="de.itemis.mps.compare" version="0" />
2323
<devkit ref="c4e521ab-b605-4ef9-a7c3-68075da058f0(org.iets3.core.expr.core.devkit)" />
2424
</languages>
2525
<imports>
@@ -672,8 +672,8 @@
672672
<child id="8182547171709752112" name="expression" index="36biLW" />
673673
</concept>
674674
</language>
675-
<language id="f47b95d4-5e73-4c04-9204-18076950153b" name="com.mbeddr.mpsutil.compare">
676-
<concept id="756135271275943220" name="com.mbeddr.mpsutil.compare.structure.AssertNodeEquals" flags="ng" index="3GXo0L" />
675+
<language id="f47b95d4-5e73-4c04-9204-18076950153b" name="de.itemis.mps.compare">
676+
<concept id="756135271275943220" name="de.itemis.mps.compare.structure.AssertNodeEquals" flags="ng" index="3GXo0L" />
677677
</language>
678678
<language id="fbba5118-5fc6-49ff-9c3b-0b4469830440" name="org.iets3.core.expr.mutable">
679679
<concept id="4255172619715417408" name="org.iets3.core.expr.mutable.structure.UpdateItExpression" flags="ng" index="3j5BQN" />
@@ -18704,9 +18704,7 @@
1870418704
<node concept="_iOnV" id="3N4k0eSJKEP" role="1qenE9">
1870518705
<property role="TrG5h" value="options" />
1870618706
<node concept="7CXmI" id="3N4k0eSJKJc" role="lGtFl">
18707-
<node concept="7OXhh" id="3N4k0eSJKJd" role="7EUXB">
18708-
<property role="G7GLP" value="true" />
18709-
</node>
18707+
<node concept="7OXhh" id="3N4k0eSJKJd" role="7EUXB" />
1871018708
</node>
1871118709
<node concept="2zPypq" id="3N4k0eSJPou" role="_iOnC">
1871218710
<property role="TrG5h" value="x" />
@@ -18870,6 +18868,23 @@
1887018868
</node>
1887118869
</node>
1887218870
</node>
18871+
<node concept="2zPypq" id="6rS$_kMYE5Q" role="_iOnC">
18872+
<property role="TrG5h" value="xDeOptedTwice" />
18873+
<node concept="wdKpt" id="6rS$_kMYGUP" role="2lDidJ">
18874+
<node concept="wdKpt" id="6rS$_kMYH78" role="2lDidJ">
18875+
<node concept="_emDc" id="6rS$_kMYGUt" role="2lDidJ">
18876+
<ref role="_emDf" node="3N4k0eSJPou" resolve="x" />
18877+
</node>
18878+
</node>
18879+
<node concept="7CXmI" id="4OZmL8HJRId" role="lGtFl">
18880+
<node concept="29bkU" id="4OZmL8HJS8e" role="7EUXB">
18881+
<node concept="2PQEqo" id="4OZmL8HJS8f" role="3lydCh">
18882+
<ref role="39XzEq" to="t4jv:6rS$_kMQ2Ju" />
18883+
</node>
18884+
</node>
18885+
</node>
18886+
</node>
18887+
</node>
1887318888
<node concept="_ixoA" id="24Fec41awem" role="_iOnC" />
1887418889
<node concept="_ixoA" id="3N4k0eSJWQ3" role="_iOnC" />
1887518890
</node>

0 commit comments

Comments
 (0)