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

Define TypeLang meta-DSL

parent f2065159
......@@ -8,11 +8,13 @@
<modulePath path="$PROJECT_DIR$/languages/RecordTypes/RecordTypes.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/TypeLang/TypeLang.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/RecordTypes_Checker/RecordTypes_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/TypeLangTest/TypeLangTest.msd" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/VariantTypes_Checker/VariantTypes_Checker.msd" folder="" />
</projectModules>
</component>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -29,6 +29,9 @@
<concept id="1188208481402" name="jetbrains.mps.baseLanguage.structure.HasAnnotation" flags="ng" index="2AJDlI">
<child id="1188208488637" name="annotation" index="2AJF6D" />
</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">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
......@@ -182,6 +185,7 @@
</node>
<node concept="2tJIrI" id="4" role="jymVt" />
<node concept="3clFb_" id="5" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getConstraints" />
<property role="DiZV1" value="false" />
......@@ -350,6 +354,7 @@
</node>
</node>
<node concept="3clFb_" id="C" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getSpecifiedProperties" />
<property role="DiZV1" value="false" />
......@@ -578,6 +583,7 @@
</node>
</node>
<node concept="3clFb_" id="2s" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="hasOwnValidator" />
<property role="DiZV1" value="false" />
......@@ -632,6 +638,7 @@
</node>
</node>
<node concept="3clFb_" id="2t" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="validateValue" />
<property role="DiZV1" value="false" />
......@@ -1026,6 +1033,7 @@
</node>
</node>
<node concept="3clFb_" id="4I" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getSpecifiedProperties" />
<property role="DiZV1" value="false" />
......@@ -1254,6 +1262,7 @@
</node>
</node>
<node concept="3clFb_" id="6y" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="hasOwnValidator" />
<property role="DiZV1" value="false" />
......@@ -1308,6 +1317,7 @@
</node>
</node>
<node concept="3clFb_" id="6z" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="validateValue" />
<property role="DiZV1" value="false" />
......
<?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot>
<dependency className="STLCN.Generator">
<dependency className="STLCN.Generator" file="Generator.java">
<classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.util.Arrays" />
<classNode dependClassName="java.util.Collection" />
......
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-tqvm6syg6wrhdtchxe4283xfgrcshc">
<files names="Generator.java" />
</product>
<dependencies version="2" modelHash="-tqvm6syg6wrhdtchxe4283xfgrcshc" />
<?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot>
<dependency className="main.QueriesGenerated">
<dependency className="main.QueriesGenerated" file="QueriesGenerated.java">
<classNode dependClassName="jetbrains.mps.generator.runtime.Generated" />
<classNode extendsClassName="jetbrains.mps.generator.impl.query.QueryProviderBase" />
</dependency>
......
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="crob94ostvczqrq24cfethwstqw0f8c">
<files names="QueriesGenerated.java" />
</product>
<dependencies version="2" modelHash="crob94ostvczqrq24cfethwstqw0f8c" />
......@@ -291,5 +291,40 @@
</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>
......@@ -286,5 +286,45 @@
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</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>
<?xml version="1.0" encoding="UTF-8"?>
<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="org.jetbrains.annotations.NotNull" />
<classNode dependClassName="org.jetbrains.annotations.Nullable" />
......
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-bybuvojk7plnako6h5jvxi2jq9gov12">
<files names="BehaviorAspectDescriptor.java" />
</product>
<dependencies version="2" modelHash="-bybuvojk7plnako6h5jvxi2jq9gov12" />
<?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot>
<dependency className="STLCN.constraints.ConstraintsAspectDescriptor">
<dependency className="STLCN.constraints.ConstraintsAspectDescriptor" file="ConstraintsAspectDescriptor.java">
<classNode dependClassName="STLCN.constraints.Lam_Constraints" />
<classNode dependClassName="STLCN.constraints.Var_Constraints" />
<classNode dependClassName="java.lang.Override" />
......@@ -12,7 +12,7 @@
<classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
<classNode extendsClassName="jetbrains.mps.smodel.runtime.BaseConstraintsAspectDescriptor" />
</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.String" />
<classNode dependClassName="java.util.HashMap" />
......@@ -26,7 +26,7 @@
<classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" />
<classNode extendsClassName="jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor" />
</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.String" />
<classNode dependClassName="java.util.HashMap" />
......
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-d617daohxr9fqe7niac7a4v2p5i6yjb">
<files names="ConstraintsAspectDescriptor.java:Lam_Constraints.java:Var_Constraints.java" />
</product>
<dependencies version="2" modelHash="-d617daohxr9fqe7niac7a4v2p5i6yjb" />
<?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot>
<dependency className="STLCN.Language">
<dependency className="STLCN.Language" file="Language.java">
<classNode dependClassName="STLCN.behavior.BehaviorAspectDescriptor" />
<classNode dependClassName="STLCN.constraints.ConstraintsAspectDescriptor" />
<classNode dependClassName="STLCN.editor.EditorAspectDescriptorImpl" />
......
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="8mqtmojlc7j3wf7z32b2n7qhssmw98r">
<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>
<dependencies version="2" modelHash="4yd25lsfus1cjboo4b0l0ok8piojvyo" />
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-12bmbpjr5dqv92q8abzrhsr6g7entsz">
<files names="Language.java" />
</product>
<dependencies version="2" modelHash="1ayww1cb4jj4tkldgly85ovexz6cjr5" />
<?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot>
<dependency className="STLCN.structure.ConceptPresentationAspectImpl">
<dependency className="STLCN.structure.ConceptPresentationAspectImpl" file="ConceptPresentationAspectImpl.java">
<classNode dependClassName="STLCN.structure.LanguageConceptSwitch" />
<classNode dependClassName="STLCN.structure.StructureAspectDescriptor" />
<classNode dependClassName="java.lang.Override" />
......@@ -11,20 +11,19 @@
<classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
<classNode extendsClassName="jetbrains.mps.smodel.runtime.ConceptPresentationAspectBase" />
</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.LanguageConceptIndexBuilder" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.ids.SConceptId" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
</dependency>
<dependency className="STLCN.structure.StructureAspectDescriptor">
<dependency className="STLCN.structure.StructureAspectDescriptor" file="StructureAspectDescriptor.java">
<classNode dependClassName="STLCN.structure.LanguageConceptSwitch" />
<classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.util.Arrays" />
<classNode dependClassName="java.util.Collection" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.ids.SConceptId" />
<classNode dependClassName="jetbrains.mps.smodel.runtime.ConceptDescriptor" />
<classNode dependClassName="jetbrains.mps.smodel.runtime.DataTypeDescriptor" />
<classNode dependClassName="jetbrains.mps.smodel.runtime.impl.ConceptDescriptorBuilder2" />
<classNode dependClassName="org.jetbrains.annotations.Nullable" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
......
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="2zz2bwuk9cg975d9lyt8ovftqyso2ig">
<files names="ConceptPresentationAspectImpl.java:LanguageConceptSwitch.java:StructureAspectDescriptor.java" />
</product>
<dependencies version="2" modelHash="-e0zaxoglos99iztux7gy3xkx9yh2c75" />
<?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot>
<dependency className="STLCN.typesystem.TypesystemDescriptor">
<dependency className="STLCN.typesystem.TypesystemDescriptor" file="TypesystemDescriptor.java">
<classNode extendsClassName="jetbrains.mps.lang.typesystem.runtime.BaseHelginsDescriptor" />
</dependency>
</dependenciesRoot>
......
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-2l88mh2xh7ssyjexzaoad56ixfwy8fl">
<files names="TypesystemDescriptor.java" />
</product>
<dependencies version="2" modelHash="-2l88mh2xh7ssyjexzaoad56ixfwy8fl" />
......@@ -29,6 +29,9 @@
<concept id="1188208481402" name="jetbrains.mps.baseLanguage.structure.HasAnnotation" flags="ng" index="2AJDlI">
<child id="1188208488637" name="annotation" index="2AJF6D" />
</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">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
......@@ -182,6 +185,7 @@
</node>
<node concept="2tJIrI" id="4" role="jymVt" />
<node concept="3clFb_" id="5" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getConstraints" />
<property role="DiZV1" value="false" />
......@@ -350,6 +354,7 @@
</node>
</node>
<node concept="3clFb_" id="C" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getSpecifiedProperties" />
<property role="DiZV1" value="false" />
......@@ -578,6 +583,7 @@
</node>
</node>
<node concept="3clFb_" id="2s" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="hasOwnValidator" />
<property role="DiZV1" value="false" />
......@@ -632,6 +638,7 @@
</node>
</node>
<node concept="3clFb_" id="2t" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="validateValue" />
<property role="DiZV1" value="false" />
......@@ -1026,6 +1033,7 @@
</node>
</node>
<node concept="3clFb_" id="4I" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getSpecifiedProperties" />
<property role="DiZV1" value="false" />
......@@ -1254,6 +1262,7 @@
</node>
</node>
<node concept="3clFb_" id="6y" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="hasOwnValidator" />
<property role="DiZV1" value="false" />
......@@ -1308,6 +1317,7 @@
</node>
</node>
<node concept="3clFb_" id="6z" role="jymVt">
<property role="IEkAT" value="false" />
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="validateValue" />
<property role="DiZV1" value="false" />
......
......@@ -191,7 +191,7 @@ import jetbrains.mps.smodel.action.SNodeFactoryOperations;
SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"));
SAbstractConcept childConcept = SNodeOperations.getConcept(child);
if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")))) {
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"), null);
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"), SNodeFactoryOperations.asInstanceConcept(MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")));
return;
}
}
......@@ -222,7 +222,7 @@ import jetbrains.mps.smodel.action.SNodeFactoryOperations;
SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"));
SAbstractConcept childConcept = SNodeOperations.getConcept(child);
if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")))) {
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"), null);
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"), SNodeFactoryOperations.asInstanceConcept(MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")));
return;
}
}
......
......@@ -192,7 +192,7 @@ import jetbrains.mps.smodel.action.SNodeFactoryOperations;
SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"));
SAbstractConcept childConcept = SNodeOperations.getConcept(child);
if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb92d1L, "STLCN.structure.Term")))) {
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"), null);
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"), SNodeFactoryOperations.asInstanceConcept(MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb92d1L, "STLCN.structure.Term")));
return;
}
}
......@@ -223,7 +223,7 @@ import jetbrains.mps.smodel.action.SNodeFactoryOperations;
SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"));
SAbstractConcept childConcept = SNodeOperations.getConcept(child);
if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb92d1L, "STLCN.structure.Term")))) {
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"), null);
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"), SNodeFactoryOperations.asInstanceConcept(MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb92d1L, "STLCN.structure.Term")));
return;
}
}
......
package STLCN.editor;
/*Generated by MPS */
import jetbrains.mps.nodeEditor.DefaultNodeEditor;
import jetbrains.mps.openapi.editor.cells.EditorCell;
import jetbrains.mps.openapi.editor.EditorContext;
import org.jetbrains.mps.openapi.model.SNode;
public class Bind_Editor extends DefaultNodeEditor {
public EditorCell createEditorCell(EditorContext editorContext, SNode node) {
return new Bind_EditorBuilder_a(editorContext, node).createCell();
}
}
package STLCN.editor;
/*Generated by MPS */
import jetbrains.mps.nodeEditor.DefaultNodeEditor;
import jetbrains.mps.openapi.editor.cells.EditorCell;
import jetbrains.mps.openapi.editor.EditorContext;
import org.jetbrains.mps.openapi.model.SNode;
public class Empty_Editor extends DefaultNodeEditor {
public EditorCell createEditorCell(EditorContext editorContext, SNode node) {
return new Empty_EditorBuilder_a(editorContext, node).createCell();
}
}
package STLCN.editor;
/*Generated by MPS */
import jetbrains.mps.editor.runtime.descriptor.AbstractEditorBuilder;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.openapi.editor.EditorContext;
import jetbrains.mps.openapi.editor.cells.EditorCell;
import jetbrains.mps.nodeEditor.cells.EditorCell_Constant;
/*package*/ class Empty_EditorBuilder_a extends AbstractEditorBuilder {
@NotNull
private SNode myNode;
public Empty_EditorBuilder_a(@NotNull EditorContext context, @NotNull SNode node) {
super(context);
myNode = node;
}
@NotNull
@Override
public SNode getNode() {
return myNode;
}
/*package*/ EditorCell createCell() {
return createConstant_0();
}
private EditorCell createConstant_0() {
EditorCell_Constant editorCell = new EditorCell_Constant(getEditorContext(), myNode, "ε");
editorCell.setCellId("Constant_qbgk1b_a");
editorCell.setBig(true);
setCellContext(editorCell);
editorCell.setDefaultText("");
return editorCell;
}
}
......@@ -72,7 +72,7 @@ import jetbrains.mps.nodeEditor.cells.EditorCell_Constant;
SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1"));
SAbstractConcept childConcept = SNodeOperations.getConcept(child);
if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")))) {
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1"), null);
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1"), SNodeFactoryOperations.asInstanceConcept(MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")));
return;
}
}
......@@ -103,7 +103,7 @@ import jetbrains.mps.nodeEditor.cells.EditorCell_Constant;
SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1"));
SAbstractConcept childConcept = SNodeOperations.getConcept(child);
if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")))) {
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1"), null);
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1"), SNodeFactoryOperations.asInstanceConcept(MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")));
return;
}
}
......@@ -267,7 +267,7 @@ import jetbrains.mps.nodeEditor.cells.EditorCell_Constant;
SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9390L, 0x1a4a252762eb9399L, "ty2"));
SAbstractConcept childConcept = SNodeOperations.getConcept(child);
if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")))) {
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9390L, 0x1a4a252762eb9399L, "ty2"), null);
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9390L, 0x1a4a252762eb9399L, "ty2"), SNodeFactoryOperations.asInstanceConcept(MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")));
return;
}
}
......@@ -298,7 +298,7 @@ import jetbrains.mps.nodeEditor.cells.EditorCell_Constant;
SNode child = SLinkOperations.getTarget(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9390L, 0x1a4a252762eb9399L, "ty2"));
SAbstractConcept childConcept = SNodeOperations.getConcept(child);
if (!(GrammarCellsUtil.isExactly(childConcept, MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")))) {
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9390L, 0x1a4a252762eb9399L, "ty2"), null);
SNodeFactoryOperations.setNewChild(node, MetaAdapterFactory.getContainmentLink(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb9390L, 0x1a4a252762eb9399L, "ty2"), SNodeFactoryOperations.asInstanceConcept(MetaAdapterFactory.getInterfaceConcept(0xf7521a8af887420aL, 0xb23b8fffa9357b8fL, 0x1a4a252762eb938fL, "STLCN.structure.Type")));
return;
}
}
......
package STLCN.editor;
/*Generated by MPS */
import jetbrains.mps.nodeEditor.menus.substitute.SubstituteMenuBase;
import org.jetbrains.annotations.NotNull;
import java.util.List;
import jetbrains.mps.lang.editor.menus.MenuPart;
import jetbrains.mps.openapi.editor.menus.substitute.SubstituteMenuItem;
import jetbrains.mps.openapi.editor.menus.substitute.SubstituteMenuContext;
import java.util.ArrayList;
import jetbrains.mps.lang.editor.menus.EditorMenuDescriptorBase;
import com.mbeddr.mpsutil.grammarcells.runtime.menu.GrammarCellsSubstituteMenuPart;
import org.jetbrains.mps.openapi.module.SModule;