From 9aefd499757144e1aeffd2737d04aad72b284dac Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Mon, 8 Jan 2018 14:52:43 +0100 Subject: [PATCH] Support for multiple typechecking aspects. An aspect is extended by another aspect in an extension language. --- ...brains.mps.lang.typesystem2.evaluation.mps | 1071 +++++++++++++++-- .../jetbrains/mps/lang/typesystem2/aspect.mps | 33 + 2 files changed, 977 insertions(+), 127 deletions(-) diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps index 64d84d1e..02fdfc5d 100644 --- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps +++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps @@ -43,6 +43,7 @@ + @@ -265,7 +266,6 @@ - @@ -358,6 +358,10 @@ + + + + @@ -432,13 +436,18 @@ + + + + + @@ -457,6 +466,7 @@ + @@ -487,6 +497,7 @@ + @@ -4733,81 +4744,86 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4815,8 +4831,8 @@ - - + + @@ -4869,7 +4885,7 @@ - + @@ -4903,15 +4919,17 @@ - + - - - + + + + + @@ -4921,26 +4939,135 @@ - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4954,51 +5081,20 @@ - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -5029,11 +5125,732 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains/mps/lang/typesystem2/aspect.mps b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains/mps/lang/typesystem2/aspect.mps index 924525e2..a00a7901 100644 --- a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains/mps/lang/typesystem2/aspect.mps +++ b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains/mps/lang/typesystem2/aspect.mps @@ -43,6 +43,8 @@ + + @@ -170,6 +172,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +