From 16e39a9345e9d6bbdeb1bf08a7d666074adae135 Mon Sep 17 00:00:00 2001 From: Grigorii Kirgizov Date: Tue, 17 Mar 2020 17:54:38 +0300 Subject: [PATCH] Check applicable scope for certain checking rules in BL (workaround for BL for MPSCR-51). Fix SubclassingUtil. Modified TYPECHECK query to include "checkingScope" query parameter: it is a root node for which program is generated (for local typechecking it's local node). Rules additionally match on a constraint `checkDecls(node<>)` bearing this node, so while rules will be generated for all scopes, only those in applicable scopes will run. Also split rule for EnumConstantDeclaration on declration checking and just typing rule. --- .../models/types.mps | 4 + ...s.mps.coderules.typechecking.test.util.mps | 6 + ...rains.mps.coderules.typechecking@tests.mps | 6 + ...s.mps.coderules.typechecking.ui.plugin.mps | 18 + ...ins.mps.coderules.typechecking.service.mps | 24 + .../languages/samples.fitch/models/types.mps | 4 + .../samples.lambdacalc/models/types.mps | 4 + .../jetbrains.mps.baseLanguageExt.types.mps | 1434 +++++++---------- ...mps.baseLanguageExt.test.code.generics.mps | 22 +- ...s.mps.baseLanguageExt.test.types@tests.mps | 310 +++- 10 files changed, 944 insertions(+), 888 deletions(-) diff --git a/coderules/languages/jetbrains.mps.typechecking.testlang/models/types.mps b/coderules/languages/jetbrains.mps.typechecking.testlang/models/types.mps index eae9f30a..aca0c49e 100644 --- a/coderules/languages/jetbrains.mps.typechecking.testlang/models/types.mps +++ b/coderules/languages/jetbrains.mps.typechecking.testlang/models/types.mps @@ -712,6 +712,10 @@ + + + + diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking.test.util.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking.test.util.mps index ce647573..d975690a 100644 --- a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking.test.util.mps +++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking.test.util.mps @@ -1523,6 +1523,12 @@ + + + + + + diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking@tests.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking@tests.mps index 333164d1..ea9eebc7 100644 --- a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking@tests.mps +++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.typechecking@tests.mps @@ -1268,6 +1268,12 @@ + + + + + + diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps index 10ef555d..60b37228 100644 --- a/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps +++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.ui/models/jetbrains.mps.coderules.typechecking.ui.plugin.mps @@ -3177,6 +3177,21 @@ + + + + + + + + + + + + + + + @@ -3206,6 +3221,9 @@ + + + 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 4cd097d0..d9af8c94 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 @@ -7417,6 +7417,15 @@ + + + + + + + + + @@ -7439,6 +7448,9 @@ + + + @@ -8059,6 +8071,15 @@ + + + + + + + + + @@ -8079,6 +8100,9 @@ + + + diff --git a/samples/fitch/languages/samples.fitch/models/types.mps b/samples/fitch/languages/samples.fitch/models/types.mps index fd64380f..6cb52771 100644 --- a/samples/fitch/languages/samples.fitch/models/types.mps +++ b/samples/fitch/languages/samples.fitch/models/types.mps @@ -540,6 +540,10 @@ + + + + diff --git a/samples/lambdacalc/languages/samples.lambdacalc/models/types.mps b/samples/lambdacalc/languages/samples.lambdacalc/models/types.mps index 5143bc35..259f23f5 100644 --- a/samples/lambdacalc/languages/samples.lambdacalc/models/types.mps +++ b/samples/lambdacalc/languages/samples.lambdacalc/models/types.mps @@ -8571,6 +8571,10 @@ + + + + diff --git a/samples/mpscore/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps b/samples/mpscore/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps index ef2e82b5..d9af8e00 100644 --- a/samples/mpscore/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps +++ b/samples/mpscore/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps @@ -474,6 +474,7 @@ + @@ -2734,7 +2735,14 @@ - + + + + + + + + @@ -9393,55 +9401,27 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + - - + + + + + - - - - - - - - - - - @@ -9561,6 +9541,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9579,27 +9662,49 @@ + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + - @@ -9623,6 +9728,23 @@ + + + + + + + + + + + + + + + + + @@ -17320,173 +17442,168 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -17495,20 +17612,9 @@ - - - - - - - - - - - - + @@ -31394,6 +31500,10 @@ + + + + @@ -31410,9 +31520,19 @@ + + + + + - + + + + + + @@ -42449,8 +42569,8 @@ - - + + @@ -42639,6 +42759,16 @@ + + + + + + + + + + @@ -42693,16 +42823,6 @@ - - - - - - - - - - @@ -42782,6 +42902,18 @@ + + + + + + + + + + + + @@ -42954,7 +43086,12 @@ - + + + + + + @@ -43366,31 +43503,16 @@ - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - + @@ -43398,6 +43520,18 @@ + + + + + + + + + + + + @@ -43469,7 +43603,12 @@ - + + + + + + @@ -43559,6 +43698,18 @@ + + + + + + + + + + + + @@ -43739,8 +43890,13 @@ - - + + + + + + + @@ -43895,8 +44051,13 @@ - - + + + + + + + @@ -43950,547 +44111,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -45564,8 +45184,21 @@ - + + + + + + + + + + + + + + @@ -45671,8 +45304,13 @@ - - + + + + + + + @@ -46145,30 +45783,19 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + @@ -46224,16 +45851,20 @@ - - - - - - + + + + + + + + + + + + + - - - @@ -46252,39 +45883,22 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + - + - - - + + + - - - + + + @@ -46292,17 +45906,82 @@ - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + @@ -46312,8 +45991,13 @@ - - + + + + + + + @@ -46377,7 +46061,6 @@ - @@ -46478,7 +46161,6 @@ - diff --git a/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.code.generics.mps b/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.code.generics.mps index 99ca5c1d..ee8b559f 100644 --- a/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.code.generics.mps +++ b/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.code.generics.mps @@ -6859,7 +6859,7 @@ - + @@ -6871,13 +6871,13 @@ - + - + @@ -6892,13 +6892,13 @@ - + - + @@ -6906,7 +6906,7 @@ - + @@ -6920,13 +6920,13 @@ - + - + @@ -6934,7 +6934,7 @@ - + @@ -6949,7 +6949,7 @@ - + @@ -6958,7 +6958,7 @@ - + diff --git a/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.types@tests.mps b/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.types@tests.mps index eb56c6ba..5305ff3f 100644 --- a/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.types@tests.mps +++ b/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.types@tests.mps @@ -989,7 +989,7 @@ - + @@ -1046,6 +1046,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1144,6 +1303,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1213,7 +1413,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1300,6 +1552,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +