Skip to content

Commit 92eb83f

Browse files
author
Alexander Pann
committed
Change StringLiteral constraint to not use regex
1 parent 7d7399a commit 92eb83f

File tree

2 files changed

+180
-14
lines changed

2 files changed

+180
-14
lines changed

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

Lines changed: 146 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>
@@ -26,6 +27,12 @@
2627
<concept id="8118189177080264853" name="jetbrains.mps.baseLanguage.structure.AlternativeType" flags="ig" index="nSUau">
2728
<child id="8118189177080264854" name="alternative" index="nSUat" />
2829
</concept>
30+
<concept id="1239714755177" name="jetbrains.mps.baseLanguage.structure.AbstractUnaryNumberOperation" flags="nn" index="2$Kvd9">
31+
<child id="1239714902950" name="expression" index="2$L3a6" />
32+
</concept>
33+
<concept id="1154032098014" name="jetbrains.mps.baseLanguage.structure.AbstractLoopStatement" flags="nn" index="2LF5Ji">
34+
<child id="1154032183016" name="body" index="2LFqv$" />
35+
</concept>
2936
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
3037
<child id="1197027771414" name="operand" index="2Oq$k0" />
3138
<child id="1197027833540" name="operation" index="2OqNvi" />
@@ -43,6 +50,7 @@
4350
<concept id="1070533707846" name="jetbrains.mps.baseLanguage.structure.StaticFieldReference" flags="nn" index="10M0yZ">
4451
<reference id="1144433057691" name="classifier" index="1PxDUh" />
4552
</concept>
53+
<concept id="1070534370425" name="jetbrains.mps.baseLanguage.structure.IntegerType" flags="in" index="10Oyi0" />
4654
<concept id="1068431474542" name="jetbrains.mps.baseLanguage.structure.VariableDeclaration" flags="ng" index="33uBYm">
4755
<property id="1176718929932" name="isFinal" index="3TUv4t" />
4856
<child id="1068431790190" name="initializer" index="33vP2m" />
@@ -69,13 +77,18 @@
6977
<concept id="1068580123137" name="jetbrains.mps.baseLanguage.structure.BooleanConstant" flags="nn" index="3clFbT">
7078
<property id="1068580123138" name="value" index="3clFbU" />
7179
</concept>
80+
<concept id="1068580320020" name="jetbrains.mps.baseLanguage.structure.IntegerConstant" flags="nn" index="3cmrfG">
81+
<property id="1068580320021" name="value" index="3cmrfH" />
82+
</concept>
7283
<concept id="1068581242878" name="jetbrains.mps.baseLanguage.structure.ReturnStatement" flags="nn" index="3cpWs6">
7384
<child id="1068581517676" name="expression" index="3cqZAk" />
7485
</concept>
7586
<concept id="1068581242864" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" flags="nn" index="3cpWs8">
7687
<child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
7788
</concept>
89+
<concept id="1068581242869" name="jetbrains.mps.baseLanguage.structure.MinusExpression" flags="nn" index="3cpWsd" />
7890
<concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
91+
<concept id="1081506773034" name="jetbrains.mps.baseLanguage.structure.LessThanExpression" flags="nn" index="3eOVzh" />
7992
<concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ng" index="1ndlxa">
8093
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
8194
<child id="1068499141038" name="actualArgument" index="37wK5m" />
@@ -87,10 +100,19 @@
87100
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
88101
<child id="1081773367580" name="leftExpression" index="3uHU7B" />
89102
</concept>
103+
<concept id="1214918800624" name="jetbrains.mps.baseLanguage.structure.PostfixIncrementExpression" flags="nn" index="3uNrnE" />
90104
<concept id="3093926081414150598" name="jetbrains.mps.baseLanguage.structure.MultipleCatchClause" flags="ng" index="3uVAMA">
91105
<child id="8276990574895933173" name="catchBody" index="1zc67A" />
92106
<child id="8276990574895933172" name="throwable" index="1zc67B" />
93107
</concept>
108+
<concept id="1073239437375" name="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" flags="nn" index="3y3z36" />
109+
<concept id="1144230876926" name="jetbrains.mps.baseLanguage.structure.AbstractForStatement" flags="nn" index="1DupvO">
110+
<child id="1144230900587" name="variable" index="1Duv9x" />
111+
</concept>
112+
<concept id="1144231330558" name="jetbrains.mps.baseLanguage.structure.ForStatement" flags="nn" index="1Dw8fO">
113+
<child id="1144231399730" name="condition" index="1Dwp0S" />
114+
<child id="1144231408325" name="iteration" index="1Dwrff" />
115+
</concept>
94116
<concept id="5351203823916750322" name="jetbrains.mps.baseLanguage.structure.TryUniversalStatement" flags="nn" index="3J1_TO">
95117
<child id="8276990574886367510" name="catchClause" index="1zxBo5" />
96118
<child id="8276990574886367508" name="body" index="1zxBo7" />
@@ -209,15 +231,132 @@
209231
<ref role="EomxK" to="5qo5:4rZeNQ6OYRb" resolve="value" />
210232
<node concept="QB0g5" id="4rZeNQ6PjRv" role="QCWH9">
211233
<node concept="3clFbS" id="4rZeNQ6PjRw" role="2VODD2">
212-
<node concept="3clFbF" id="4fD91B__35L" role="3cqZAp">
213-
<node concept="2OqwBi" id="4fD91B__1ih" role="3clFbG">
214-
<node concept="1Wqviy" id="4fD91B__03P" role="2Oq$k0" />
215-
<node concept="liA8E" id="4fD91B__22w" role="2OqNvi">
216-
<ref role="37wK5l" to="wyt6:~String.matches(java.lang.String)" resolve="matches" />
217-
<node concept="Xl_RD" id="4fD91B__95R" role="37wK5m">
218-
<property role="Xl_RC" value="(\\\\.|[^\\\\\&quot;])*" />
234+
<node concept="3clFbJ" id="3VHXNElXe15" role="3cqZAp">
235+
<node concept="3clFbS" id="3VHXNElXe17" role="3clFbx">
236+
<node concept="3cpWs6" id="3VHXNElXgJv" role="3cqZAp">
237+
<node concept="3clFbT" id="3VHXNElXlZ8" role="3cqZAk">
238+
<property role="3clFbU" value="true" />
239+
</node>
240+
</node>
241+
</node>
242+
<node concept="3clFbC" id="3VHXNElXfPN" role="3clFbw">
243+
<node concept="3cmrfG" id="3VHXNElXgEV" role="3uHU7w">
244+
<property role="3cmrfH" value="0" />
245+
</node>
246+
<node concept="2OqwBi" id="3VHXNElXeEQ" role="3uHU7B">
247+
<node concept="1Wqviy" id="3VHXNElXe7s" role="2Oq$k0" />
248+
<node concept="liA8E" id="3VHXNElXeXz" role="2OqNvi">
249+
<ref role="37wK5l" to="wyt6:~String.length()" resolve="length" />
250+
</node>
251+
</node>
252+
</node>
253+
</node>
254+
<node concept="3clFbJ" id="3VHXNElX2F7" role="3cqZAp">
255+
<node concept="3clFbS" id="3VHXNElX2F9" role="3clFbx">
256+
<node concept="3cpWs6" id="3VHXNElX8Nm" role="3cqZAp">
257+
<node concept="3clFbT" id="3VHXNElX8Nv" role="3cqZAk" />
258+
</node>
259+
</node>
260+
<node concept="1Wc70l" id="3VHXNElX5Ty" role="3clFbw">
261+
<node concept="3clFbC" id="3VHXNElX8ec" role="3uHU7w">
262+
<node concept="3cmrfG" id="3VHXNElX8eo" role="3uHU7w">
263+
<property role="3cmrfH" value="1" />
264+
</node>
265+
<node concept="2OqwBi" id="3VHXNElX6wz" role="3uHU7B">
266+
<node concept="1Wqviy" id="3VHXNElX5XB" role="2Oq$k0" />
267+
<node concept="liA8E" id="3VHXNElX7mq" role="2OqNvi">
268+
<ref role="37wK5l" to="wyt6:~String.length()" resolve="length" />
269+
</node>
270+
</node>
271+
</node>
272+
<node concept="3clFbC" id="3VHXNElX5G7" role="3uHU7B">
273+
<node concept="2OqwBi" id="3VHXNElX4mD" role="3uHU7B">
274+
<node concept="1Wqviy" id="3VHXNElX2K0" role="2Oq$k0" />
275+
<node concept="liA8E" id="3VHXNElX4tB" role="2OqNvi">
276+
<ref role="37wK5l" to="wyt6:~String.charAt(int)" resolve="charAt" />
277+
<node concept="3cmrfG" id="3VHXNElX4EV" role="37wK5m">
278+
<property role="3cmrfH" value="0" />
279+
</node>
280+
</node>
281+
</node>
282+
<node concept="1Xhbcc" id="3VHXNElX5Le" role="3uHU7w">
283+
<property role="1XhdNS" value="\\" />
284+
</node>
285+
</node>
286+
</node>
287+
</node>
288+
<node concept="1Dw8fO" id="3VHXNElWUOp" role="3cqZAp">
289+
<node concept="3clFbS" id="3VHXNElWUOr" role="2LFqv$">
290+
<node concept="3clFbJ" id="3VHXNElWWW8" role="3cqZAp">
291+
<node concept="3clFbS" id="3VHXNElWWWa" role="3clFbx">
292+
<node concept="3cpWs6" id="3VHXNElX8RH" role="3cqZAp">
293+
<node concept="3clFbT" id="3VHXNElX8RQ" role="3cqZAk" />
294+
</node>
295+
</node>
296+
<node concept="1Wc70l" id="3VHXNElWZJc" role="3clFbw">
297+
<node concept="3y3z36" id="3VHXNElX2mX" role="3uHU7w">
298+
<node concept="1Xhbcc" id="3VHXNElX2qP" role="3uHU7w">
299+
<property role="1XhdNS" value="\\" />
300+
</node>
301+
<node concept="2OqwBi" id="3VHXNElWZOX" role="3uHU7B">
302+
<node concept="1Wqviy" id="3VHXNElWZMu" role="2Oq$k0" />
303+
<node concept="liA8E" id="3VHXNElX0O6" role="2OqNvi">
304+
<ref role="37wK5l" to="wyt6:~String.charAt(int)" resolve="charAt" />
305+
<node concept="3cpWsd" id="3VHXNElX21F" role="37wK5m">
306+
<node concept="3cmrfG" id="3VHXNElX21J" role="3uHU7w">
307+
<property role="3cmrfH" value="1" />
308+
</node>
309+
<node concept="37vLTw" id="3VHXNElX189" role="3uHU7B">
310+
<ref role="3cqZAo" node="3VHXNElWUOs" resolve="i" />
311+
</node>
312+
</node>
313+
</node>
314+
</node>
315+
</node>
316+
<node concept="3clFbC" id="3VHXNElWZ89" role="3uHU7B">
317+
<node concept="2OqwBi" id="3VHXNElWXEg" role="3uHU7B">
318+
<node concept="1Wqviy" id="3VHXNElWX8x" role="2Oq$k0" />
319+
<node concept="liA8E" id="3VHXNElWXUW" role="2OqNvi">
320+
<ref role="37wK5l" to="wyt6:~String.charAt(int)" resolve="charAt" />
321+
<node concept="37vLTw" id="3VHXNElWY7K" role="37wK5m">
322+
<ref role="3cqZAo" node="3VHXNElWUOs" resolve="i" />
323+
</node>
324+
</node>
325+
</node>
326+
<node concept="1Xhbcc" id="3VHXNElWZDO" role="3uHU7w">
327+
<property role="1XhdNS" value="&quot;" />
328+
</node>
329+
</node>
330+
</node>
331+
</node>
332+
</node>
333+
<node concept="3cpWsn" id="3VHXNElWUOs" role="1Duv9x">
334+
<property role="TrG5h" value="i" />
335+
<node concept="10Oyi0" id="3VHXNElWUQk" role="1tU5fm" />
336+
<node concept="3cmrfG" id="3VHXNElWUTi" role="33vP2m">
337+
<property role="3cmrfH" value="1" />
338+
</node>
339+
</node>
340+
<node concept="3eOVzh" id="3VHXNElWVOO" role="1Dwp0S">
341+
<node concept="2OqwBi" id="3VHXNElWWq4" role="3uHU7w">
342+
<node concept="1Wqviy" id="3VHXNElWVRY" role="2Oq$k0" />
343+
<node concept="liA8E" id="3VHXNElWWFC" role="2OqNvi">
344+
<ref role="37wK5l" to="wyt6:~String.length()" resolve="length" />
219345
</node>
220346
</node>
347+
<node concept="37vLTw" id="3VHXNElWUUY" role="3uHU7B">
348+
<ref role="3cqZAo" node="3VHXNElWUOs" resolve="i" />
349+
</node>
350+
</node>
351+
<node concept="3uNrnE" id="3VHXNElWWQh" role="1Dwrff">
352+
<node concept="37vLTw" id="3VHXNElWWQj" role="2$L3a6">
353+
<ref role="3cqZAo" node="3VHXNElWUOs" resolve="i" />
354+
</node>
355+
</node>
356+
</node>
357+
<node concept="3cpWs6" id="3VHXNElX8XK" role="3cqZAp">
358+
<node concept="3clFbT" id="3VHXNElX9CP" role="3cqZAk">
359+
<property role="3clFbU" value="true" />
221360
</node>
222361
</node>
223362
</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" />
@@ -728,7 +729,7 @@
728729
<node concept="2zPypq" id="7k$Bvd3eTmz" role="_iOnC">
729730
<property role="TrG5h" value="a" />
730731
<node concept="30bdrP" id="7k$Bvd3eTm$" role="2zPyp_">
731-
<property role="30bdrQ" value="Hallo" />
732+
<property role="30bdrQ" value="\Hello" />
732733
</node>
733734
<node concept="30bdrU" id="7k$Bvd3eTm_" role="2zM23F" />
734735
</node>
@@ -785,7 +786,33 @@
785786
</node>
786787
<node concept="30bdrU" id="7k$Bvd3eTmV" role="2zM23F" />
787788
</node>
788-
<node concept="_ixoA" id="2xACJhqZdsS" role="_iOnC" />
789+
<node concept="2zPypq" id="3VHXNElXxii" role="_iOnC">
790+
<property role="TrG5h" value="longString" />
791+
<node concept="30bdrP" id="3VHXNElXxjr" role="2zPyp_">
792+
<property role="30bdrQ" value="hUc35RDHAGhOHYDOQVuScoO8bfbpgVqpr1pf9N6HN9wWWOl8aklHfScguYu4mE5jZxh0eM77tAHzvP8AX9ulSBhGvsOx4DNH93Iaf8byu1RBOdTZn6e0N1MVUGT6opO5pXc6EjUSNKYs0vMBy0pHt8SFm3joL4lOtk5J1gFk4zDP7GV8o2wpbg1ftEkYDC8FHyGKNDEjf70Aw4zyiUHefyEONX1ZdYKwgQIYdI5QPN7Rh4a6bFreXqICXR5Ax2rAhEBhuJqdO9RJBDB0ff4twHd3UBusCR15SINboyWZ4QmFKY2fJSA6nxfwhKKCyW9TkOVbz1Sk1uxfEwGvGnJ0cTrVjsnKguULPjHVSEfbnUew3tfRdcz2VHSADlm7YzxtPQGEPgDdkzGptg3jyS3fpljgjtIOTbjnxLF6We5zrQqjv9skiX7918Hs1zOuLoBF5qztTH2N8neCxUvfz7zYxOxVEgfp6LiPyJleOwwnYXCLd2UGaRq6tCqHUKOXydBsTlmELUyPbpyIualvs0zDtu6Krh3gDmIF1CFPSAhBMEulfCFffFsHztUr1wqg9AGmfYaTE4CA7e0n4BCtExSYmxwByiEKog28WYVTFPeOxlj33w2CciaW9c77QoMSHSnKp3LdM4kRjCwmfsoLrZDL0O4hwSMIr5OabR3bCMQDE18FvQCuamWph8FqsF4wmM7UCe5iX80Bea0KcpwPmBujJyuGYtlM5RcP5zdSDaMVAIro72HXYXg6CBljZIpnJMNpHBb6CxEh3JcHZFspcSm7773Z0c4Bb0hQiE66TBAUujbobGHANGcxx42a3hTs5G2zyq26xyzgIPKPc5hjtlPkqhPgqLPxmXCU2OK3FnGHdI2TNUb62wQ4WaAMBZlbnrJbSHS76NQ24jAp76AyB0rpQ5ga19uprwwnAtg9SlOsxTKk8BgekgEZJZrGpTt9nT814EO2YB2OpmK4MwcaoCFk3JBybEQtYceARUCgnWZg\n" />
793+
</node>
794+
<node concept="30bdrU" id="3VHXNElXxjf" role="2zM23F" />
795+
</node>
796+
<node concept="2zPypq" id="3VHXNElXxku" role="_iOnC">
797+
<property role="TrG5h" value="stringWithEscapes" />
798+
<node concept="30bdrP" id="3VHXNElXxln" role="2zPyp_">
799+
<property role="30bdrQ" value="\nHello\nWorld" />
800+
</node>
801+
<node concept="30bdrU" id="3VHXNElXxrl" role="2zM23F" />
802+
</node>
803+
<node concept="2zPypq" id="3VHXNElXxmL" role="_iOnC">
804+
<property role="TrG5h" value="stringQuoteEscape" />
805+
<node concept="30bdrP" id="3VHXNElXxnE" role="2zPyp_">
806+
<property role="30bdrQ" value="Hello \&quot;World\&quot;" />
807+
</node>
808+
<node concept="30bdrU" id="3VHXNElXxqS" role="2zM23F" />
809+
</node>
810+
<node concept="2zPypq" id="3VHXNElXxoX" role="_iOnC">
811+
<property role="TrG5h" value="emptyString" />
812+
<node concept="30bdrP" id="3VHXNElXxpO" role="2zPyp_" />
813+
<node concept="30bdrU" id="3VHXNElXxq_" role="2zM23F" />
814+
</node>
815+
<node concept="_ixoA" id="3VHXNElXxoe" role="_iOnC" />
789816
<node concept="2zPypq" id="2xACJhqZdy9" role="_iOnC">
790817
<property role="TrG5h" value="optString" />
791818
<node concept="UmHTt" id="2xACJhqZdzq" role="2zPyp_" />
@@ -14986,16 +15013,16 @@
1498615013
<node concept="2zPypq" id="KoRsm$uuI4" role="_iOnC">
1498715014
<property role="TrG5h" value="res2" />
1498815015
<node concept="30cPrO" id="KoRsm$uvhv" role="2zPyp_">
14989-
<node concept="3iBYfx" id="KoRsm$uviv" role="30dEs_">
14990-
<node concept="30bXRB" id="KoRsm$uvjl" role="3iBYfI">
14991-
<property role="30bXRw" value="2" />
14992-
</node>
14993-
</node>
1499415016
<node concept="3iBYfx" id="KoRsm$uv4e" role="30dEsF">
1499515017
<node concept="30bXRB" id="KoRsm$uv4o" role="3iBYfI">
1499615018
<property role="30bXRw" value="1" />
1499715019
</node>
1499815020
</node>
15021+
<node concept="3iBYfx" id="KoRsm$uviv" role="30dEs_">
15022+
<node concept="30bXRB" id="KoRsm$uvjl" role="3iBYfI">
15023+
<property role="30bXRw" value="2" />
15024+
</node>
15025+
</node>
1499915026
</node>
1500015027
</node>
1500115028
<node concept="2zPypq" id="KoRsm$uwl5" role="_iOnC">

0 commit comments

Comments
 (0)