From 2425fe933a4ec5dd6d07188a0337ddc5e961f968 Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Wed, 30 Jun 2021 18:25:03 +0200 Subject: [PATCH] Ensure dependency is tracked for nested expand macro applications Expand macro passes the rule's input to nested macro calls. This adds the macro input as the dependency of the rule's input. As a result, incremental processing starts working in some cases. --- .../generator/template/main@generator.mps | 1213 ++++++----------- .../jetbrains.mps.lang.coderules.program.mps | 159 ++- .../jetbrains.mps.lang.coderules.template.mps | 69 + 3 files changed, 634 insertions(+), 807 deletions(-) diff --git a/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps b/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps index 3b28131b..4aee2188 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps @@ -5121,6 +5121,11 @@ + + + + + @@ -10129,80 +10134,220 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + + + + + + + - + @@ -10213,24 +10358,22 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -10238,304 +10381,38 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + @@ -10544,83 +10421,72 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - + @@ -10631,23 +10497,23 @@ - - - - + + + + - - - - - - - + + + + + + + - + @@ -10656,36 +10522,20 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - + @@ -10694,294 +10544,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -15425,6 +14990,22 @@ + + + + + + + + + + + + + + + + @@ -19457,11 +19038,123 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 a7e6d09e..4ff1d2cf 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 @@ -11495,94 +11495,159 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - - + + + - + - + - - + + - - + + - - + + - - - - + + + + - - + + - - - + + + - + - - - + + + + + - - - - + + + + - + - - + + - + - - - - + + + + - - - - - + + + + + - + diff --git a/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.template.mps b/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.template.mps index ba15cf22..81d6ceec 100644 --- a/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.template.mps +++ b/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.template.mps @@ -2498,6 +2498,15 @@ + + + + + + + + + @@ -2538,6 +2547,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +