From ac2e3f97d234d886191332eb0a008713e6f6f9cc Mon Sep 17 00:00:00 2001 From: Grigorii Kirgizov Date: Thu, 14 May 2020 18:39:17 +0300 Subject: [PATCH] Add typechecking for implicitly typed closure arg, add tests --- ...ins.mps.baseLanguage.closuresExt.types.mps | 2372 +++++++++++++++-- ...brains.mps.baseLanguage.function.types.mps | 33 + ...baseLanguage.closuresExt.test.closures.mps | 312 ++- ...Language.closuresExt.test.collections.mps} | 742 +++++- 4 files changed, 3192 insertions(+), 267 deletions(-) rename samples/mpscore/solutions/jetbrains.mps.baseLanguage.closuresExt.test/models/{jetbrains.mps.baseLanguage.closuresExt.test.yield.mps => jetbrains.mps.baseLanguage.closuresExt.test.collections.mps} (55%) diff --git a/samples/mpscore/languages/jetbrains.mps.baseLanguage.closuresExt/models/jetbrains.mps.baseLanguage.closuresExt.types.mps b/samples/mpscore/languages/jetbrains.mps.baseLanguage.closuresExt/models/jetbrains.mps.baseLanguage.closuresExt.types.mps index e6819dde..0332c6d8 100644 --- a/samples/mpscore/languages/jetbrains.mps.baseLanguage.closuresExt/models/jetbrains.mps.baseLanguage.closuresExt.types.mps +++ b/samples/mpscore/languages/jetbrains.mps.baseLanguage.closuresExt/models/jetbrains.mps.baseLanguage.closuresExt.types.mps @@ -197,6 +197,9 @@ + + + @@ -240,6 +243,10 @@ + + + + @@ -268,6 +275,13 @@ + + + + + + + @@ -352,6 +366,7 @@ + @@ -371,6 +386,9 @@ + + + @@ -385,6 +403,19 @@ + + + + + + + + + + + + + @@ -414,6 +445,9 @@ + + + @@ -433,6 +467,9 @@ + + + @@ -479,6 +516,9 @@ + + + @@ -1540,56 +1580,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3879,68 +3869,1790 @@ - + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - + - - + + - - + + - - - + + + - - - - - - - - + + + + + + + + - + - - - + + + - + - - - + + + - + @@ -3950,131 +5662,150 @@ - + - + - - + + - - + + - - - + + + - + - - + + - + - - - - + + + + - + - - - - + + + + - + - - - - - - - + + + + + + + - - + + - - - - - + + + + + - + - - - - - - - + + + + + + + - + - + - + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - + - - - + + + + + + + + + + + + - @@ -4083,93 +5814,104 @@ - - - + + + - + - - - - + - - - + + + + + + + + + - + - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - + + @@ -4180,50 +5922,50 @@ - + - - - - - + + + + + - - - - + + + + - + - + - - - + + + - + - - + + - + - - - + + + - - + + @@ -4231,13 +5973,125 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/mpscore/languages/jetbrains.mps.baseLanguage.function/models/jetbrains.mps.baseLanguage.function.types.mps b/samples/mpscore/languages/jetbrains.mps.baseLanguage.function/models/jetbrains.mps.baseLanguage.function.types.mps index e40ce98f..ab5fa1d4 100644 --- a/samples/mpscore/languages/jetbrains.mps.baseLanguage.function/models/jetbrains.mps.baseLanguage.function.types.mps +++ b/samples/mpscore/languages/jetbrains.mps.baseLanguage.function/models/jetbrains.mps.baseLanguage.function.types.mps @@ -50,6 +50,9 @@ + + + @@ -172,6 +175,14 @@ + + + + + + + + @@ -377,6 +388,12 @@ + + + + + + @@ -406,6 +423,14 @@ + + + + + + + + @@ -451,6 +476,14 @@ + + + + + + + + diff --git a/samples/mpscore/solutions/jetbrains.mps.baseLanguage.closuresExt.test/models/jetbrains.mps.baseLanguage.closuresExt.test.closures.mps b/samples/mpscore/solutions/jetbrains.mps.baseLanguage.closuresExt.test/models/jetbrains.mps.baseLanguage.closuresExt.test.closures.mps index f81d2ea3..26c19058 100644 --- a/samples/mpscore/solutions/jetbrains.mps.baseLanguage.closuresExt.test/models/jetbrains.mps.baseLanguage.closuresExt.test.closures.mps +++ b/samples/mpscore/solutions/jetbrains.mps.baseLanguage.closuresExt.test/models/jetbrains.mps.baseLanguage.closuresExt.test.closures.mps @@ -116,6 +116,7 @@ + @@ -1026,11 +1027,13 @@ - + - + + + @@ -1045,6 +1048,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -1167,7 +1190,7 @@ - + @@ -1175,7 +1198,7 @@ - + @@ -1236,6 +1259,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1344,6 +1392,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1486,7 +1589,7 @@ - + @@ -1503,7 +1606,7 @@ - + @@ -1521,7 +1624,7 @@ - + @@ -2773,6 +2876,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3232,6 +3378,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/mpscore/solutions/jetbrains.mps.baseLanguage.closuresExt.test/models/jetbrains.mps.baseLanguage.closuresExt.test.yield.mps b/samples/mpscore/solutions/jetbrains.mps.baseLanguage.closuresExt.test/models/jetbrains.mps.baseLanguage.closuresExt.test.collections.mps similarity index 55% rename from samples/mpscore/solutions/jetbrains.mps.baseLanguage.closuresExt.test/models/jetbrains.mps.baseLanguage.closuresExt.test.yield.mps rename to samples/mpscore/solutions/jetbrains.mps.baseLanguage.closuresExt.test/models/jetbrains.mps.baseLanguage.closuresExt.test.collections.mps index 3a82712d..968e4b76 100644 --- a/samples/mpscore/solutions/jetbrains.mps.baseLanguage.closuresExt.test/models/jetbrains.mps.baseLanguage.closuresExt.test.yield.mps +++ b/samples/mpscore/solutions/jetbrains.mps.baseLanguage.closuresExt.test/models/jetbrains.mps.baseLanguage.closuresExt.test.collections.mps @@ -1,5 +1,5 @@ - + @@ -20,11 +20,17 @@ + + + + + + @@ -48,6 +54,7 @@ + @@ -80,15 +87,22 @@ + + + + + + + @@ -140,6 +154,7 @@ + @@ -890,5 +905,730 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +