From ef2b2991243e29099f26372e9bca2f02734e44ac Mon Sep 17 00:00:00 2001 From: Grigorii Kirgizov Date: Tue, 4 Aug 2020 11:33:22 +0300 Subject: [PATCH] Refactor unchecked conversion for raw types (MPSCR-63) Now whether unchecked conversion is allowed is controlled by ConvertsContext.Options of convertsTo relation. Introduce 'erased()' term to be used in raw type params. Drop 'uncheckedConversion' parameter in all macros. Classifier kind:"raw" is now used only for Recover. Allow unchecked conversions by default. Forbid for sequences. --- ....mps.baseLanguage.collectionsExt.types.mps | 308 +-- ...brains.mps.baseLanguage.sequence.types.mps | 96 +- .../jetbrains.mps.baseLanguageExt.types.mps | 1856 +++++++++++++---- ...eLanguage.collectionsExt.test.sequence.mps | 205 +- ...mps.baseLanguageExt.test.code.features.mps | 52 +- ...mps.baseLanguageExt.test.code.generics.mps | 6 +- 6 files changed, 1622 insertions(+), 901 deletions(-) diff --git a/samples/mpscore/languages/jetbrains.mps.baseLanguage.collectionsExt/models/jetbrains.mps.baseLanguage.collectionsExt.types.mps b/samples/mpscore/languages/jetbrains.mps.baseLanguage.collectionsExt/models/jetbrains.mps.baseLanguage.collectionsExt.types.mps index c37bc1d5..1261a6b3 100644 --- a/samples/mpscore/languages/jetbrains.mps.baseLanguage.collectionsExt/models/jetbrains.mps.baseLanguage.collectionsExt.types.mps +++ b/samples/mpscore/languages/jetbrains.mps.baseLanguage.collectionsExt/models/jetbrains.mps.baseLanguage.collectionsExt.types.mps @@ -14,9 +14,9 @@ - + @@ -567,12 +567,6 @@ - - - - - - @@ -583,9 +577,6 @@ - - - @@ -661,12 +652,6 @@ - - - - - - @@ -677,9 +662,6 @@ - - - @@ -755,12 +737,6 @@ - - - - - - @@ -771,9 +747,6 @@ - - - @@ -821,9 +794,6 @@ - - - @@ -855,12 +825,6 @@ - - - - - - @@ -871,9 +835,6 @@ - - - @@ -921,9 +882,6 @@ - - - @@ -955,12 +913,6 @@ - - - - - - @@ -971,9 +923,6 @@ - - - @@ -1021,9 +970,6 @@ - - - @@ -1055,12 +1001,6 @@ - - - - - - @@ -1071,9 +1011,6 @@ - - - @@ -1121,9 +1058,6 @@ - - - @@ -1155,12 +1089,6 @@ - - - - - - @@ -1171,9 +1099,6 @@ - - - @@ -1221,9 +1146,6 @@ - - - @@ -1255,12 +1177,6 @@ - - - - - - @@ -1271,9 +1187,6 @@ - - - @@ -1321,9 +1234,6 @@ - - - @@ -1355,12 +1265,6 @@ - - - - - - @@ -1371,9 +1275,6 @@ - - - @@ -1421,9 +1322,6 @@ - - - @@ -1455,12 +1353,6 @@ - - - - - - @@ -1471,9 +1363,6 @@ - - - @@ -1529,9 +1418,6 @@ - - - @@ -1567,12 +1453,6 @@ - - - - - - @@ -1583,9 +1463,6 @@ - - - @@ -1600,9 +1477,6 @@ - - - @@ -1664,9 +1538,6 @@ - - - @@ -1702,12 +1573,6 @@ - - - - - - @@ -1718,9 +1583,6 @@ - - - @@ -1735,9 +1597,6 @@ - - - @@ -1799,9 +1658,6 @@ - - - @@ -1837,12 +1693,6 @@ - - - - - - @@ -1853,9 +1703,6 @@ - - - @@ -1870,9 +1717,6 @@ - - - @@ -1926,9 +1770,6 @@ - - - @@ -1960,12 +1801,6 @@ - - - - - - @@ -1976,9 +1811,6 @@ - - - @@ -2027,12 +1859,6 @@ - - - - - - @@ -2112,9 +1938,6 @@ - - - @@ -2290,12 +2113,6 @@ - - - - - - @@ -2320,12 +2137,6 @@ - - - - - - @@ -2436,9 +2247,6 @@ - - - @@ -4246,7 +4054,7 @@ - + @@ -4265,7 +4073,7 @@ - + @@ -4330,7 +4138,7 @@ - + @@ -4349,7 +4157,7 @@ - + @@ -4407,7 +4215,7 @@ - + @@ -4474,7 +4282,7 @@ - + @@ -4545,7 +4353,7 @@ - + @@ -4641,7 +4449,7 @@ - + @@ -4685,7 +4493,7 @@ - + @@ -4729,7 +4537,7 @@ - + @@ -4825,7 +4633,7 @@ - + @@ -4921,7 +4729,7 @@ - + @@ -5017,7 +4825,7 @@ - + @@ -8206,7 +8014,7 @@ - + @@ -8391,7 +8199,7 @@ - + @@ -8622,7 +8430,7 @@ - + @@ -8707,7 +8515,7 @@ - + @@ -8815,7 +8623,7 @@ - + @@ -8954,7 +8762,7 @@ - + @@ -9158,7 +8966,7 @@ - + @@ -9497,7 +9305,7 @@ - + @@ -9871,7 +9679,7 @@ - + @@ -9953,7 +9761,7 @@ - + @@ -10064,7 +9872,7 @@ - + @@ -10938,7 +10746,7 @@ - + @@ -10990,7 +10798,7 @@ - + @@ -15161,7 +14969,7 @@ - + @@ -15408,7 +15216,7 @@ - + @@ -15619,7 +15427,7 @@ - + @@ -15691,7 +15499,7 @@ - + @@ -15779,7 +15587,7 @@ - + @@ -15848,7 +15656,7 @@ - + @@ -15913,7 +15721,7 @@ - + @@ -16001,7 +15809,7 @@ - + @@ -16070,7 +15878,7 @@ - + @@ -16158,7 +15966,7 @@ - + @@ -16227,7 +16035,7 @@ - + @@ -16325,7 +16133,7 @@ - + @@ -16412,7 +16220,7 @@ - + @@ -16617,7 +16425,7 @@ - + @@ -16689,7 +16497,7 @@ - + @@ -16818,7 +16626,7 @@ - + @@ -16947,7 +16755,7 @@ - + @@ -17076,7 +16884,7 @@ - + @@ -17256,7 +17064,7 @@ - + @@ -17324,7 +17132,7 @@ - + @@ -17504,7 +17312,7 @@ - + @@ -17572,7 +17380,7 @@ - + @@ -17715,7 +17523,7 @@ - + @@ -18506,7 +18314,7 @@ - + @@ -18597,7 +18405,7 @@ - + @@ -18688,7 +18496,7 @@ - + @@ -18779,7 +18587,7 @@ - + @@ -18870,7 +18678,7 @@ - + @@ -24929,7 +24737,7 @@ - + @@ -25015,7 +24823,7 @@ - + @@ -25200,7 +25008,7 @@ - + diff --git a/samples/mpscore/languages/jetbrains.mps.baseLanguage.sequence/models/jetbrains.mps.baseLanguage.sequence.types.mps b/samples/mpscore/languages/jetbrains.mps.baseLanguage.sequence/models/jetbrains.mps.baseLanguage.sequence.types.mps index c9bace79..30048b82 100644 --- a/samples/mpscore/languages/jetbrains.mps.baseLanguage.sequence/models/jetbrains.mps.baseLanguage.sequence.types.mps +++ b/samples/mpscore/languages/jetbrains.mps.baseLanguage.sequence/models/jetbrains.mps.baseLanguage.sequence.types.mps @@ -21,17 +21,6 @@ - - - - - - - - - - - @@ -40,29 +29,9 @@ - - - - - - - - - - - - - - - - - - - - @@ -225,7 +194,7 @@ - + @@ -285,7 +254,7 @@ - + @@ -329,12 +298,6 @@ - - - - - - @@ -358,45 +321,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + @@ -416,7 +345,7 @@ - + @@ -458,12 +387,6 @@ - - - - - - @@ -474,9 +397,6 @@ - - - diff --git a/samples/mpscore/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps b/samples/mpscore/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps index 019c6fdd..a2342b2c 100644 --- a/samples/mpscore/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps +++ b/samples/mpscore/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps @@ -34,6 +34,7 @@ + @@ -2729,34 +2730,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2778,9 +2751,6 @@ - - - @@ -3238,34 +3208,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3287,9 +3229,6 @@ - - - @@ -4142,34 +4081,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4216,9 +4127,6 @@ - - - @@ -4886,34 +4794,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4960,9 +4840,6 @@ - - - @@ -5251,6 +5128,9 @@ + + + @@ -5267,18 +5147,29 @@ + + + + + + + + - + + + + @@ -5304,6 +5195,9 @@ + + + @@ -5317,18 +5211,29 @@ + + + + + + + + - + + + + @@ -5348,6 +5253,12 @@ + + + + + + @@ -6332,6 +6243,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12022,6 +12073,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13979,12 +14192,6 @@ - - - - - - @@ -14569,102 +14776,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -24640,6 +24751,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -29377,9 +29558,6 @@ - - - @@ -29414,12 +29592,6 @@ - - - - - - @@ -29447,12 +29619,6 @@ - - - - - - @@ -29544,9 +29710,6 @@ - - - @@ -29626,12 +29789,6 @@ - - - - - - @@ -29908,12 +30065,6 @@ - - - - - - @@ -30005,140 +30156,26 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + @@ -30591,6 +30628,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -39606,12 +39728,27 @@ - - - + + + + + + + + + + + + + + + + + + - + @@ -40074,6 +40211,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -40910,6 +41166,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -41019,6 +41383,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -41046,9 +41436,22 @@ + + + + + + + + + + + + + @@ -42059,17 +42462,6 @@ - - - - - - - - - - - @@ -42080,6 +42472,15 @@ + + + + + + + + + @@ -42461,14 +42862,6 @@ - - - - - - - - @@ -42477,13 +42870,34 @@ - + + + + + + + + + + + + + + + + + + + + + + @@ -42782,6 +43196,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -42800,7 +43247,7 @@ - + @@ -42813,6 +43260,9 @@ + + + @@ -42923,6 +43373,9 @@ + + + @@ -42976,7 +43429,7 @@ - + @@ -42986,6 +43439,9 @@ + + + @@ -43109,6 +43565,14 @@ + + + + + + + + @@ -45478,6 +45942,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -45601,24 +46140,6 @@ - - - - - - - - - - - - - - - - - - @@ -45645,12 +46166,6 @@ - - - - - - @@ -45680,7 +46195,7 @@ - + @@ -45693,6 +46208,9 @@ + + + @@ -45925,10 +46443,12 @@ - - - - + + + + + + @@ -51707,6 +52227,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -51793,6 +52365,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -51831,12 +52428,11 @@ - + - @@ -51851,7 +52447,15 @@ - + + + + + + + + + @@ -51890,6 +52494,18 @@ + + + + + + + + + + + + @@ -51913,6 +52529,9 @@ + + + @@ -52969,5 +53588,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/mpscore/solutions/jetbrains.mps.baseLanguage.collectionsExt.test/models/jetbrains.mps.baseLanguage.collectionsExt.test.sequence.mps b/samples/mpscore/solutions/jetbrains.mps.baseLanguage.collectionsExt.test/models/jetbrains.mps.baseLanguage.collectionsExt.test.sequence.mps index e0c0e5b4..0d4fa078 100644 --- a/samples/mpscore/solutions/jetbrains.mps.baseLanguage.collectionsExt.test/models/jetbrains.mps.baseLanguage.collectionsExt.test.sequence.mps +++ b/samples/mpscore/solutions/jetbrains.mps.baseLanguage.collectionsExt.test/models/jetbrains.mps.baseLanguage.collectionsExt.test.sequence.mps @@ -222,16 +222,6 @@ - - - - - - - - - - @@ -254,39 +244,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -296,40 +253,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -350,6 +273,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -482,22 +501,6 @@ - - - - - - - - - - - - - - - - @@ -771,22 +774,6 @@ - - - - - - - - - - - - - - - - diff --git a/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.code.features.mps b/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.code.features.mps index dfed2407..674a6c52 100644 --- a/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.code.features.mps +++ b/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.code.features.mps @@ -14475,6 +14475,9 @@ + + + @@ -14565,6 +14568,9 @@ + + + @@ -14610,6 +14616,22 @@ + + + + + + + + + + + + + + + + @@ -14674,12 +14696,21 @@ - - + + + + + + + + + + + + - @@ -14763,12 +14794,21 @@ - - + + + + + + + + + + + + - diff --git a/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.code.generics.mps b/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.code.generics.mps index adfa9cc9..e7982e91 100644 --- a/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.code.generics.mps +++ b/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.code.generics.mps @@ -7799,6 +7799,9 @@ + + + @@ -7818,9 +7821,6 @@ - - -