From 613b981977a05d111e86a32eade09062126d3ca4 Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Fri, 11 Sep 2020 09:08:08 +0200 Subject: [PATCH] Refactor UpdatesRecorder for better handling of nodes invalidation. Alter the way invalidated nodes are handled by UpdatesRecorder. A set of "source" nodes is now maintained, which helps to detect the appropriate input for a changed node. Templates are applied only to "new" or "invalidated" nodes. --- .../jetbrains.mps.lang.coderules.program.mps | 1068 +++++++---------- ...ins.mps.coderules.typechecking.service.mps | 44 +- 2 files changed, 463 insertions(+), 649 deletions(-) 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 11400bdd..880c8d28 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 @@ -338,14 +338,10 @@ - - - - @@ -476,7 +472,6 @@ - @@ -5185,9 +5180,6 @@ - - - @@ -5206,6 +5198,9 @@ + + + @@ -6571,6 +6566,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8451,10 +8471,19 @@ - - - - + + + + + + + + + + + + + @@ -8500,10 +8529,13 @@ - - - - + + + + + + + @@ -8586,64 +8618,39 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -8658,8 +8665,20 @@ - - + + + + + + + + + + + + + + @@ -8667,11 +8686,8 @@ - - - - - + + @@ -8721,64 +8737,39 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -8793,8 +8784,20 @@ - - + + + + + + + + + + + + + + @@ -8802,11 +8805,8 @@ - - - - - + + @@ -8850,70 +8850,23 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -8923,120 +8876,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -9326,7 +9165,7 @@ - + @@ -9387,28 +9226,53 @@ - - - - + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + @@ -9426,6 +9290,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11616,6 +11582,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -11730,11 +11720,8 @@ - - - - - + + @@ -11882,99 +11869,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -11990,7 +11886,7 @@ - + @@ -12005,7 +11901,7 @@ - + @@ -12016,15 +11912,8 @@ - - - - - - - - - + + @@ -12042,15 +11931,8 @@ - - - - - - - - - + + @@ -12071,7 +11953,7 @@ - + @@ -12100,31 +11982,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - + + + + - + @@ -12135,12 +12046,36 @@ - - - + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + @@ -12214,7 +12149,7 @@ - + @@ -12238,10 +12173,18 @@ - - - - + + + + + + + + + + + + @@ -12254,9 +12197,6 @@ - - - @@ -12274,7 +12214,7 @@ - + @@ -12284,7 +12224,7 @@ - + @@ -12292,64 +12232,35 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -12366,24 +12277,6 @@ - - - - - - - - - - - - - - - - - - @@ -12391,8 +12284,8 @@ - - + + @@ -12406,8 +12299,8 @@ - - + + @@ -12419,8 +12312,8 @@ - - + + @@ -12494,62 +12387,20 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -12655,7 +12506,7 @@ - + @@ -12677,7 +12528,7 @@ - + @@ -12750,7 +12601,7 @@ - + @@ -12981,7 +12832,7 @@ - + @@ -13023,7 +12874,7 @@ - + @@ -13076,7 +12927,7 @@ - + @@ -13147,7 +12998,7 @@ - + @@ -13236,18 +13087,14 @@ - - - + - - - + @@ -13288,7 +13135,7 @@ - + @@ -13299,18 +13146,27 @@ - - - - - - - + + + + + - - - - + + + + + + + + + + + + + + + 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 1c57657b..3b184c7c 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 @@ -402,7 +402,6 @@ - @@ -12812,7 +12811,7 @@ - + @@ -12831,47 +12830,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -