From efd19aa45bb62673c300647e2ac079223a5bc6ed Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Thu, 12 Dec 2019 11:24:49 +0100 Subject: [PATCH] Implement incremental generation of coderules program. Introduce SessionData, allow to keep arbitrary data with the session. Extend RulesListTable with support for invalidation based on rule unique tags. Introduce UpdatesRecorder to keep track of invalidated nodes. Extend ApplyTemplatesStep with invalidate logic for typechecking. Simplify design, drop unnecessary fields, minor refactorings. --- build.xml | 4 + .../jetbrains.mps.lang.coderules.eval.mps | 1375 ++-- .../jetbrains.mps.lang.coderules.program.mps | 5930 +++++++++++++---- .../models/jetbrains.mps.coderules.build.mps | 5 + ...s.mps.coderules.typechecking.test.util.mps | 128 + ...rains.mps.coderules.typechecking@tests.mps | 38 + ...s.mps.coderules.typechecking.ui.plugin.mps | 188 +- .../jetbrains.mps.coderules.typechecking.msd | 2 + ...ins.mps.coderules.typechecking.service.mps | 4160 ++++++++---- .../models/service.mps | 350 +- .../models/plugin.mps | 73 +- ...pechecking.samples.baseLanguage.bounds.mps | 7 +- 12 files changed, 8669 insertions(+), 3591 deletions(-) diff --git a/build.xml b/build.xml index b75f05d4..83085715 100644 --- a/build.xml +++ b/build.xml @@ -1099,6 +1099,7 @@ + @@ -1118,6 +1119,7 @@ + @@ -2892,6 +2894,7 @@ + @@ -2911,6 +2914,7 @@ + diff --git a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.eval.mps b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.eval.mps index 921d3c7e..bc888e74 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.eval.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.eval.mps @@ -14,6 +14,7 @@ + @@ -37,6 +38,11 @@ + + + + + @@ -91,9 +97,7 @@ - - - + @@ -380,7 +384,6 @@ - @@ -4039,7 +4042,7 @@ - + @@ -5152,7 +5155,7 @@ - + @@ -5540,31 +5543,15 @@ - - - - - - - - - - - + + + + - - - - - - - - - - - - + + + @@ -5577,6 +5564,13 @@ + + + + + + + @@ -5599,41 +5593,41 @@ - - - + + + - - - + + + - - - - - + + + + + - + - - - - - + + + + + - + @@ -5641,12 +5635,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5665,6 +5729,9 @@ + + + @@ -5686,31 +5753,44 @@ - - - - - - - - - - - - - - + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + @@ -5738,29 +5818,6 @@ - - - - - - - - - - - - - - - - - - - - - - - @@ -5819,6 +5876,12 @@ + + + + + + @@ -5835,109 +5898,126 @@ - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - + + + + + + + + + + - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + - - - - + + + + + + + + + + + + + + + + + - @@ -5947,29 +6027,26 @@ - - + + - - + + - - + + - - + + - - - - - + + - + @@ -5996,27 +6073,104 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6028,6 +6182,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6103,748 +6310,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.mps b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.mps index e5d5e136..b5a92cff 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.mps @@ -12,6 +12,7 @@ + @@ -25,6 +26,12 @@ + + + + + + @@ -94,7 +101,9 @@ - + + + @@ -209,6 +218,7 @@ + @@ -258,6 +268,7 @@ + @@ -267,6 +278,14 @@ + + + + + + + + @@ -284,6 +303,9 @@ + + + @@ -305,16 +327,23 @@ + + + + + + + @@ -364,16 +393,26 @@ + + + + + + + + + + @@ -384,6 +423,7 @@ + @@ -414,6 +454,8 @@ + + @@ -1702,10 +1744,31 @@ - + + + + + + + + + + + + + + + + + + + + + + @@ -1740,7 +1803,6 @@ - @@ -1759,6 +1821,23 @@ + + + + + + + + + + + + + + + + + @@ -1795,10 +1874,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1873,6 +1986,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2853,13 +3052,37 @@ - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3008,49 +3231,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3071,54 +3251,168 @@ - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3453,6 +3747,7 @@ + @@ -4144,9 +4439,10 @@ - + + @@ -4599,11 +4895,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -4614,11 +4934,8 @@ - - - - - + + @@ -4629,8 +4946,8 @@ - - + + @@ -4641,11 +4958,8 @@ - - - - - + + @@ -4653,6 +4967,22 @@ + + + + + + + + + + + + + + + + @@ -4789,7 +5119,7 @@ - + @@ -4820,7 +5150,7 @@ - + @@ -4957,18 +5287,6 @@ - - - - - - - - - - - - @@ -4981,6 +5299,7 @@ + @@ -5027,32 +5346,19 @@ - - - - + + + + - - - - + + + + - - - - - - - - - - - - - @@ -5061,390 +5367,105 @@ - - + + - - - - - - + + + + + + - - + + - - - - - - + + + + + + - - + + - - - - - - + + + + + + - - + + - - - - + + + + - - - - - - - + - + - - - - + + + + - - - - - - - + - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -5652,6 +5673,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5671,21 +5968,6 @@ - - - - - - - - - - - - - - - @@ -5708,21 +5990,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -5910,20 +6239,35 @@ + - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -6008,149 +6352,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -7436,25 +7638,74 @@ - - - - - - + + + + + + - - - - + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7936,17 +8187,6 @@ - - - - - - - - - - - @@ -8114,59 +8354,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -8213,52 +8400,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -8273,8 +8414,8 @@ - - + + @@ -8331,7 +8472,40 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8558,6 +8732,19 @@ + + + + + + + + + + + + + @@ -8663,10 +8850,10 @@ + - @@ -8808,446 +8995,1039 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9255,11 +10035,11 @@ - - - - - + + + + + @@ -9268,41 +10048,2711 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + - - + + - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coderules/solutions/jetbrains.mps.coderules.build/models/jetbrains.mps.coderules.build.mps b/coderules/solutions/jetbrains.mps.coderules.build/models/jetbrains.mps.coderules.build.mps index c2f8fdb7..1c004c2d 100644 --- a/coderules/solutions/jetbrains.mps.coderules.build/models/jetbrains.mps.coderules.build.mps +++ b/coderules/solutions/jetbrains.mps.coderules.build/models/jetbrains.mps.coderules.build.mps @@ -883,6 +883,11 @@ + + + + + diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking.test.util.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking.test.util.mps index 0f8cfa61..63a29f68 100644 --- a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking.test.util.mps +++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking.test.util.mps @@ -27,6 +27,7 @@ + @@ -49,6 +50,9 @@ + + + @@ -614,6 +618,13 @@ + + + + + + + @@ -1316,6 +1327,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1323,6 +1446,11 @@ + + + + + diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking@tests.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking@tests.mps index 1ca942c1..a8b832c8 100644 --- a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking@tests.mps +++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking@tests.mps @@ -41,6 +41,7 @@ + @@ -1172,6 +1173,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1184,6 +1217,11 @@ + + + + + diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps index ac38fc20..10ef555d 100644 --- a/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps +++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps @@ -59,6 +59,7 @@ + @@ -131,6 +132,9 @@ + + + @@ -357,6 +361,9 @@ + + + @@ -846,6 +853,25 @@ + + + + + + + + + + + + + + + + + + + @@ -869,16 +895,8 @@ - - - - - - - - - - + + @@ -922,22 +940,63 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -948,11 +1007,8 @@ - - - - - + + @@ -962,25 +1018,12 @@ - - - - - - - - - - + + - - - - - - - - + + + @@ -3087,6 +3130,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3096,8 +3186,8 @@ - - + + @@ -3108,11 +3198,9 @@ - - - - - + + + diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking/jetbrains.mps.coderules.typechecking.msd b/coderules/solutions/jetbrains.mps.coderules.typechecking/jetbrains.mps.coderules.typechecking.msd index 322ab15e..4ff0b23d 100644 --- a/coderules/solutions/jetbrains.mps.coderules.typechecking/jetbrains.mps.coderules.typechecking.msd +++ b/coderules/solutions/jetbrains.mps.coderules.typechecking/jetbrains.mps.coderules.typechecking.msd @@ -19,6 +19,7 @@ 7a5dda62-9140-4668-ab76-d5ed1746f2b2(jetbrains.mps.lang.typesystem) 49808fad-9d41-4b96-83fa-9231640f6b2b(JUnit) ff6372a2-2f45-4ec3-952b-02581666015f(jetbrains.mps.lang.coderules.template) + 26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.coderules.runtime) @@ -36,6 +37,7 @@ + diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking/models/jetbrains.mps.coderules.typechecking.service.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking/models/jetbrains.mps.coderules.typechecking.service.mps index 97e79e90..8abf6c6f 100644 --- a/coderules/solutions/jetbrains.mps.coderules.typechecking/models/jetbrains.mps.coderules.typechecking.service.mps +++ b/coderules/solutions/jetbrains.mps.coderules.typechecking/models/jetbrains.mps.coderules.typechecking.service.mps @@ -13,6 +13,7 @@ + @@ -55,6 +56,7 @@ + @@ -181,6 +183,7 @@ + @@ -303,6 +306,7 @@ + @@ -316,11 +320,9 @@ - - @@ -371,6 +373,7 @@ + @@ -437,6 +440,7 @@ + @@ -447,6 +451,9 @@ + + + @@ -455,7 +462,11 @@ + + + + @@ -463,6 +474,7 @@ + @@ -477,6 +489,7 @@ + @@ -4681,6 +4694,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6559,86 +6741,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6692,28 +6840,20 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + - + @@ -6759,11 +6899,8 @@ - - - - - + + @@ -6795,61 +6932,62 @@ - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6863,8 +7001,8 @@ - - + + @@ -6876,81 +7014,312 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + - - - - + @@ -6975,11 +7344,8 @@ - - - - - + + @@ -7048,11 +7414,8 @@ - - - - - + + @@ -7068,7 +7431,7 @@ - + @@ -7117,123 +7480,20 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - + + - - - - - - - - @@ -7324,120 +7584,80 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7457,255 +7677,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -7719,15 +7691,10 @@ - - - - - - - - - + + + + @@ -7745,21 +7712,6 @@ - - - - - - - - - - - - - - - @@ -7772,8 +7724,9 @@ - - + + + @@ -7791,170 +7744,29 @@ - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -7987,171 +7799,246 @@ - - - - - - - - - - - - - - - - - + + - - + + - + - - - + + + + - + - + - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - - - - + + + + + + - - - + + + - + - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - + + + + - - - - - + + + + + + + - - - - - + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - + + + + + - + - + @@ -8160,28 +8047,26 @@ - + - + - - - + - - + + - - - - + + + + - + @@ -8360,9 +8245,808 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9978,7 +10662,7 @@ - + @@ -9989,7 +10673,7 @@ - + @@ -9998,8 +10682,8 @@ - - + + @@ -10015,118 +10699,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -10337,14 +10909,14 @@ - + - - + + @@ -10352,8 +10924,8 @@ - - + + @@ -10586,7 +11158,7 @@ - + @@ -10714,13 +11286,43 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -10730,7 +11332,7 @@ - + @@ -10738,25 +11340,51 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + - - + + + + + + + + @@ -10764,7 +11392,7 @@ - + @@ -10772,6 +11400,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10785,61 +11459,18 @@ - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -12742,5 +13373,1160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coderules/solutions/jetbrains.mps.coderules/models/service.mps b/coderules/solutions/jetbrains.mps.coderules/models/service.mps index 82cfabc5..e9e80eaf 100644 --- a/coderules/solutions/jetbrains.mps.coderules/models/service.mps +++ b/coderules/solutions/jetbrains.mps.coderules/models/service.mps @@ -33,6 +33,7 @@ + @@ -239,9 +240,6 @@ - - - @@ -459,16 +457,16 @@ - - - - - - + + + + + + - - + + @@ -498,27 +496,24 @@ - - - - - - + + + + + + - - + + - - - - - - - + + + + @@ -531,10 +526,10 @@ - - - - + + + + @@ -560,16 +555,16 @@ - - - - - - + + + + + + - - + + @@ -599,17 +594,17 @@ - - - - - - - - - + + + + + + + + + @@ -639,13 +634,10 @@ - - - - - - - + + + + @@ -658,10 +650,10 @@ - - - - + + + + @@ -734,15 +726,6 @@ - - - - - - - - - @@ -838,49 +821,27 @@ - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + @@ -894,40 +855,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -936,11 +864,11 @@ - - + + - - + + @@ -949,6 +877,15 @@ + + + + + + + + + @@ -957,6 +894,9 @@ + + + @@ -1001,8 +941,8 @@ - - + + @@ -1108,6 +1048,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1131,18 +1156,33 @@ + + + + + + + + + + + + + + - + - + + @@ -1159,36 +1199,20 @@ - - - - - - - - - - + - + - - - - - - - diff --git a/coderules/solutions/jetbrains.mps.controlflow.ui/models/plugin.mps b/coderules/solutions/jetbrains.mps.controlflow.ui/models/plugin.mps index a9f7fc6b..ec7e5afa 100644 --- a/coderules/solutions/jetbrains.mps.controlflow.ui/models/plugin.mps +++ b/coderules/solutions/jetbrains.mps.controlflow.ui/models/plugin.mps @@ -34,6 +34,7 @@ + @@ -102,6 +103,9 @@ + + + @@ -135,6 +139,10 @@ + + + + @@ -197,6 +205,9 @@ + + + @@ -277,6 +288,9 @@ + + + @@ -932,6 +946,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -941,8 +1002,8 @@ - - + + @@ -953,11 +1014,9 @@ - - - - - + + + diff --git a/samples/mpscore/solutions/typechecking.samples.baseLanguage/models/typechecking.samples.baseLanguage.bounds.mps b/samples/mpscore/solutions/typechecking.samples.baseLanguage/models/typechecking.samples.baseLanguage.bounds.mps index 2906594b..12520d64 100644 --- a/samples/mpscore/solutions/typechecking.samples.baseLanguage/models/typechecking.samples.baseLanguage.bounds.mps +++ b/samples/mpscore/solutions/typechecking.samples.baseLanguage/models/typechecking.samples.baseLanguage.bounds.mps @@ -507,13 +507,16 @@ - + - + + + +