From e7d23f9b6de709075e15c9766971ca4cc6772975 Mon Sep 17 00:00:00 2001 From: Grigorii Kirgizov Date: Wed, 6 May 2020 18:43:21 +0300 Subject: [PATCH] Redefine how Aspect Cliques are found (fixes MPSCR-60) Now algorithm for finding aspect cliques includes 3 stages: 1) topological sort (as before) 2) bottom-up pass with initial assignment of clique ids (as before) 3) top-down pass (i.e. in reverse topo sort order) (added stage) The 3rd stage handles case when hierarchy of langs with required aspect include branching point (with no join further down), as in the case of closuresExt & collectionsExt both extending blExt, but unrelated to each other (neither extends the other). --- .../jetbrains.mps.lang.coderules.aspect.mps | 1225 +++++++++++++---- 1 file changed, 951 insertions(+), 274 deletions(-) diff --git a/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.aspect.mps b/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.aspect.mps index a3c68474..3113351b 100644 --- a/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.aspect.mps +++ b/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.aspect.mps @@ -23,6 +23,7 @@ + @@ -126,6 +127,9 @@ + + + @@ -143,6 +147,9 @@ + + + @@ -256,6 +263,11 @@ + + + + + @@ -264,14 +276,12 @@ - - @@ -1637,6 +1647,22 @@ + + + + + + + + + + + + + + + + @@ -1942,30 +1968,30 @@ - - + + + - - - - - + + + + - + - - - - + + + + - + @@ -1995,6 +2021,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -2104,7 +2152,7 @@ - + @@ -2182,7 +2230,13 @@ - + + + + + + + @@ -2205,62 +2259,47 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + - - + + + + + + + + + + + + + + - @@ -2362,71 +2401,38 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2438,7 +2444,7 @@ - + @@ -2450,7 +2456,73 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2494,23 +2566,14 @@ - - - - - - - - - - + - + @@ -2575,6 +2638,25 @@ + + + + + + + + + + + + + + + + + + + @@ -2626,6 +2708,7 @@ + @@ -2723,11 +2806,12 @@ - - + + - - + + + @@ -2885,38 +2969,86 @@ - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2929,23 +3061,449 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2956,69 +3514,146 @@ - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - - - + + + - + - + - - - - - - + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -3031,33 +3666,88 @@ - + + - - - + + + - - - + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + @@ -3069,7 +3759,7 @@ - + @@ -3078,70 +3768,31 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + + + - - - - + + + - - - + @@ -3151,6 +3802,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +