From 530ace6399b5feb14d2b87d2fbc0cf124f6763f0 Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Wed, 4 Oct 2023 12:38:31 +0200 Subject: [PATCH] Rework editor for expand macro template and prototype Expand macro prototype: "virtual macro". Expand macro template: "override". Override macro displays parameters declared in the prototype as R/O. Introduce "usages" of prototype parameters to serve as local anchors; this avoids problems with generation. The existing code is going to work as before, but marked as erroneous until migrated. --- .../generator/template/main@generator.mps | 480 ++++++++++++------ .../jetbrains.mps.lang.coderules.mpl | 5 + .../languageModels/behavior.mps | 8 +- .../languageModels/constraints.mps | 158 +++--- .../languageModels/editor.mps | 460 ++++++++++++++--- .../languageModels/intentions.mps | 361 ++++++++++++- .../languageModels/structure.mps | 43 +- .../languageModels/typesystem.mps | 178 ++++++- 8 files changed, 1379 insertions(+), 314 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 5bd99ddc..3f5c179d 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 @@ -5392,10 +5392,15 @@ - + + + + + + @@ -5463,123 +5468,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5605,7 +5493,7 @@ - + @@ -5633,6 +5521,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14638,23 +14579,23 @@ - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + @@ -14663,18 +14604,18 @@ - - - - + + + + - + - - - - + + + + @@ -14682,19 +14623,19 @@ - + - + - - - - - - - + + + + + + + @@ -14706,19 +14647,51 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -14727,6 +14700,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14919,7 +14997,7 @@ - + @@ -14938,8 +15016,25 @@ + + + + + + + + + + + + + + + + + - + @@ -14975,6 +15070,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coderules/languages/jetbrains.mps.lang.coderules/jetbrains.mps.lang.coderules.mpl b/coderules/languages/jetbrains.mps.lang.coderules/jetbrains.mps.lang.coderules.mpl index d6b82de3..ae93bd54 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/jetbrains.mps.lang.coderules.mpl +++ b/coderules/languages/jetbrains.mps.lang.coderules/jetbrains.mps.lang.coderules.mpl @@ -96,6 +96,7 @@ a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime) fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures) 528ff3b9-5fc4-40dd-931f-c6ce3650640e(jetbrains.mps.lang.migration.runtime) + 34e84b8f-afa8-4364-abcd-a279fddddbe7(jetbrains.mps.editor.runtime) @@ -154,11 +155,15 @@ + + + + diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps index ed380843..75b234e2 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps @@ -62,6 +62,7 @@ + @@ -130,7 +131,7 @@ - + @@ -139,7 +140,7 @@ - + @@ -229,7 +230,7 @@ - + @@ -1510,6 +1511,7 @@ + diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/constraints.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/constraints.mps index 9498dfd7..59ecf68d 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/constraints.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/constraints.mps @@ -48,7 +48,7 @@ - + @@ -84,6 +84,9 @@ + + + @@ -128,10 +131,11 @@ - + + @@ -146,7 +150,7 @@ - + @@ -261,7 +265,7 @@ - + @@ -1147,77 +1151,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + @@ -2377,5 +2315,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps index b39cb176..17e76609 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/editor.mps @@ -28,8 +28,13 @@ + + + + + @@ -37,7 +42,7 @@ - + @@ -83,7 +88,7 @@ - + @@ -95,6 +100,7 @@ + @@ -166,15 +172,15 @@ - + - + - + @@ -241,11 +247,11 @@ - + - + @@ -276,7 +282,7 @@ - + @@ -297,15 +303,17 @@ - + - - + + + + @@ -326,7 +334,7 @@ - + @@ -402,6 +410,9 @@ + + + @@ -451,10 +462,11 @@ - + + @@ -462,7 +474,14 @@ + + + + + + + @@ -521,6 +540,9 @@ + + + @@ -598,7 +620,7 @@ - + @@ -1398,6 +1420,21 @@ + + + + + + + + + + + + + + + @@ -3434,11 +3471,9 @@ - - - + @@ -3520,6 +3555,13 @@ + + + + + + + @@ -3561,16 +3603,16 @@ + + + - + - - - @@ -3620,8 +3662,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3759,6 +3828,10 @@ + + + + @@ -3812,45 +3885,49 @@ - - - - - - - - - - - - - - - - - - - - - + + + - + - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + @@ -3925,7 +4002,7 @@ - + @@ -3936,6 +4013,7 @@ + @@ -3958,6 +4036,7 @@ + @@ -3979,17 +4058,35 @@ - - - + + + + + + + - + + + + + + + + + + + + + + + @@ -4113,6 +4210,7 @@ + @@ -4135,12 +4233,6 @@ - - - - - - @@ -4154,12 +4246,6 @@ - - - - - - @@ -7234,6 +7320,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9184,5 +9339,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/intentions.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/intentions.mps index ae5842dc..2155e8eb 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/intentions.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/intentions.mps @@ -18,6 +18,7 @@ + @@ -27,6 +28,9 @@ + + + @@ -101,6 +105,7 @@ + @@ -138,6 +143,10 @@ + + + + @@ -151,6 +160,7 @@ + @@ -166,6 +176,9 @@ + + + @@ -178,7 +191,7 @@ - + @@ -198,11 +211,25 @@ + + + + + + + + + + + + + + @@ -870,5 +897,337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps index 7d4a387a..cfe47c04 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps @@ -107,7 +107,7 @@ - + @@ -1138,6 +1138,13 @@ + + + + + + + @@ -1229,6 +1236,7 @@ + @@ -1772,5 +1780,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/typesystem.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/typesystem.mps index f29e044a..0321edad 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/typesystem.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/typesystem.mps @@ -57,6 +57,7 @@ + @@ -89,7 +90,7 @@ - + @@ -111,7 +112,7 @@ - + @@ -162,6 +163,9 @@ + + + @@ -171,6 +175,7 @@ + @@ -210,6 +215,9 @@ + + + @@ -250,7 +258,7 @@ - + @@ -258,11 +266,16 @@ + + + + + @@ -1478,5 +1491,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +