From a2f8f5e6f364d3dbe67b6580bcda7630c7b15919 Mon Sep 17 00:00:00 2001 From: Grigorii Kirgizov Date: Tue, 24 Dec 2019 18:47:50 +0300 Subject: [PATCH] Handle cases with free & inference variables in containment, remove few unneeded rules (MPSCR-11) Remove rules which handle capture+inference var case separately: it's already handled. Remove rule with error on bound which shouldn't be triggered with new hasBound semantics. Add symmetric rule for case value+inference var: types can be inferred nevermind relation direction. Add rules for free vars without bounds (these ain't inference vars). Need in such vars arise when e.g. params in classifierType terms must be somehow accessed. It's used in MethodCall rules. --- .../jetbrains.mps.baseLanguageExt.types.mps | 1288 ++++++----------- ...mps.baseLanguageExt.test.code.generics.mps | 147 +- 2 files changed, 566 insertions(+), 869 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 6da0b5a4..9f5d45fe 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 @@ -11400,24 +11400,8 @@ - + - - - - - - - - - - - - - - - - @@ -11446,6 +11430,7 @@ + @@ -11542,106 +11527,96 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + - - - - - - - + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11768,159 +11743,125 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - + + - - - - - - - + + + + + + + + + + - - - - + + + + + + + + + + + + + + + @@ -11930,77 +11871,127 @@ - - - - - - - - - - - - - + + + + + + + + - + - - - - - - - - - + - - - + + + - - + + - - + + - - - - - - + + + + + + - - + + + + + + - - - - - - + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12090,6 +12081,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12254,459 +12391,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -12715,13 +12399,13 @@ - + - + - + @@ -12732,7 +12416,7 @@ - + @@ -12741,13 +12425,13 @@ - + - + @@ -12760,10 +12444,10 @@ - + - + @@ -12839,106 +12523,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -17455,7 +17039,7 @@ - + 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 06fad5f2..8f5e46d9 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 @@ -1695,7 +1695,6 @@ - @@ -2255,6 +2254,15 @@ + + + + + + + + + @@ -2329,9 +2337,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2481,22 +2586,7 @@ - - - - - - - - - - - - - - - - + @@ -2649,6 +2739,29 @@ + + + + + + + + + + + + + + + + + + + + + + +