From 2de4d697819503495a6197ab109acf254412dfaf Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Fri, 25 May 2018 16:05:49 +0200 Subject: [PATCH] Introduce QueryKind. Fix the kinds of typechecking queries. Avoid directly linking the queries in types aspect. --- .mps/modules.xml | 2 +- build.xml | 32 +- .../jetbrains.mps.baseLanguageExt.mpl | 2 + .../jetbrains.mps.baseLanguageExt.types.mps | 17 +- .../jetbrains.mps.typechecking.testlang.mpl | 6 + .../jetbrains.mps.typechecking.build.mps | 20 +- ...jetbrains.mps.typechecking.sample.test.msd | 2 + .../jetbrains.mps.typechecking@tests.mps | 26 +- .../models/ui.plugin.mps | 63 +- .../jetbrains.mps.typechecking.msd | 2 +- .../models/jetbrains.mps.typechecking.mps | 1237 +++++++++++++++++ .../models/service.mps | 938 +------------ .../generator/template/main@generator.mps | 2 +- .../generator/template/main@generator.mps | 37 +- .../jetbrains.mps.lang.typesystem2.mpl | 4 + .../languageModels/editor.mps | 47 +- .../languageModels/plugin.mps | 5 +- .../languageModels/structure.mps | 7 + .../languageModels/typesystem.mps | 31 + ...brains.mps.lang.typesystem2.evaluation.mps | 83 ++ .../jetbrains.mps.lang.typesystem2.rule.mps | 15 + 21 files changed, 1601 insertions(+), 977 deletions(-) create mode 100644 typechecking/solutions/jetbrains.mps.typechecking/models/jetbrains.mps.typechecking.mps diff --git a/.mps/modules.xml b/.mps/modules.xml index 19bab88f..737d9281 100644 --- a/.mps/modules.xml +++ b/.mps/modules.xml @@ -18,7 +18,7 @@ - + diff --git a/build.xml b/build.xml index 799e0c43..938b520b 100644 --- a/build.xml +++ b/build.xml @@ -2017,7 +2017,7 @@ - + @@ -2047,6 +2047,9 @@ + + + @@ -2054,6 +2057,9 @@ + + + @@ -2075,6 +2081,7 @@ + @@ -2084,7 +2091,7 @@ - + @@ -2115,6 +2122,9 @@ + + + @@ -2122,6 +2132,9 @@ + + + @@ -2141,6 +2154,7 @@ + @@ -2575,7 +2589,7 @@ - + @@ -2598,18 +2612,24 @@ - + + + + + + + @@ -2699,7 +2719,7 @@ - + @@ -2720,6 +2740,7 @@ + @@ -2729,6 +2750,7 @@ + diff --git a/typechecking/languages/jetbrains.mps.baseLanguageExt/jetbrains.mps.baseLanguageExt.mpl b/typechecking/languages/jetbrains.mps.baseLanguageExt/jetbrains.mps.baseLanguageExt.mpl index 511e9880..ad2ab4d8 100644 --- a/typechecking/languages/jetbrains.mps.baseLanguageExt/jetbrains.mps.baseLanguageExt.mpl +++ b/typechecking/languages/jetbrains.mps.baseLanguageExt/jetbrains.mps.baseLanguageExt.mpl @@ -13,6 +13,7 @@ 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK) bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor) ff6372a2-2f45-4ec3-952b-02581666015f(jetbrains.mps.lang.typesystem2.template) + 6998f568-f0e9-473b-b4a8-9efb6499fc8d(jetbrains.mps.typechecking) @@ -60,6 +61,7 @@ + diff --git a/typechecking/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps b/typechecking/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps index e0105c1e..01bf515a 100644 --- a/typechecking/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps +++ b/typechecking/languages/jetbrains.mps.baseLanguageExt/models/jetbrains.mps.baseLanguageExt.types.mps @@ -36,6 +36,7 @@ + @@ -128,6 +129,9 @@ + + + @@ -622,6 +626,7 @@ + @@ -20154,7 +20159,7 @@ - + @@ -20193,9 +20198,13 @@ + + + + - + @@ -20266,6 +20275,10 @@ + + + + diff --git a/typechecking/languages/jetbrains.mps.typechecking.testlang/jetbrains.mps.typechecking.testlang.mpl b/typechecking/languages/jetbrains.mps.typechecking.testlang/jetbrains.mps.typechecking.testlang.mpl index 348e4e05..ceee945a 100644 --- a/typechecking/languages/jetbrains.mps.typechecking.testlang/jetbrains.mps.typechecking.testlang.mpl +++ b/typechecking/languages/jetbrains.mps.typechecking.testlang/jetbrains.mps.typechecking.testlang.mpl @@ -47,6 +47,7 @@ 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK) + 6998f568-f0e9-473b-b4a8-9efb6499fc8d(jetbrains.mps.typechecking) @@ -95,6 +96,11 @@ + + + + + diff --git a/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps b/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps index 2b4ada33..d3a980af 100644 --- a/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps +++ b/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps @@ -933,6 +933,18 @@ + + + + + + + + + + + + @@ -1326,7 +1338,7 @@ - + @@ -1733,6 +1745,12 @@ + + + + + + diff --git a/typechecking/solutions/jetbrains.mps.typechecking.sample.test/jetbrains.mps.typechecking.sample.test.msd b/typechecking/solutions/jetbrains.mps.typechecking.sample.test/jetbrains.mps.typechecking.sample.test.msd index 62ed16ce..0ef7a583 100644 --- a/typechecking/solutions/jetbrains.mps.typechecking.sample.test/jetbrains.mps.typechecking.sample.test.msd +++ b/typechecking/solutions/jetbrains.mps.typechecking.sample.test/jetbrains.mps.typechecking.sample.test.msd @@ -38,9 +38,11 @@ + + diff --git a/typechecking/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps b/typechecking/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps index 20dfed6f..f325d6e5 100644 --- a/typechecking/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps +++ b/typechecking/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps @@ -47,6 +47,7 @@ + @@ -843,9 +844,10 @@ - - - + + + + @@ -1251,9 +1253,9 @@ - - - + + + @@ -1282,9 +1284,9 @@ - - - + + + @@ -1622,9 +1624,9 @@ - - - + + + diff --git a/typechecking/solutions/jetbrains.mps.typechecking.ui/models/ui.plugin.mps b/typechecking/solutions/jetbrains.mps.typechecking.ui/models/ui.plugin.mps index 077d4431..4021a1b5 100644 --- a/typechecking/solutions/jetbrains.mps.typechecking.ui/models/ui.plugin.mps +++ b/typechecking/solutions/jetbrains.mps.typechecking.ui/models/ui.plugin.mps @@ -102,6 +102,7 @@ + @@ -30470,8 +30471,10 @@ - - + + + + @@ -30501,7 +30504,7 @@ - + @@ -31525,8 +31528,10 @@ - - + + + + @@ -31570,7 +31575,7 @@ - + @@ -31871,7 +31876,9 @@ - + + + @@ -33741,30 +33748,15 @@ - - - - - - - - - - - - - - - - - - + + + @@ -33869,22 +33861,6 @@ - - - - - - - - - - - - - - - - @@ -33892,8 +33868,9 @@ - - + + + diff --git a/typechecking/solutions/jetbrains.mps.typechecking/jetbrains.mps.typechecking.msd b/typechecking/solutions/jetbrains.mps.typechecking/jetbrains.mps.typechecking.msd index 65e3f3c9..7a0509bd 100644 --- a/typechecking/solutions/jetbrains.mps.typechecking/jetbrains.mps.typechecking.msd +++ b/typechecking/solutions/jetbrains.mps.typechecking/jetbrains.mps.typechecking.msd @@ -22,7 +22,7 @@ 26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.typesystem2.runtime) a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime) bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor) - ff6372a2-2f45-4ec3-952b-02581666015f(jetbrains.mps.lang.typesystem2.template) + ff6372a2-2f45-4ec3-952b-02581666015f(jetbrains.mps.lang.typesystem2.template) ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core) 742f6602-5a2f-4313-aa6e-ae1cd4ffdc61(MPS.Platform) 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK) diff --git a/typechecking/solutions/jetbrains.mps.typechecking/models/jetbrains.mps.typechecking.mps b/typechecking/solutions/jetbrains.mps.typechecking/models/jetbrains.mps.typechecking.mps new file mode 100644 index 00000000..2419dde1 --- /dev/null +++ b/typechecking/solutions/jetbrains.mps.typechecking/models/jetbrains.mps.typechecking.mps @@ -0,0 +1,1237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/typechecking/solutions/jetbrains.mps.typechecking/models/service.mps b/typechecking/solutions/jetbrains.mps.typechecking/models/service.mps index 5dcae089..379d7253 100644 --- a/typechecking/solutions/jetbrains.mps.typechecking/models/service.mps +++ b/typechecking/solutions/jetbrains.mps.typechecking/models/service.mps @@ -45,6 +45,7 @@ + @@ -330,7 +331,6 @@ - @@ -370,7 +370,6 @@ - @@ -419,10 +418,6 @@ - - - - @@ -447,7 +442,6 @@ - @@ -463,863 +457,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4383,16 +3520,33 @@ + + + + + + + + + + + + + + + + + - + - + @@ -4447,8 +3601,10 @@ - - + + + + @@ -4657,7 +3813,7 @@ - + @@ -4670,9 +3826,9 @@ - + - + @@ -4913,9 +4069,11 @@ - + - + + + @@ -6075,22 +5233,6 @@ - - - - - - - - - - - - - - - - @@ -6111,8 +5253,9 @@ - - + + + @@ -6258,8 +5401,9 @@ - - + + + @@ -6623,8 +5767,10 @@ - - + + + + @@ -6643,7 +5789,7 @@ - + diff --git a/typesystem2/languages/jetbrains.mps.lang.smodel.types/generator/template/main@generator.mps b/typesystem2/languages/jetbrains.mps.lang.smodel.types/generator/template/main@generator.mps index 06d70ff2..531d8764 100644 --- a/typesystem2/languages/jetbrains.mps.lang.smodel.types/generator/template/main@generator.mps +++ b/typesystem2/languages/jetbrains.mps.lang.smodel.types/generator/template/main@generator.mps @@ -79,7 +79,7 @@ - + diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps index 6683cc01..5322f88b 100644 --- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps +++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps @@ -54,8 +54,10 @@ + + + - @@ -20851,6 +20853,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/jetbrains.mps.lang.typesystem2.mpl b/typesystem2/languages/jetbrains.mps.lang.typesystem2/jetbrains.mps.lang.typesystem2.mpl index f4cbc7a8..0f6813e4 100644 --- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/jetbrains.mps.lang.typesystem2.mpl +++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/jetbrains.mps.lang.typesystem2.mpl @@ -27,6 +27,8 @@ bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor) df345b11-b8c7-4213-ac66-48d2a9b75d88(jetbrains.mps.baseLanguageInternal) 96ee7a94-411d-4cf8-9b94-96cad7e52411(jetbrains.mps.baseLanguage.jdk7) + 86ef8290-12bb-4ca7-947f-093788f263a9(jetbrains.mps.lang.project) + 6998f568-f0e9-473b-b4a8-9efb6499fc8d(jetbrains.mps.typechecking) @@ -74,6 +76,7 @@ + @@ -84,6 +87,7 @@ + diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/editor.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/editor.mps index a820cc49..c100ee10 100644 --- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/editor.mps +++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/editor.mps @@ -6808,26 +6808,26 @@ - - - + + + - - - - - - - - - - + + + + + + + + + + @@ -6852,12 +6852,30 @@ + + + + + + + + + + + + + + + + + + @@ -6867,6 +6885,9 @@ + + + diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/plugin.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/plugin.mps index 7e416d02..914d707a 100644 --- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/plugin.mps +++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/plugin.mps @@ -7,7 +7,10 @@ - + + + + diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/structure.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/structure.mps index ea5a0914..14daede0 100644 --- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/structure.mps +++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/structure.mps @@ -1636,6 +1636,13 @@ + + + + + + + diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/typesystem.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/typesystem.mps index d76fd98e..fedfd982 100644 --- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/typesystem.mps +++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/typesystem.mps @@ -1688,5 +1688,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 635a680d..b3bb27bc 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 @@ -12199,6 +12199,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12435,6 +12461,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12700,6 +12761,28 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.rule.mps b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.rule.mps index 6488b8a3..5f594d72 100644 --- a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.rule.mps +++ b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.rule.mps @@ -2051,6 +2051,17 @@ + + + + + + + + + + + @@ -2214,5 +2225,9 @@ + + + +