From c4fc687f76e91bbd39fb4f2f7c65eb680918567f Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Sat, 9 May 2020 00:34:24 +0200 Subject: [PATCH] Refactor and simplify code in AspectClique. Write tests. Treat a language and its sidekick (if any) as a single vertex. Add all extended languages to the pool before building the graph. Drop dubious invariant check. Fix the second pass in findAspectCliques ingnoring the fact that there might be leafs without aspects. --- .../jetbrains.mps.coderules.test.msd | 1 + .../jetbrains.mps.coderules.aspect@tests.mps | 1964 +++++++++++++++-- .../jetbrains.mps.lang.coderules.aspect.mps | 1607 ++++++++------ 3 files changed, 2715 insertions(+), 857 deletions(-) diff --git a/coderules/solutions/jetbrains.mps.coderules.test/jetbrains.mps.coderules.test.msd b/coderules/solutions/jetbrains.mps.coderules.test/jetbrains.mps.coderules.test.msd index b387c94f..d554e72d 100644 --- a/coderules/solutions/jetbrains.mps.coderules.test/jetbrains.mps.coderules.test.msd +++ b/coderules/solutions/jetbrains.mps.coderules.test/jetbrains.mps.coderules.test.msd @@ -20,6 +20,7 @@ 707c4fde-f79a-44b5-b3d7-b5cef8844ccf(jetbrains.mps.lang.test.runtime) 6998f568-f0e9-473b-b4a8-9efb6499fc8d(jetbrains.mps.coderules.typechecking) f97d84b2-8bad-4fdd-8ede-da17b3eacf4c(jetbrains.mps.coderules) + ff6372a2-2f45-4ec3-952b-02581666015f(jetbrains.mps.lang.coderules.template) diff --git a/coderules/solutions/jetbrains.mps.coderules.test/models/jetbrains.mps.coderules.aspect@tests.mps b/coderules/solutions/jetbrains.mps.coderules.test/models/jetbrains.mps.coderules.aspect@tests.mps index bc440c0e..4a318118 100644 --- a/coderules/solutions/jetbrains.mps.coderules.test/models/jetbrains.mps.coderules.aspect@tests.mps +++ b/coderules/solutions/jetbrains.mps.coderules.test/models/jetbrains.mps.coderules.aspect@tests.mps @@ -18,6 +18,7 @@ + @@ -46,6 +47,7 @@ + @@ -69,6 +71,7 @@ + @@ -76,7 +79,6 @@ - @@ -94,10 +96,15 @@ + + + + + @@ -105,6 +112,12 @@ + + + + + + @@ -124,9 +137,15 @@ + + + + + + @@ -134,22 +153,33 @@ + + + + + + + + + + + @@ -160,7 +190,7 @@ - + @@ -168,23 +198,23 @@ - + - + - + - + @@ -194,7 +224,7 @@ - + @@ -206,7 +236,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -220,17 +274,17 @@ - + - + - + @@ -241,17 +295,17 @@ - + - + - + @@ -289,11 +343,11 @@ - + - + @@ -305,7 +359,7 @@ - + @@ -351,7 +405,7 @@ - + @@ -393,166 +447,1425 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -577,20 +1890,32 @@ - + - + - - + + + + + + + + + + + + + + @@ -603,14 +1928,14 @@ - + - + @@ -638,14 +1963,14 @@ - + - + @@ -673,7 +1998,7 @@ - + @@ -684,8 +2009,8 @@ - - + + @@ -698,12 +2023,297 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 26e795ef..6791e2f6 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 @@ -144,13 +144,13 @@ + + + - - - @@ -173,7 +173,6 @@ - @@ -253,12 +252,10 @@ - - - + @@ -284,7 +281,8 @@ - + + @@ -292,7 +290,6 @@ - @@ -303,6 +300,9 @@ + + + @@ -314,7 +314,7 @@ - + @@ -1572,7 +1572,7 @@ - + @@ -1584,26 +1584,25 @@ - - - - + + + - - + + - + - + - + - + @@ -1656,7 +1655,7 @@ - + @@ -1727,6 +1726,24 @@ + + + + + + + + + + + + + + + + + + @@ -1741,11 +1758,15 @@ - - - + + + + + + + + - @@ -1763,7 +1784,7 @@ - + @@ -1774,12 +1795,6 @@ - - - - - - @@ -1825,17 +1840,14 @@ - - - - - - - + + + + - - - + + + @@ -1898,7 +1910,7 @@ - + @@ -1907,157 +1919,271 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + - - - - + + + + + + + + - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - + + + - - - - - + + + + + + + - - - + + + + + + + - - - - - - - - - - - + + + + + - - - - - - - - - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + - - - - + + + - - - + - + @@ -2130,70 +2256,126 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - + + - + @@ -2223,7 +2405,7 @@ - + @@ -2288,15 +2470,43 @@ - - - - - + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2352,25 +2562,17 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + @@ -2389,28 +2591,68 @@ - - - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - + @@ -2420,10 +2662,15 @@ - - - - + + + + + + + + + @@ -2453,201 +2700,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -2659,12 +2712,9 @@ - + - - - @@ -3083,8 +3133,8 @@ - - + + @@ -3357,19 +3407,19 @@ - - + + - - + + - - + + - + @@ -3461,8 +3511,8 @@ - - + + @@ -3513,35 +3563,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3564,8 +3585,13 @@ - - + + + + + + + @@ -3595,7 +3621,7 @@ - + @@ -3761,21 +3787,6 @@ - - - - - - - - - - - - - - - @@ -3790,8 +3801,8 @@ - - + + @@ -3925,29 +3936,33 @@ - - - - - - - - - + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + - - + + @@ -4052,7 +4067,6 @@ - @@ -4083,7 +4097,7 @@ - + @@ -4099,7 +4113,13 @@ - + + + + + + + @@ -4109,7 +4129,7 @@ - + @@ -4120,14 +4140,39 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + @@ -4137,11 +4182,23 @@ - + + + + + + + + + + + + + @@ -4156,17 +4213,29 @@ - + - + + + + + + + + + + + + + @@ -4178,213 +4247,391 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - + + - + - - - - - - + + + + + + - + - + - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + + - - + + - + - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - + + + + + + + + + + + + - - - - - - - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + - - + + - - + + @@ -4393,14 +4640,14 @@ - - + + - - + + @@ -4539,13 +4786,13 @@ - + - +