Skip to content

Commit 39f18a7

Browse files
Merge pull request #561 from IETS3/bugfix/stringLiteral#545
2 parents 948a73c + 8b63442 commit 39f18a7

File tree

2 files changed

+198
-14
lines changed

2 files changed

+198
-14
lines changed

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

Lines changed: 164 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<model ref="r:e3651d26-951a-4ffc-9443-e8b8de452a77(org.iets3.core.expr.simpleTypes.constraints)">
33
<persistence version="9" />
44
<languages>
5+
<use id="3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1" name="jetbrains.mps.lang.constraints" version="6" />
56
<devkit ref="00000000-0000-4000-0000-5604ebd4f22c(jetbrains.mps.devkit.aspect.constraints)" />
67
</languages>
78
<imports>
@@ -27,6 +28,12 @@
2728
<concept id="8118189177080264853" name="jetbrains.mps.baseLanguage.structure.AlternativeType" flags="ig" index="nSUau">
2829
<child id="8118189177080264854" name="alternative" index="nSUat" />
2930
</concept>
31+
<concept id="1239714755177" name="jetbrains.mps.baseLanguage.structure.AbstractUnaryNumberOperation" flags="nn" index="2$Kvd9">
32+
<child id="1239714902950" name="expression" index="2$L3a6" />
33+
</concept>
34+
<concept id="1154032098014" name="jetbrains.mps.baseLanguage.structure.AbstractLoopStatement" flags="nn" index="2LF5Ji">
35+
<child id="1154032183016" name="body" index="2LFqv$" />
36+
</concept>
3037
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
3138
<child id="1197027771414" name="operand" index="2Oq$k0" />
3239
<child id="1197027833540" name="operation" index="2OqNvi" />
@@ -45,6 +52,8 @@
4552
<reference id="1144433057691" name="classifier" index="1PxDUh" />
4653
</concept>
4754
<concept id="1070534370425" name="jetbrains.mps.baseLanguage.structure.IntegerType" flags="in" index="10Oyi0" />
55+
<concept id="1070534555686" name="jetbrains.mps.baseLanguage.structure.CharType" flags="in" index="10Pfzv" />
56+
<concept id="1070534644030" name="jetbrains.mps.baseLanguage.structure.BooleanType" flags="in" index="10P_77" />
4857
<concept id="1068431474542" name="jetbrains.mps.baseLanguage.structure.VariableDeclaration" flags="ng" index="33uBYm">
4958
<property id="1176718929932" name="isFinal" index="3TUv4t" />
5059
<child id="1068431790190" name="initializer" index="33vP2m" />
@@ -64,6 +73,7 @@
6473
<child id="1082485599094" name="ifFalseStatement" index="9aQIa" />
6574
<child id="1068580123160" name="condition" index="3clFbw" />
6675
<child id="1068580123161" name="ifTrue" index="3clFbx" />
76+
<child id="1206060520071" name="elsifClauses" index="3eNLev" />
6777
</concept>
6878
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
6979
<child id="1068581517665" name="statement" index="3cqZAp" />
@@ -81,6 +91,14 @@
8191
<child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
8292
</concept>
8393
<concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
94+
<concept id="1206060495898" name="jetbrains.mps.baseLanguage.structure.ElsifClause" flags="ng" index="3eNFk2">
95+
<child id="1206060619838" name="condition" index="3eO9$A" />
96+
<child id="1206060644605" name="statementList" index="3eOfB_" />
97+
</concept>
98+
<concept id="1081506773034" name="jetbrains.mps.baseLanguage.structure.LessThanExpression" flags="nn" index="3eOVzh" />
99+
<concept id="1081516740877" name="jetbrains.mps.baseLanguage.structure.NotExpression" flags="nn" index="3fqX7Q">
100+
<child id="1081516765348" name="expression" index="3fr31v" />
101+
</concept>
84102
<concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ng" index="1ndlxa">
85103
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
86104
<child id="1068499141038" name="actualArgument" index="37wK5m" />
@@ -92,10 +110,18 @@
92110
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
93111
<child id="1081773367580" name="leftExpression" index="3uHU7B" />
94112
</concept>
113+
<concept id="1214918800624" name="jetbrains.mps.baseLanguage.structure.PostfixIncrementExpression" flags="nn" index="3uNrnE" />
95114
<concept id="3093926081414150598" name="jetbrains.mps.baseLanguage.structure.MultipleCatchClause" flags="ng" index="3uVAMA">
96115
<child id="8276990574895933173" name="catchBody" index="1zc67A" />
97116
<child id="8276990574895933172" name="throwable" index="1zc67B" />
98117
</concept>
118+
<concept id="1144230876926" name="jetbrains.mps.baseLanguage.structure.AbstractForStatement" flags="nn" index="1DupvO">
119+
<child id="1144230900587" name="variable" index="1Duv9x" />
120+
</concept>
121+
<concept id="1144231330558" name="jetbrains.mps.baseLanguage.structure.ForStatement" flags="nn" index="1Dw8fO">
122+
<child id="1144231399730" name="condition" index="1Dwp0S" />
123+
<child id="1144231408325" name="iteration" index="1Dwrff" />
124+
</concept>
99125
<concept id="5351203823916750322" name="jetbrains.mps.baseLanguage.structure.TryUniversalStatement" flags="nn" index="3J1_TO">
100126
<child id="8276990574886367510" name="catchClause" index="1zxBo5" />
101127
<child id="8276990574886367508" name="body" index="1zxBo7" />
@@ -214,16 +240,147 @@
214240
<ref role="EomxK" to="5qo5:4rZeNQ6OYRb" resolve="value" />
215241
<node concept="QB0g5" id="4rZeNQ6PjRv" role="QCWH9">
216242
<node concept="3clFbS" id="4rZeNQ6PjRw" role="2VODD2">
217-
<node concept="3clFbF" id="4fD91B__35L" role="3cqZAp">
218-
<node concept="2OqwBi" id="4fD91B__1ih" role="3clFbG">
219-
<node concept="1Wqviy" id="4fD91B__03P" role="2Oq$k0" />
220-
<node concept="liA8E" id="4fD91B__22w" role="2OqNvi">
221-
<ref role="37wK5l" to="wyt6:~String.matches(java.lang.String)" resolve="matches" />
222-
<node concept="Xl_RD" id="4fD91B__95R" role="37wK5m">
223-
<property role="Xl_RC" value="(\\\\.|[^\\\\\&quot;])*" />
243+
<node concept="3clFbJ" id="3VHXNElXe15" role="3cqZAp">
244+
<node concept="3clFbS" id="3VHXNElXe17" role="3clFbx">
245+
<node concept="3cpWs6" id="3VHXNElXgJv" role="3cqZAp">
246+
<node concept="3clFbT" id="3VHXNElXlZ8" role="3cqZAk">
247+
<property role="3clFbU" value="true" />
224248
</node>
225249
</node>
226250
</node>
251+
<node concept="3clFbC" id="3VHXNElXfPN" role="3clFbw">
252+
<node concept="3cmrfG" id="3VHXNElXgEV" role="3uHU7w">
253+
<property role="3cmrfH" value="0" />
254+
</node>
255+
<node concept="2OqwBi" id="3VHXNElXeEQ" role="3uHU7B">
256+
<node concept="1Wqviy" id="3VHXNElXe7s" role="2Oq$k0" />
257+
<node concept="liA8E" id="3VHXNElXeXz" role="2OqNvi">
258+
<ref role="37wK5l" to="wyt6:~String.length()" resolve="length" />
259+
</node>
260+
</node>
261+
</node>
262+
</node>
263+
<node concept="3cpWs8" id="1pqGdr9hXPJ" role="3cqZAp">
264+
<node concept="3cpWsn" id="1pqGdr9hXPM" role="3cpWs9">
265+
<property role="TrG5h" value="isEscapeMode" />
266+
<node concept="10P_77" id="1pqGdr9hXPH" role="1tU5fm" />
267+
<node concept="3clFbT" id="1pqGdr9hY52" role="33vP2m" />
268+
</node>
269+
</node>
270+
<node concept="1Dw8fO" id="1pqGdr9hTYM" role="3cqZAp">
271+
<node concept="3clFbS" id="1pqGdr9hTYO" role="2LFqv$">
272+
<node concept="3cpWs8" id="1pqGdr9hYNd" role="3cqZAp">
273+
<node concept="3cpWsn" id="1pqGdr9hYNg" role="3cpWs9">
274+
<property role="TrG5h" value="currentChar" />
275+
<node concept="10Pfzv" id="1pqGdr9hYNc" role="1tU5fm" />
276+
<node concept="2OqwBi" id="1pqGdr9i0iA" role="33vP2m">
277+
<node concept="1Wqviy" id="1pqGdr9hZJq" role="2Oq$k0" />
278+
<node concept="liA8E" id="1pqGdr9i0AB" role="2OqNvi">
279+
<ref role="37wK5l" to="wyt6:~String.charAt(int)" resolve="charAt" />
280+
<node concept="37vLTw" id="1pqGdr9i0Gs" role="37wK5m">
281+
<ref role="3cqZAo" node="1pqGdr9hTYP" resolve="i" />
282+
</node>
283+
</node>
284+
</node>
285+
</node>
286+
</node>
287+
<node concept="3clFbJ" id="1pqGdr9i0S8" role="3cqZAp">
288+
<node concept="3clFbS" id="1pqGdr9i0Sa" role="3clFbx">
289+
<node concept="3clFbF" id="1pqGdr9i45I" role="3cqZAp">
290+
<node concept="37vLTI" id="1pqGdr9i4tU" role="3clFbG">
291+
<node concept="3fqX7Q" id="1pqGdr9i4KG" role="37vLTx">
292+
<node concept="37vLTw" id="1pqGdr9i4UM" role="3fr31v">
293+
<ref role="3cqZAo" node="1pqGdr9hXPM" resolve="isEscapeMode" />
294+
</node>
295+
</node>
296+
<node concept="37vLTw" id="1pqGdr9i45G" role="37vLTJ">
297+
<ref role="3cqZAo" node="1pqGdr9hXPM" resolve="isEscapeMode" />
298+
</node>
299+
</node>
300+
</node>
301+
</node>
302+
<node concept="3clFbC" id="1pqGdr9i21_" role="3clFbw">
303+
<node concept="1Xhbcc" id="1pqGdr9i27$" role="3uHU7w">
304+
<property role="1XhdNS" value="\\" />
305+
</node>
306+
<node concept="37vLTw" id="1pqGdr9i0Y6" role="3uHU7B">
307+
<ref role="3cqZAo" node="1pqGdr9hYNg" resolve="currentChar" />
308+
</node>
309+
</node>
310+
<node concept="3eNFk2" id="1pqGdr9i51j" role="3eNLev">
311+
<node concept="1Wc70l" id="1pqGdr9i7Ra" role="3eO9$A">
312+
<node concept="3fqX7Q" id="1pqGdr9i7Uk" role="3uHU7w">
313+
<node concept="37vLTw" id="1pqGdr9i7Xs" role="3fr31v">
314+
<ref role="3cqZAo" node="1pqGdr9hXPM" resolve="isEscapeMode" />
315+
</node>
316+
</node>
317+
<node concept="3clFbC" id="1pqGdr9i6lV" role="3uHU7B">
318+
<node concept="37vLTw" id="1pqGdr9i57E" role="3uHU7B">
319+
<ref role="3cqZAo" node="1pqGdr9hYNg" resolve="currentChar" />
320+
</node>
321+
<node concept="1Xhbcc" id="1pqGdr9i7FA" role="3uHU7w">
322+
<property role="1XhdNS" value="&quot;" />
323+
</node>
324+
</node>
325+
</node>
326+
<node concept="3clFbS" id="1pqGdr9i51l" role="3eOfB_">
327+
<node concept="3cpWs6" id="1pqGdr9i80y" role="3cqZAp">
328+
<node concept="3clFbT" id="1pqGdr9i80E" role="3cqZAk" />
329+
</node>
330+
</node>
331+
</node>
332+
<node concept="9aQIb" id="1pqGdr9i83W" role="9aQIa">
333+
<node concept="3clFbS" id="1pqGdr9i83X" role="9aQI4">
334+
<node concept="3clFbF" id="1pqGdr9i8Qj" role="3cqZAp">
335+
<node concept="37vLTI" id="1pqGdr9i9bx" role="3clFbG">
336+
<node concept="3clFbT" id="1pqGdr9i9n7" role="37vLTx" />
337+
<node concept="37vLTw" id="1pqGdr9i8Qi" role="37vLTJ">
338+
<ref role="3cqZAo" node="1pqGdr9hXPM" resolve="isEscapeMode" />
339+
</node>
340+
</node>
341+
</node>
342+
</node>
343+
</node>
344+
</node>
345+
</node>
346+
<node concept="3cpWsn" id="1pqGdr9hTYP" role="1Duv9x">
347+
<property role="TrG5h" value="i" />
348+
<node concept="10Oyi0" id="1pqGdr9hTZP" role="1tU5fm" />
349+
<node concept="3cmrfG" id="1pqGdr9hTZY" role="33vP2m">
350+
<property role="3cmrfH" value="0" />
351+
</node>
352+
</node>
353+
<node concept="3eOVzh" id="1pqGdr9hV6w" role="1Dwp0S">
354+
<node concept="2OqwBi" id="1pqGdr9hVFm" role="3uHU7w">
355+
<node concept="1Wqviy" id="1pqGdr9hVd1" role="2Oq$k0" />
356+
<node concept="liA8E" id="1pqGdr9hW1D" role="2OqNvi">
357+
<ref role="37wK5l" to="wyt6:~String.length()" resolve="length" />
358+
</node>
359+
</node>
360+
<node concept="37vLTw" id="1pqGdr9hU53" role="3uHU7B">
361+
<ref role="3cqZAo" node="1pqGdr9hTYP" resolve="i" />
362+
</node>
363+
</node>
364+
<node concept="3uNrnE" id="1pqGdr9hXHJ" role="1Dwrff">
365+
<node concept="37vLTw" id="1pqGdr9hXHL" role="2$L3a6">
366+
<ref role="3cqZAo" node="1pqGdr9hTYP" resolve="i" />
367+
</node>
368+
</node>
369+
</node>
370+
<node concept="3clFbJ" id="1pqGdr9i9zD" role="3cqZAp">
371+
<node concept="3clFbS" id="1pqGdr9i9zF" role="3clFbx">
372+
<node concept="3cpWs6" id="1pqGdr9iaD2" role="3cqZAp">
373+
<node concept="3clFbT" id="1pqGdr9iaDb" role="3cqZAk" />
374+
</node>
375+
</node>
376+
<node concept="37vLTw" id="1pqGdr9i9Dn" role="3clFbw">
377+
<ref role="3cqZAo" node="1pqGdr9hXPM" resolve="isEscapeMode" />
378+
</node>
379+
</node>
380+
<node concept="3cpWs6" id="3VHXNElX8XK" role="3cqZAp">
381+
<node concept="3clFbT" id="3VHXNElX9CP" role="3cqZAk">
382+
<property role="3clFbU" value="true" />
383+
</node>
227384
</node>
228385
</node>
229386
</node>

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

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<model ref="r:75f6a9e9-cf21-495f-b1aa-7fd992d0d7d0(test.ts.expr.os.m1@tests)">
33
<persistence version="9" />
4+
<attribute name="doNotGenerate" value="false" />
45
<languages>
56
<use id="8585453e-6bfb-4d80-98de-b16074f1d86c" name="jetbrains.mps.lang.test" version="5" />
67
<use id="7b68d745-a7b8-48b9-bd9c-05c0f8725a35" name="org.iets3.core.base" version="-1" />
@@ -736,7 +737,7 @@
736737
<node concept="2zPypq" id="7k$Bvd3eTmz" role="_iOnC">
737738
<property role="TrG5h" value="a" />
738739
<node concept="30bdrP" id="7k$Bvd3eTm$" role="2zPyp_">
739-
<property role="30bdrQ" value="Hallo" />
740+
<property role="30bdrQ" value="\Hello" />
740741
</node>
741742
<node concept="30bdrU" id="7k$Bvd3eTm_" role="2zM23F" />
742743
</node>
@@ -793,7 +794,33 @@
793794
</node>
794795
<node concept="30bdrU" id="7k$Bvd3eTmV" role="2zM23F" />
795796
</node>
796-
<node concept="_ixoA" id="2xACJhqZdsS" role="_iOnC" />
797+
<node concept="2zPypq" id="3VHXNElXxii" role="_iOnC">
798+
<property role="TrG5h" value="longString" />
799+
<node concept="30bdrP" id="3VHXNElXxjr" role="2zPyp_">
800+
<property role="30bdrQ" value="hUc35RDHAGhOHYDOQVuScoO8bfbpgVqpr1pf9N6HN9wWWOl8aklHfScguYu4mE5jZxh0eM77tAHzvP8AX9ulSBhGvsOx4DNH93Iaf8byu1RBOdTZn6e0N1MVUGT6opO5pXc6EjUSNKYs0vMBy0pHt8SFm3joL4lOtk5J1gFk4zDP7GV8o2wpbg1ftEkYDC8FHyGKNDEjf70Aw4zyiUHefyEONX1ZdYKwgQIYdI5QPN7Rh4a6bFreXqICXR5Ax2rAhEBhuJqdO9RJBDB0ff4twHd3UBusCR15SINboyWZ4QmFKY2fJSA6nxfwhKKCyW9TkOVbz1Sk1uxfEwGvGnJ0cTrVjsnKguULPjHVSEfbnUew3tfRdcz2VHSADlm7YzxtPQGEPgDdkzGptg3jyS3fpljgjtIOTbjnxLF6We5zrQqjv9skiX7918Hs1zOuLoBF5qztTH2N8neCxUvfz7zYxOxVEgfp6LiPyJleOwwnYXCLd2UGaRq6tCqHUKOXydBsTlmELUyPbpyIualvs0zDtu6Krh3gDmIF1CFPSAhBMEulfCFffFsHztUr1wqg9AGmfYaTE4CA7e0n4BCtExSYmxwByiEKog28WYVTFPeOxlj33w2CciaW9c77QoMSHSnKp3LdM4kRjCwmfsoLrZDL0O4hwSMIr5OabR3bCMQDE18FvQCuamWph8FqsF4wmM7UCe5iX80Bea0KcpwPmBujJyuGYtlM5RcP5zdSDaMVAIro72HXYXg6CBljZIpnJMNpHBb6CxEh3JcHZFspcSm7773Z0c4Bb0hQiE66TBAUujbobGHANGcxx42a3hTs5G2zyq26xyzgIPKPc5hjtlPkqhPgqLPxmXCU2OK3FnGHdI2TNUb62wQ4WaAMBZlbnrJbSHS76NQ24jAp76AyB0rpQ5ga19uprwwnAtg9SlOsxTKk8BgekgEZJZrGpTt9nT814EO2YB2OpmK4MwcaoCFk3JBybEQtYceARUCgnWZg\n" />
801+
</node>
802+
<node concept="30bdrU" id="3VHXNElXxjf" role="2zM23F" />
803+
</node>
804+
<node concept="2zPypq" id="3VHXNElXxku" role="_iOnC">
805+
<property role="TrG5h" value="stringWithEscapes" />
806+
<node concept="30bdrP" id="3VHXNElXxln" role="2zPyp_">
807+
<property role="30bdrQ" value="\nHello\nWorld" />
808+
</node>
809+
<node concept="30bdrU" id="3VHXNElXxrl" role="2zM23F" />
810+
</node>
811+
<node concept="2zPypq" id="3VHXNElXxmL" role="_iOnC">
812+
<property role="TrG5h" value="stringQuoteEscape" />
813+
<node concept="30bdrP" id="3VHXNElXxnE" role="2zPyp_">
814+
<property role="30bdrQ" value="Hello \&quot;World\&quot;" />
815+
</node>
816+
<node concept="30bdrU" id="3VHXNElXxqS" role="2zM23F" />
817+
</node>
818+
<node concept="2zPypq" id="3VHXNElXxoX" role="_iOnC">
819+
<property role="TrG5h" value="emptyString" />
820+
<node concept="30bdrP" id="3VHXNElXxpO" role="2zPyp_" />
821+
<node concept="30bdrU" id="3VHXNElXxq_" role="2zM23F" />
822+
</node>
823+
<node concept="_ixoA" id="3VHXNElXxoe" role="_iOnC" />
797824
<node concept="2zPypq" id="2xACJhqZdy9" role="_iOnC">
798825
<property role="TrG5h" value="optString" />
799826
<node concept="UmHTt" id="2xACJhqZdzq" role="2zPyp_" />
@@ -15019,16 +15046,16 @@
1501915046
<node concept="2zPypq" id="KoRsm$uuI4" role="_iOnC">
1502015047
<property role="TrG5h" value="res2" />
1502115048
<node concept="30cPrO" id="KoRsm$uvhv" role="2zPyp_">
15022-
<node concept="3iBYfx" id="KoRsm$uviv" role="30dEs_">
15023-
<node concept="30bXRB" id="KoRsm$uvjl" role="3iBYfI">
15024-
<property role="30bXRw" value="2" />
15025-
</node>
15026-
</node>
1502715049
<node concept="3iBYfx" id="KoRsm$uv4e" role="30dEsF">
1502815050
<node concept="30bXRB" id="KoRsm$uv4o" role="3iBYfI">
1502915051
<property role="30bXRw" value="1" />
1503015052
</node>
1503115053
</node>
15054+
<node concept="3iBYfx" id="KoRsm$uviv" role="30dEs_">
15055+
<node concept="30bXRB" id="KoRsm$uvjl" role="3iBYfI">
15056+
<property role="30bXRw" value="2" />
15057+
</node>
15058+
</node>
1503215059
</node>
1503315060
</node>
1503415061
<node concept="2zPypq" id="KoRsm$uwl5" role="_iOnC">

0 commit comments

Comments
 (0)