From e94ea9955c12c12dcd0d1fbf9af92e46af2006da Mon Sep 17 00:00:00 2001 From: Grigorii Kirgizov Date: Thu, 25 Jun 2020 23:20:08 +0300 Subject: [PATCH] Refactor primitive conversion with narrowing option and fix var decl checking (MPSCR-63) According to JLS, narrowing is allowed in assignment context, but forbidden e.g. in invocation context. --- ...rains.mps.baseLanguage.tuplesExt.types.mps | 26 +- .../jetbrains.mps.baseLanguageExt.types.mps | 3923 ++++++++++++----- 2 files changed, 2765 insertions(+), 1184 deletions(-) diff --git a/samples/mpscore/languages/jetbrains.mps.baseLanguage.tuplesExt/models/jetbrains.mps.baseLanguage.tuplesExt.types.mps b/samples/mpscore/languages/jetbrains.mps.baseLanguage.tuplesExt/models/jetbrains.mps.baseLanguage.tuplesExt.types.mps index 334461fa..0e9d7e36 100644 --- a/samples/mpscore/languages/jetbrains.mps.baseLanguage.tuplesExt/models/jetbrains.mps.baseLanguage.tuplesExt.types.mps +++ b/samples/mpscore/languages/jetbrains.mps.baseLanguage.tuplesExt/models/jetbrains.mps.baseLanguage.tuplesExt.types.mps @@ -743,15 +743,31 @@ - - - - + + + + - + + + + + + + + + + + + + + + + + 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 50ad65fd..f0667cc0 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 @@ -122,6 +122,9 @@ + + + @@ -5356,9 +5359,11 @@ + + @@ -5366,6 +5371,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -5387,6 +5415,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5489,13 +5579,16 @@ - + + + + @@ -5517,13 +5610,13 @@ - - - - - + + + + + @@ -5537,6 +5630,14 @@ + + + + + + + + @@ -5580,13 +5681,16 @@ - + + + + @@ -5657,18 +5761,30 @@ - - + + + - + + + + + + + + + + + + @@ -5679,13 +5795,16 @@ - + + + + @@ -5756,18 +5875,30 @@ - - + + + - + + + + + + + + + + + + @@ -5782,13 +5913,16 @@ - + + + + @@ -5875,18 +6009,30 @@ - - + + + - + + + + + + + + + + + + @@ -5901,13 +6047,16 @@ - + + + + @@ -5942,19 +6091,31 @@ - - - + + + + - + + + + + + + + + + + + @@ -5969,13 +6130,16 @@ - + + + + @@ -6010,19 +6174,31 @@ - - - + + + + - + + + + + + + + + + + + @@ -6033,13 +6209,16 @@ - + + + + @@ -6074,19 +6253,31 @@ - - - + + + + - + + + + + + + + + + + + @@ -6101,7 +6292,7 @@ - + @@ -6113,6 +6304,9 @@ + + + @@ -6126,6 +6320,14 @@ + + + + + + + + @@ -6140,7 +6342,7 @@ - + @@ -6152,6 +6354,9 @@ + + + @@ -6165,6 +6370,14 @@ + + + + + + + + @@ -6223,7 +6436,7 @@ - + @@ -6251,6 +6464,9 @@ + + + @@ -6289,29 +6505,43 @@ - + + + + - + + + + + + + + + + + + @@ -6326,7 +6556,7 @@ - + @@ -6359,6 +6589,9 @@ + + + @@ -6383,18 +6616,29 @@ - + + + + + + + + + + + + @@ -6409,7 +6653,7 @@ - + @@ -6442,6 +6686,9 @@ + + + @@ -6466,18 +6713,29 @@ - + + + + + + + + + + + + @@ -6492,7 +6750,7 @@ - + @@ -6512,6 +6770,9 @@ + + + @@ -6533,18 +6794,29 @@ - + + + + + + + + + + + + @@ -6559,7 +6831,7 @@ - + @@ -6579,6 +6851,9 @@ + + + @@ -6600,18 +6875,29 @@ - + + + + + + + + + + + + @@ -6625,13 +6911,16 @@ - + + + + @@ -6677,6 +6966,14 @@ + + + + + + + + @@ -7949,15 +8246,36 @@ - - - - + + + + - + + + + + + + + + + + + + + + + + + + + + + @@ -8104,17 +8422,6 @@ - - - - - - - - - - - @@ -10471,8 +10778,8 @@ - + @@ -10709,78 +11016,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -10868,90 +11103,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -11041,6 +11192,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11938,6 +12323,9 @@ + + + @@ -13698,33 +14086,50 @@ + + + + + + + + + + + + + + + + + @@ -13807,6 +14212,9 @@ + + + @@ -13838,11 +14246,22 @@ + + + + + + + + + + + @@ -13898,6 +14317,9 @@ + + + @@ -14017,6 +14439,9 @@ + + + @@ -14035,6 +14460,14 @@ + + + + + + + + @@ -14116,6 +14549,9 @@ + + + @@ -14166,6 +14602,14 @@ + + + + + + + + @@ -14226,6 +14670,9 @@ + + + @@ -14242,6 +14689,14 @@ + + + + + + + + @@ -14338,6 +14793,9 @@ + + + @@ -14381,7 +14839,7 @@ - + @@ -14394,6 +14852,9 @@ + + + @@ -14426,6 +14887,14 @@ + + + + + + + + @@ -14508,6 +14977,9 @@ + + + @@ -14583,6 +15055,9 @@ + + + @@ -14590,6 +15065,14 @@ + + + + + + + + @@ -14622,6 +15105,9 @@ + + + @@ -14670,6 +15156,14 @@ + + + + + + + + @@ -17131,31 +17625,76 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17168,15 +17707,23 @@ + + + + + + + + @@ -17252,6 +17799,24 @@ + + + + + + + + + + + + + + + + + + @@ -17261,6 +17826,9 @@ + + + @@ -17272,11 +17840,22 @@ + + + + + + + + + + + @@ -17308,6 +17887,9 @@ + + + @@ -17321,6 +17903,14 @@ + + + + + + + + @@ -17348,6 +17938,9 @@ + + + @@ -17361,6 +17954,14 @@ + + + + + + + + @@ -17388,6 +17989,9 @@ + + + @@ -17401,6 +18005,14 @@ + + + + + + + + @@ -17428,6 +18040,9 @@ + + + @@ -17441,6 +18056,14 @@ + + + + + + + + @@ -17468,6 +18091,9 @@ + + + @@ -17481,6 +18107,14 @@ + + + + + + + + @@ -17508,6 +18142,9 @@ + + + @@ -17521,6 +18158,14 @@ + + + + + + + + @@ -17548,6 +18193,9 @@ + + + @@ -17561,6 +18209,14 @@ + + + + + + + + @@ -17588,6 +18244,9 @@ + + + @@ -17601,6 +18260,417 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17640,30 +18710,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -17684,6 +18732,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17727,30 +18824,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -17771,6 +18846,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17810,30 +18934,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -17854,6 +18956,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17897,30 +19048,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -17941,187 +19070,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - + + - - + + + + + + + + - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -18167,47 +19158,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -18226,8 +19178,47 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18273,47 +19264,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -18332,8 +19284,47 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18375,47 +19366,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -18434,8 +19386,55 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18481,47 +19480,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -18540,8 +19500,55 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18583,47 +19590,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -18642,8 +19610,55 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18689,47 +19704,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -18752,6 +19728,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18791,47 +19816,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -18850,8 +19836,55 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18897,47 +19930,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -18956,8 +19950,284 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18991,6 +20261,9 @@ + + + @@ -19004,6 +20277,14 @@ + + + + + + + + @@ -19035,6 +20316,9 @@ + + + @@ -19060,11 +20344,22 @@ + + + + + + + + + + + @@ -19096,6 +20391,9 @@ + + + @@ -19121,11 +20419,22 @@ + + + + + + + + + + + @@ -19157,6 +20466,9 @@ + + + @@ -19182,11 +20494,22 @@ + + + + + + + + + + + @@ -19218,6 +20541,9 @@ + + + @@ -19250,18 +20576,29 @@ - + + + + + + + + + + + + @@ -19275,12 +20612,16 @@ - - + + + + + + - - + + @@ -19298,6 +20639,9 @@ + + + @@ -19311,30 +20655,92 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - - + + + @@ -19356,13 +20762,17 @@ - - + + + - + + + + @@ -19379,6 +20789,9 @@ + + + @@ -19392,30 +20805,84 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - - + + + @@ -19424,6 +20891,14 @@ + + + + + + + + @@ -26675,6 +28150,17 @@ + + + + + + + + + + + @@ -26743,6 +28229,17 @@ + + + + + + + + + + + @@ -26815,6 +28312,17 @@ + + + + + + + + + + + @@ -26883,6 +28391,17 @@ + + + + + + + + + + + @@ -27197,6 +28716,17 @@ + + + + + + + + + + + @@ -27265,6 +28795,17 @@ + + + + + + + + + + + @@ -27332,6 +28873,17 @@ + + + + + + + + + + + @@ -27343,6 +28895,17 @@ + + + + + + + + + + + @@ -31762,13 +33325,29 @@ - + + + + + + + + + + + + + + + + + @@ -31888,15 +33467,31 @@ - - - - + + + + - + + + + + + + + + + + + + + + + + @@ -36821,6 +38416,7 @@ + @@ -36852,7 +38448,6 @@ - @@ -38239,13 +39834,34 @@ - + + + + + + + + + + + + + + + + + + + + + + @@ -38480,179 +40096,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -38705,6 +40148,17 @@ + + + + + + + + + + + @@ -39373,21 +40827,6 @@ - - - - - - - - - - - - - - - @@ -42072,7 +43511,7 @@ - + @@ -42098,7 +43537,7 @@ - + @@ -42108,14 +43547,35 @@ - - - - + + + + - - + + + + + + + + + + + + + + + + + + + + + + + @@ -43872,71 +45332,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -44232,6 +45627,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -50056,10 +51516,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -50075,57 +51588,88 @@ - - - - - + + + + + - + - - + + - - - - - + + + + + - + - - - - + + + + - + - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + @@ -50162,6 +51706,12 @@ + + + + + + @@ -50189,6 +51739,18 @@ + + + + + + + + + + + + @@ -50209,6 +51771,9 @@ + + + @@ -50346,7 +51911,7 @@ - + @@ -50370,7 +51935,7 @@ - + @@ -50428,7 +51993,7 @@ - + @@ -50619,7 +52184,7 @@ - + @@ -50832,7 +52397,7 @@ - + @@ -50954,7 +52519,7 @@ - + @@ -51037,7 +52602,7 @@ - + @@ -51120,7 +52685,7 @@ - + @@ -51203,7 +52768,7 @@ - + @@ -51248,7 +52813,7 @@ - +