From 76859dc69a5d2c28ac3d83b6d4d6c787295dccfb Mon Sep 17 00:00:00 2001 From: Grigorii Kirgizov Date: Tue, 24 Dec 2019 13:48:06 +0300 Subject: [PATCH] Provide required info for return ty inference or assign Object type. Fixes minor MPSCR-27 During investigation a different issue has been found. Currently, e.g. when checking args to a method call, if there's an error then inference variable remains free. It allows to continue typechecking without spurious additional errors triggered by former ones, but with this approach all relations must gracefully handle free vars, and it's more difficult to avoid "no type". There's an alternative to always assign to inference var a type at hand, even it doesn't pass checks -- but then there're more unneccessary errors. Both approaches seem valid, no action is taken now. --- .../jetbrains.mps.baseLanguageExt.types.mps | 376 ++++++++++++------ ...mps.baseLanguageExt.test.code.generics.mps | 50 ++- 2 files changed, 290 insertions(+), 136 deletions(-) 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 17e9ce11..d4065f04 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 @@ -3049,85 +3049,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -10077,6 +9998,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11311,12 +11466,12 @@ - - - + + + - + @@ -11520,16 +11675,6 @@ - - - - - - - - - - @@ -11541,6 +11686,16 @@ + + + + + + + + + + @@ -15218,17 +15373,6 @@ - - - - - - - - - - - @@ -16016,12 +16160,12 @@ - - - + + + - + @@ -16183,12 +16327,12 @@ - - - + + + - + @@ -16279,12 +16423,12 @@ - - - + + + - + 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 89532140..9c39f365 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 @@ -2133,11 +2133,11 @@ - + - - + + @@ -2161,12 +2161,26 @@ + + + + + + + + + + + + + + + + + - - - - + @@ -2182,7 +2196,7 @@ - + @@ -2192,18 +2206,14 @@ - - - - - - - - - - - - + + + + + + + +