From 530dfd8719006bc360c883277b77eff4e60f92ed Mon Sep 17 00:00:00 2001 From: Grigorii Kirgizov Date: Mon, 28 Oct 2019 20:55:24 +0300 Subject: [PATCH] Fix incorrect vis scopes due to failing coerceTo queries. Assign 'fallback' type in classifierType macro on error to continue typechecking besides returning error. The problem is concerned from incorrect recover of captureType given recent changes to its handling. Essentially, recover was losing information about inferred type var bounds. Also, necessary rule for convertsTo for upperBpundType was missing. --- .../jetbrains.mps.baseLanguageExt.types.mps | 461 +++++++++++++++++- ...ecking.samples.baseLanguage.bounds.bad.mps | 163 ++++++- 2 files changed, 613 insertions(+), 11 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 51f64979..e613e862 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 @@ -15036,6 +15036,19 @@ + + + + + + + + + + + + + @@ -15098,6 +15111,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -24692,8 +24770,39 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -24705,11 +24814,14 @@ - + + + + @@ -24726,8 +24838,24 @@ - - + + + + + + + + + + + + + + + + + + @@ -24748,8 +24876,255 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -33226,6 +33601,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -33266,7 +33713,6 @@ - @@ -33283,7 +33729,6 @@ - diff --git a/samples/mpscore/solutions/typechecking.samples.baseLanguage/models/typechecking.samples.baseLanguage.bounds.bad.mps b/samples/mpscore/solutions/typechecking.samples.baseLanguage/models/typechecking.samples.baseLanguage.bounds.bad.mps index 152b0a1b..2580916e 100644 --- a/samples/mpscore/solutions/typechecking.samples.baseLanguage/models/typechecking.samples.baseLanguage.bounds.bad.mps +++ b/samples/mpscore/solutions/typechecking.samples.baseLanguage/models/typechecking.samples.baseLanguage.bounds.bad.mps @@ -6,13 +6,16 @@ - + + + + @@ -1125,7 +1128,7 @@ - + @@ -1300,7 +1303,7 @@ - + @@ -1331,6 +1334,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +