Commit 701822f2 authored by Sebastian Erdweg's avatar Sebastian Erdweg

Define TypeLang meta-DSL

parent f2065159
...@@ -8,11 +8,13 @@ ...@@ -8,11 +8,13 @@
<modulePath path="$PROJECT_DIR$/languages/RecordTypes/RecordTypes.mpl" folder="" /> <modulePath path="$PROJECT_DIR$/languages/RecordTypes/RecordTypes.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/languages/SLTCN/SLTCN.mpl" folder="" /> <modulePath path="$PROJECT_DIR$/languages/SLTCN/SLTCN.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/languages/STLCN/STLCN.mpl" folder="" /> <modulePath path="$PROJECT_DIR$/languages/STLCN/STLCN.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/languages/TypeLang/TypeLang.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/languages/VariantTypes/VariantTypes.mpl" folder="" /> <modulePath path="$PROJECT_DIR$/languages/VariantTypes/VariantTypes.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/FORecursiveTypes_Checker/FORecursiveTypes_Checker.msd" folder="" /> <modulePath path="$PROJECT_DIR$/solutions/FORecursiveTypes_Checker/FORecursiveTypes_Checker.msd" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/RecordTypes_Checker/RecordTypes_Checker.msd" folder="" /> <modulePath path="$PROJECT_DIR$/solutions/RecordTypes_Checker/RecordTypes_Checker.msd" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/STLCN_Checker/STLCN_Checker.msd" folder="" /> <modulePath path="$PROJECT_DIR$/solutions/STLCN_Checker/STLCN_Checker.msd" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/SumTypes_Checker/SumTypes_Checker.msd" folder="." /> <modulePath path="$PROJECT_DIR$/solutions/SumTypes_Checker/SumTypes_Checker.msd" folder="." />
<modulePath path="$PROJECT_DIR$/solutions/TypeLangTest/TypeLangTest.msd" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/VariantTypes_Checker/VariantTypes_Checker.msd" folder="" /> <modulePath path="$PROJECT_DIR$/solutions/VariantTypes_Checker/VariantTypes_Checker.msd" folder="" />
</projectModules> </projectModules>
</component> </component>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -29,6 +29,9 @@ ...@@ -29,6 +29,9 @@
<concept id="1188208481402" name="jetbrains.mps.baseLanguage.structure.HasAnnotation" flags="ng" index="2AJDlI"> <concept id="1188208481402" name="jetbrains.mps.baseLanguage.structure.HasAnnotation" flags="ng" index="2AJDlI">
<child id="1188208488637" name="annotation" index="2AJF6D" /> <child id="1188208488637" name="annotation" index="2AJF6D" />
</concept> </concept>
<concept id="1224848483129" name="jetbrains.mps.baseLanguage.structure.IBLDeprecatable" flags="ng" index="IEa8$">
<property id="1224848525476" name="isDeprecated" index="IEkAT" />
</concept>
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi"> <concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" /> <child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" /> <child id="1197027833540" name="operation" index="2OqNvi" />
...@@ -182,6 +185,7 @@ ...@@ -182,6 +185,7 @@
</node> </node>
<node concept="2tJIrI" id="4" role="jymVt" /> <node concept="2tJIrI" id="4" role="jymVt" />
<node concept="3clFb_" id="5" role="jymVt"> <node concept="3clFb_" id="5" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getConstraints" /> <property role="TrG5h" value="getConstraints" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
...@@ -350,6 +354,7 @@ ...@@ -350,6 +354,7 @@
</node> </node>
</node> </node>
<node concept="3clFb_" id="C" role="jymVt"> <node concept="3clFb_" id="C" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getSpecifiedProperties" /> <property role="TrG5h" value="getSpecifiedProperties" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
...@@ -578,6 +583,7 @@ ...@@ -578,6 +583,7 @@
</node> </node>
</node> </node>
<node concept="3clFb_" id="2s" role="jymVt"> <node concept="3clFb_" id="2s" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="hasOwnValidator" /> <property role="TrG5h" value="hasOwnValidator" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
...@@ -632,6 +638,7 @@ ...@@ -632,6 +638,7 @@
</node> </node>
</node> </node>
<node concept="3clFb_" id="2t" role="jymVt"> <node concept="3clFb_" id="2t" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="validateValue" /> <property role="TrG5h" value="validateValue" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
...@@ -1026,6 +1033,7 @@ ...@@ -1026,6 +1033,7 @@
</node> </node>
</node> </node>
<node concept="3clFb_" id="4I" role="jymVt"> <node concept="3clFb_" id="4I" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getSpecifiedProperties" /> <property role="TrG5h" value="getSpecifiedProperties" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
...@@ -1254,6 +1262,7 @@ ...@@ -1254,6 +1262,7 @@
</node> </node>
</node> </node>
<node concept="3clFb_" id="6y" role="jymVt"> <node concept="3clFb_" id="6y" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="hasOwnValidator" /> <property role="TrG5h" value="hasOwnValidator" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
...@@ -1308,6 +1317,7 @@ ...@@ -1308,6 +1317,7 @@
</node> </node>
</node> </node>
<node concept="3clFb_" id="6z" role="jymVt"> <node concept="3clFb_" id="6z" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="validateValue" /> <property role="TrG5h" value="validateValue" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot> <dependenciesRoot>
<dependency className="STLCN.Generator"> <dependency className="STLCN.Generator" file="Generator.java">
<classNode dependClassName="java.lang.Override" /> <classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.util.Arrays" /> <classNode dependClassName="java.util.Arrays" />
<classNode dependClassName="java.util.Collection" /> <classNode dependClassName="java.util.Collection" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-tqvm6syg6wrhdtchxe4283xfgrcshc"> <dependencies version="2" modelHash="-tqvm6syg6wrhdtchxe4283xfgrcshc" />
<files names="Generator.java" />
</product>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot> <dependenciesRoot>
<dependency className="main.QueriesGenerated"> <dependency className="main.QueriesGenerated" file="QueriesGenerated.java">
<classNode dependClassName="jetbrains.mps.generator.runtime.Generated" /> <classNode dependClassName="jetbrains.mps.generator.runtime.Generated" />
<classNode extendsClassName="jetbrains.mps.generator.impl.query.QueryProviderBase" /> <classNode extendsClassName="jetbrains.mps.generator.impl.query.QueryProviderBase" />
</dependency> </dependency>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="crob94ostvczqrq24cfethwstqw0f8c"> <dependencies version="2" modelHash="crob94ostvczqrq24cfethwstqw0f8c" />
<files names="QueriesGenerated.java" />
</product>
...@@ -291,5 +291,40 @@ ...@@ -291,5 +291,40 @@
</node> </node>
</node> </node>
</node> </node>
<node concept="24kQdi" id="2_58u12e1f9">
<property role="3GE5qa" value="context" />
<ref role="1XX52x" to="5va7:2_58u12e1eN" resolve="Bind" />
<node concept="3EZMnI" id="2_58u12e1fb" role="2wV5jI">
<node concept="3F0ifn" id="2_58u12e1fl" role="3EZMnx">
<property role="3F0ifm" value="[" />
</node>
<node concept="3F0A7n" id="2_58u12ss4y" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node>
<node concept="3F0ifn" id="2_58u12ss4N" role="3EZMnx">
<property role="3F0ifm" value=":" />
</node>
<node concept="3F1sOY" id="2_58u12ss5k" role="3EZMnx">
<ref role="1NtTu8" to="5va7:2_58u12slbe" resolve="type" />
</node>
<node concept="3F0ifn" id="2_58u12ss5H" role="3EZMnx">
<property role="3F0ifm" value="," />
</node>
<node concept="3F1sOY" id="2_58u12ss6a" role="3EZMnx">
<ref role="1NtTu8" to="5va7:2_58u12slb9" resolve="rest" />
</node>
<node concept="3F0ifn" id="2_58u12e1fu" role="3EZMnx">
<property role="3F0ifm" value="]" />
</node>
<node concept="l2Vlx" id="2_58u12e1fe" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="2_58u12ss6y">
<property role="3GE5qa" value="context" />
<ref role="1XX52x" to="5va7:2_58u12slbC" resolve="Empty" />
<node concept="3F0ifn" id="2_58u12ss6H" role="2wV5jI">
<property role="3F0ifm" value="ε" />
</node>
</node>
</model> </model>
...@@ -286,5 +286,45 @@ ...@@ -286,5 +286,45 @@
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" /> <ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node> </node>
</node> </node>
<node concept="1TIwiD" id="2_58u12e1eN">
<property role="EcuMT" value="2973820376015442867" />
<property role="TrG5h" value="Bind" />
<property role="3GE5qa" value="context" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyj" id="2_58u12slbe" role="1TKVEi">
<property role="IQ2ns" value="2973820376019194574" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="type" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="1Da9ityUTef" resolve="Type" />
</node>
<node concept="1TJgyj" id="2_58u12slb9" role="1TKVEi">
<property role="IQ2ns" value="2973820376019194569" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="rest" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="2_58u12slaZ" resolve="Context" />
</node>
<node concept="PrWs8" id="2_58u12slbl" role="PzmwI">
<ref role="PrY4T" node="2_58u12slaZ" resolve="Context" />
</node>
<node concept="PrWs8" id="2_58u12slbu" role="PzmwI">
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
</node>
<node concept="PlHQZ" id="2_58u12slaZ">
<property role="EcuMT" value="2973820376019194559" />
<property role="3GE5qa" value="context" />
<property role="TrG5h" value="Context" />
</node>
<node concept="1TIwiD" id="2_58u12slbC">
<property role="EcuMT" value="2973820376019194600" />
<property role="3GE5qa" value="context" />
<property role="TrG5h" value="Empty" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="PrWs8" id="2_58u12slbM" role="PzmwI">
<ref role="PrY4T" node="2_58u12slaZ" resolve="Context" />
</node>
</node>
</model> </model>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot> <dependenciesRoot>
<dependency className="STLCN.behavior.BehaviorAspectDescriptor"> <dependency className="STLCN.behavior.BehaviorAspectDescriptor" file="BehaviorAspectDescriptor.java">
<classNode dependClassName="jetbrains.mps.core.aspects.behaviour.api.BHDescriptor" /> <classNode dependClassName="jetbrains.mps.core.aspects.behaviour.api.BHDescriptor" />
<classNode dependClassName="org.jetbrains.annotations.NotNull" /> <classNode dependClassName="org.jetbrains.annotations.NotNull" />
<classNode dependClassName="org.jetbrains.annotations.Nullable" /> <classNode dependClassName="org.jetbrains.annotations.Nullable" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-bybuvojk7plnako6h5jvxi2jq9gov12"> <dependencies version="2" modelHash="-bybuvojk7plnako6h5jvxi2jq9gov12" />
<files names="BehaviorAspectDescriptor.java" />
</product>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot> <dependenciesRoot>
<dependency className="STLCN.constraints.ConstraintsAspectDescriptor"> <dependency className="STLCN.constraints.ConstraintsAspectDescriptor" file="ConstraintsAspectDescriptor.java">
<classNode dependClassName="STLCN.constraints.Lam_Constraints" /> <classNode dependClassName="STLCN.constraints.Lam_Constraints" />
<classNode dependClassName="STLCN.constraints.Var_Constraints" /> <classNode dependClassName="STLCN.constraints.Var_Constraints" />
<classNode dependClassName="java.lang.Override" /> <classNode dependClassName="java.lang.Override" />
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" /> <classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
<classNode extendsClassName="jetbrains.mps.smodel.runtime.BaseConstraintsAspectDescriptor" /> <classNode extendsClassName="jetbrains.mps.smodel.runtime.BaseConstraintsAspectDescriptor" />
</dependency> </dependency>
<dependency className="STLCN.constraints.Lam_Constraints"> <dependency className="STLCN.constraints.Lam_Constraints" file="Lam_Constraints.java">
<classNode dependClassName="java.lang.Override" /> <classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.lang.String" /> <classNode dependClassName="java.lang.String" />
<classNode dependClassName="java.util.HashMap" /> <classNode dependClassName="java.util.HashMap" />
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" /> <classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" />
<classNode extendsClassName="jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor" /> <classNode extendsClassName="jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor" />
</dependency> </dependency>
<dependency className="STLCN.constraints.Var_Constraints"> <dependency className="STLCN.constraints.Var_Constraints" file="Var_Constraints.java">
<classNode dependClassName="java.lang.Override" /> <classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.lang.String" /> <classNode dependClassName="java.lang.String" />
<classNode dependClassName="java.util.HashMap" /> <classNode dependClassName="java.util.HashMap" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-d617daohxr9fqe7niac7a4v2p5i6yjb"> <dependencies version="2" modelHash="-d617daohxr9fqe7niac7a4v2p5i6yjb" />
<files names="ConstraintsAspectDescriptor.java:Lam_Constraints.java:Var_Constraints.java" />
</product>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot> <dependenciesRoot>
<dependency className="STLCN.Language"> <dependency className="STLCN.Language" file="Language.java">
<classNode dependClassName="STLCN.behavior.BehaviorAspectDescriptor" /> <classNode dependClassName="STLCN.behavior.BehaviorAspectDescriptor" />
<classNode dependClassName="STLCN.constraints.ConstraintsAspectDescriptor" /> <classNode dependClassName="STLCN.constraints.ConstraintsAspectDescriptor" />
<classNode dependClassName="STLCN.editor.EditorAspectDescriptorImpl" /> <classNode dependClassName="STLCN.editor.EditorAspectDescriptorImpl" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="8mqtmojlc7j3wf7z32b2n7qhssmw98r"> <dependencies version="2" modelHash="4yd25lsfus1cjboo4b0l0ok8piojvyo" />
<files names="Anno_Editor.java:Anno_EditorBuilder_a.java:App_Editor.java:App_EditorBuilder_a.java:EditorAspectDescriptorImpl.java:Fun_Editor.java:Fun_EditorBuilder_a.java:GrammarActionsDescriptor.java:GrammarCellsSubstituteMenu_Anno.java:GrammarCellsSubstituteMenu_App.java:GrammarCellsSubstituteMenu_Fun.java:GrammarCellsSubstituteMenu_IModuleElem.java:GrammarCellsSubstituteMenu_Lam.java:GrammarCellsSubstituteMenu_Module.java:GrammarCellsSubstituteMenu_ModuleElemDef.java:GrammarCellsSubstituteMenu_ModuleElemEmpty.java:GrammarCellsSubstituteMenu_ModuleImport.java:GrammarCellsSubstituteMenu_Nat.java:GrammarCellsSubstituteMenu_ParensTerm.java:GrammarCellsSubstituteMenu_ParensType.java:GrammarCellsSubstituteMenu_Succ.java:GrammarCellsSubstituteMenu_Term.java:GrammarCellsSubstituteMenu_Type.java:GrammarCellsSubstituteMenu_Var.java:GrammarCellsSubstituteMenu_Zero.java:Lam_Editor.java:Lam_EditorBuilder_a.java:ModuleElemDef_Editor.java:ModuleElemDef_EditorBuilder_a.java:ModuleElemEmpty_SubstituteMenu.java:ModuleImport_Editor.java:ModuleImport_EditorBuilder_a.java:Module_Editor.java:Module_EditorBuilder_a.java:Nat_Editor.java:Nat_EditorBuilder_a.java:ParensTerm_Editor.java:ParensTerm_EditorBuilder_a.java:ParensType_Editor.java:ParensType_EditorBuilder_a.java:Succ_Editor.java:Succ_EditorBuilder_a.java:Var_Editor.java:Var_EditorBuilder_a.java:Zero_Editor.java:Zero_EditorBuilder_a.java:template_GrammarCellsSideTransformationsMenu.java" />
</product>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-12bmbpjr5dqv92q8abzrhsr6g7entsz"> <dependencies version="2" modelHash="1ayww1cb4jj4tkldgly85ovexz6cjr5" />
<files names="Language.java" />
</product>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot> <dependenciesRoot>
<dependency className="STLCN.structure.ConceptPresentationAspectImpl"> <dependency className="STLCN.structure.ConceptPresentationAspectImpl" file="ConceptPresentationAspectImpl.java">
<classNode dependClassName="STLCN.structure.LanguageConceptSwitch" /> <classNode dependClassName="STLCN.structure.LanguageConceptSwitch" />
<classNode dependClassName="STLCN.structure.StructureAspectDescriptor" /> <classNode dependClassName="STLCN.structure.StructureAspectDescriptor" />
<classNode dependClassName="java.lang.Override" /> <classNode dependClassName="java.lang.Override" />
...@@ -11,20 +11,19 @@ ...@@ -11,20 +11,19 @@
<classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" /> <classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
<classNode extendsClassName="jetbrains.mps.smodel.runtime.ConceptPresentationAspectBase" /> <classNode extendsClassName="jetbrains.mps.smodel.runtime.ConceptPresentationAspectBase" />
</dependency> </dependency>
<dependency className="STLCN.structure.LanguageConceptSwitch"> <dependency className="STLCN.structure.LanguageConceptSwitch" file="LanguageConceptSwitch.java">
<classNode dependClassName="jetbrains.mps.lang.smodel.LanguageConceptIndex" /> <classNode dependClassName="jetbrains.mps.lang.smodel.LanguageConceptIndex" />
<classNode dependClassName="jetbrains.mps.lang.smodel.LanguageConceptIndexBuilder" /> <classNode dependClassName="jetbrains.mps.lang.smodel.LanguageConceptIndexBuilder" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.ids.SConceptId" /> <classNode dependClassName="jetbrains.mps.smodel.adapter.ids.SConceptId" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" /> <classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
</dependency> </dependency>
<dependency className="STLCN.structure.StructureAspectDescriptor"> <dependency className="STLCN.structure.StructureAspectDescriptor" file="StructureAspectDescriptor.java">
<classNode dependClassName="STLCN.structure.LanguageConceptSwitch" /> <classNode dependClassName="STLCN.structure.LanguageConceptSwitch" />
<classNode dependClassName="java.lang.Override" /> <classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.util.Arrays" /> <classNode dependClassName="java.util.Arrays" />
<classNode dependClassName="java.util.Collection" /> <classNode dependClassName="java.util.Collection" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.ids.SConceptId" /> <classNode dependClassName="jetbrains.mps.smodel.adapter.ids.SConceptId" />
<classNode dependClassName="jetbrains.mps.smodel.runtime.ConceptDescriptor" /> <classNode dependClassName="jetbrains.mps.smodel.runtime.ConceptDescriptor" />
<classNode dependClassName="jetbrains.mps.smodel.runtime.DataTypeDescriptor" />
<classNode dependClassName="jetbrains.mps.smodel.runtime.impl.ConceptDescriptorBuilder2" /> <classNode dependClassName="jetbrains.mps.smodel.runtime.impl.ConceptDescriptorBuilder2" />
<classNode dependClassName="org.jetbrains.annotations.Nullable" /> <classNode dependClassName="org.jetbrains.annotations.Nullable" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" /> <classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="2zz2bwuk9cg975d9lyt8ovftqyso2ig"> <dependencies version="2" modelHash="-e0zaxoglos99iztux7gy3xkx9yh2c75" />
<files names="ConceptPresentationAspectImpl.java:LanguageConceptSwitch.java:StructureAspectDescriptor.java" />
</product>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot> <dependenciesRoot>
<dependency className="STLCN.typesystem.TypesystemDescriptor"> <dependency className="STLCN.typesystem.TypesystemDescriptor" file="TypesystemDescriptor.java">
<classNode extendsClassName="jetbrains.mps.lang.typesystem.runtime.BaseHelginsDescriptor" /> <classNode extendsClassName="jetbrains.mps.lang.typesystem.runtime.BaseHelginsDescriptor" />
</dependency> </dependency>
</dependenciesRoot> </dependenciesRoot>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-2l88mh2xh7ssyjexzaoad56ixfwy8fl"> <dependencies version="2" modelHash="-2l88mh2xh7ssyjexzaoad56ixfwy8fl" />
<files names="TypesystemDescriptor.java" />
</product>
...@@ -29,6 +29,9 @@ ...@@ -29,6 +29,9 @@
<concept id="1188208481402" name="jetbrains.mps.baseLanguage.structure.HasAnnotation" flags="ng" index="2AJDlI"> <concept id="1188208481402" name="jetbrains.mps.baseLanguage.structure.HasAnnotation" flags="ng" index="2AJDlI">
<child id="1188208488637" name="annotation" index="2AJF6D" /> <child id="1188208488637" name="annotation" index="2AJF6D" />
</concept> </concept>
<concept id="1224848483129" name="jetbrains.mps.baseLanguage.structure.IBLDeprecatable" flags="ng" index="IEa8$">
<property id="1224848525476" name="isDeprecated" index="IEkAT" />
</concept>
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi"> <concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" /> <child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" /> <child id="1197027833540" name="operation" index="2OqNvi" />
...@@ -182,6 +185,7 @@ ...@@ -182,6 +185,7 @@
</node> </node>
<node concept="2tJIrI" id="4" role="jymVt" /> <node concept="2tJIrI" id="4" role="jymVt" />
<node concept="3clFb_" id="5" role="jymVt"> <node concept="3clFb_" id="5" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getConstraints" /> <property role="TrG5h" value="getConstraints" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
...@@ -350,6 +354,7 @@ ...@@ -350,6 +354,7 @@
</node> </node>
</node> </node>
<node concept="3clFb_" id="C" role="jymVt"> <node concept="3clFb_" id="C" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getSpecifiedProperties" /> <property role="TrG5h" value="getSpecifiedProperties" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
...@@ -578,6 +583,7 @@ ...@@ -578,6 +583,7 @@
</node> </node>
</node> </node>
<node concept="3clFb_" id="2s" role="jymVt"> <node concept="3clFb_" id="2s" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="hasOwnValidator" /> <property role="TrG5h" value="hasOwnValidator" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
...@@ -632,6 +638,7 @@ ...@@ -632,6 +638,7 @@
</node> </node>
</node> </node>
<node concept="3clFb_" id="2t" role="jymVt"> <node concept="3clFb_" id="2t" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="validateValue" /> <property role="TrG5h" value="validateValue" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
...@@ -1026,6 +1033,7 @@ ...@@ -1026,6 +1033,7 @@
</node> </node>
</node> </node>
<node concept="3clFb_" id="4I" role="jymVt"> <node concept="3clFb_" id="4I" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getSpecifiedProperties" /> <property role="TrG5h" value="getSpecifiedProperties" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
...@@ -1254,6 +1262,7 @@ ...@@ -1254,6 +1262,7 @@
</node> </node>
</node> </node>
<node concept="3clFb_" id="6y" role="jymVt"> <node concept="3clFb_" id="6y" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="hasOwnValidator" /> <property role="TrG5h" value="hasOwnValidator" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
...@@ -1308,6 +1317,7 @@ ...@@ -1308,6 +1317,7 @@
</node> </node>
</node> </node>
<node concept="3clFb_" id="6z" role="jymVt"> <node concept="3clFb_" id="6z" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" /> <property role="1EzhhJ" value="false" />
<property role="TrG5h" value="validateValue" /> <property role="TrG5h" value="validateValue" />
<property role="DiZV1" value="false" /> <property role="DiZV1" value="false" />
......
...@@ -191,7 +191,7 @@ import jetbrains.mps.smodel.action.SNodeFactoryOperations; ...@@ -191,7 +191,7 @@ import jetbrains.mps.smodel.action.SNodeFactoryOperations;
SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty")); SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"));
SAbstractConcept childConcept = SNodeOperations.getConcept(child); SAbstractConcept childConcept = SNodeOperations.getConcept(child);
if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")))) {