Commit e7e43255 authored by André Pacak's avatar André Pacak
Browse files

functional implementation of typechecker (sumtypes) in IncA

parent 63d6f349
This diff is collapsed.
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
</registry> </registry>
<node concept="312cEu" id="0"> <node concept="312cEu" id="0">
<property role="3GE5qa" value="term" /> <property role="3GE5qa" value="term" />
<property role="TrG5h" value="CaseCase_Constraints" /> <property role="TrG5h" value="CCase_Constraints" />
<node concept="3Tm1VV" id="1" role="1B3o_S"> <node concept="3Tm1VV" id="1" role="1B3o_S">
<node concept="cd27G" id="7" role="lGtFl"> <node concept="cd27G" id="7" role="lGtFl">
<node concept="3u3nmq" id="8" role="cd27D"> <node concept="3u3nmq" id="8" role="cd27D">
...@@ -225,7 +225,7 @@ ...@@ -225,7 +225,7 @@
</node> </node>
</node> </node>
<node concept="Xl_RD" id="o" role="37wK5m"> <node concept="Xl_RD" id="o" role="37wK5m">
<property role="Xl_RC" value="SumTypes.structure.CaseCase" /> <property role="Xl_RC" value="SumTypes.structure.CCase" />
<node concept="cd27G" id="w" role="lGtFl"> <node concept="cd27G" id="w" role="lGtFl">
<node concept="3u3nmq" id="x" role="cd27D"> <node concept="3u3nmq" id="x" role="cd27D">
<property role="3u3nmv" value="2951477311799629350" /> <property role="3u3nmv" value="2951477311799629350" />
...@@ -926,7 +926,7 @@ ...@@ -926,7 +926,7 @@
<node concept="3clFbS" id="4G" role="1pnPq1"> <node concept="3clFbS" id="4G" role="1pnPq1">
<node concept="3cpWs6" id="4I" role="3cqZAp"> <node concept="3cpWs6" id="4I" role="3cqZAp">
<node concept="1nCR9W" id="4J" role="3cqZAk"> <node concept="1nCR9W" id="4J" role="3cqZAk">
<property role="1nD$Q0" value="SumTypes.constraints.CaseCase_Constraints" /> <property role="1nD$Q0" value="SumTypes.constraints.CCase_Constraints" />
<node concept="3uibUv" id="4K" role="2lIhxL"> <node concept="3uibUv" id="4K" role="2lIhxL">
<ref role="3uigEE" to="ze1i:~ConstraintsDescriptor" resolve="ConstraintsDescriptor" /> <ref role="3uigEE" to="ze1i:~ConstraintsDescriptor" resolve="ConstraintsDescriptor" />
</node> </node>
...@@ -934,7 +934,7 @@ ...@@ -934,7 +934,7 @@
</node> </node>
</node> </node>
<node concept="3gn64h" id="4H" role="1pnPq6"> <node concept="3gn64h" id="4H" role="1pnPq6">
<ref role="3gnhBz" to="xkot:1Da9ityUUyE" resolve="CaseCase" /> <ref role="3gnhBz" to="xkot:1Da9ityUUyE" resolve="CCase" />
</node> </node>
</node> </node>
<node concept="3clFbS" id="4s" role="1prKM_" /> <node concept="3clFbS" id="4s" role="1prKM_" />
......
...@@ -76,19 +76,19 @@ ...@@ -76,19 +76,19 @@
</file> </file>
</root> </root>
<root nodeRef="r:974e8c2a-7080-4ca5-bdab-6d74431c3763(SumTypes.constraints)/2951477311799629350"> <root nodeRef="r:974e8c2a-7080-4ca5-bdab-6d74431c3763(SumTypes.constraints)/2951477311799629350">
<file name="CaseCase_Constraints.java"> <file name="CCase_Constraints.java">
<node id="2951477311799629350" at="17,33,18,134" concept="5" /> <node id="2951477311799629350" at="17,30,18,131" concept="5" />
<node id="2951477311799629350" at="22,84,23,119" concept="3" /> <node id="2951477311799629350" at="22,84,23,119" concept="3" />
<node id="2951477311799629428" at="26,40,27,20" concept="4" /> <node id="2951477311799629428" at="26,40,27,20" concept="4" />
<node id="2951477311799629428" at="30,70,31,37" concept="3" /> <node id="2951477311799629428" at="30,70,31,37" concept="3" />
<node id="2951477311799629434" at="31,37,32,149" concept="4" /> <node id="2951477311799629434" at="31,37,32,149" concept="4" />
<node id="2951477311799629350" at="34,7,35,22" concept="4" /> <node id="2951477311799629350" at="34,7,35,22" concept="4" />
<node id="2951477311799629350" at="17,0,20,0" concept="0" trace="CaseCase_Constraints#()V" /> <node id="2951477311799629350" at="17,0,20,0" concept="0" trace="CCase_Constraints#()V" />
<node id="2951477311799629428" at="25,0,29,0" concept="2" trace="hasOwnValidator#()Z" /> <node id="2951477311799629428" at="25,0,29,0" concept="2" trace="hasOwnValidator#()Z" />
<node id="2951477311799629428" at="29,0,34,0" concept="2" trace="validateValue#(Lorg/jetbrains/mps/openapi/model/SNode;Ljava/lang/String;)Z" /> <node id="2951477311799629428" at="29,0,34,0" concept="2" trace="validateValue#(Lorg/jetbrains/mps/openapi/model/SNode;Ljava/lang/String;)Z" />
<node id="2951477311799629428" at="23,119,34,7" concept="1" /> <node id="2951477311799629428" at="23,119,34,7" concept="1" />
<node id="2951477311799629350" at="21,0,37,0" concept="2" trace="getSpecifiedProperties#()Ljava/util/Map;" /> <node id="2951477311799629350" at="21,0,37,0" concept="2" trace="getSpecifiedProperties#()Ljava/util/Map;" />
<scope id="2951477311799629350" at="17,33,18,134" /> <scope id="2951477311799629350" at="17,30,18,131" />
<scope id="2951477311799629428" at="26,40,27,20" /> <scope id="2951477311799629428" at="26,40,27,20" />
<scope id="2951477311799629428" at="30,70,32,149"> <scope id="2951477311799629428" at="30,70,32,149">
<var name="propertyName" id="2951477311799629428" /> <var name="propertyName" id="2951477311799629428" />
...@@ -103,8 +103,8 @@ ...@@ -103,8 +103,8 @@
<var name="properties" id="2951477311799629350" /> <var name="properties" id="2951477311799629350" />
</scope> </scope>
<scope id="2951477311799629350" at="21,0,37,0" /> <scope id="2951477311799629350" at="21,0,37,0" />
<unit id="2951477311799629428" at="24,137,34,5" name="SumTypes.constraints.CaseCase_Constraints$1" /> <unit id="2951477311799629428" at="24,137,34,5" name="SumTypes.constraints.CCase_Constraints$1" />
<unit id="2951477311799629350" at="16,0,38,0" name="SumTypes.constraints.CaseCase_Constraints" /> <unit id="2951477311799629350" at="16,0,38,0" name="SumTypes.constraints.CCase_Constraints" />
</file> </file>
</root> </root>
<root nodeRef="r:974e8c2a-7080-4ca5-bdab-6d74431c3763(SumTypes.constraints)/7618853173233427716"> <root nodeRef="r:974e8c2a-7080-4ca5-bdab-6d74431c3763(SumTypes.constraints)/7618853173233427716">
......
...@@ -184,7 +184,7 @@ ...@@ -184,7 +184,7 @@
</node> </node>
<node concept="1M2fIO" id="2zPKfCWshoA"> <node concept="1M2fIO" id="2zPKfCWshoA">
<property role="3GE5qa" value="term" /> <property role="3GE5qa" value="term" />
<ref role="1M2myG" to="xkot:1Da9ityUUyE" resolve="CaseCase" /> <ref role="1M2myG" to="xkot:1Da9ityUUyE" resolve="CCase" />
<node concept="EnEH3" id="2zPKfCWshpO" role="1MhHOB"> <node concept="EnEH3" id="2zPKfCWshpO" role="1MhHOB">
<ref role="EomxK" to="tpck:h0TrG11" resolve="name" /> <ref role="EomxK" to="tpck:h0TrG11" resolve="name" />
<node concept="QB0g5" id="2zPKfCWshpS" role="QCWH9"> <node concept="QB0g5" id="2zPKfCWshpS" role="QCWH9">
......
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
</concept> </concept>
<concept id="1073389882823" name="jetbrains.mps.lang.editor.structure.CellModel_RefNode" flags="sg" stub="730538219795960754" index="3F1sOY" /> <concept id="1073389882823" name="jetbrains.mps.lang.editor.structure.CellModel_RefNode" flags="sg" stub="730538219795960754" index="3F1sOY" />
<concept id="1073390211982" name="jetbrains.mps.lang.editor.structure.CellModel_RefNodeList" flags="sg" stub="2794558372793454595" index="3F2HdR" /> <concept id="1073390211982" name="jetbrains.mps.lang.editor.structure.CellModel_RefNodeList" flags="sg" stub="2794558372793454595" index="3F2HdR" />
<concept id="1198256887712" name="jetbrains.mps.lang.editor.structure.CellModel_Indent" flags="ng" index="3XFhqQ" />
<concept id="1166049232041" name="jetbrains.mps.lang.editor.structure.AbstractComponent" flags="ng" index="1XWOmA"> <concept id="1166049232041" name="jetbrains.mps.lang.editor.structure.AbstractComponent" flags="ng" index="1XWOmA">
<reference id="1166049300910" name="conceptDeclaration" index="1XX52x" /> <reference id="1166049300910" name="conceptDeclaration" index="1XX52x" />
</concept> </concept>
...@@ -258,28 +259,42 @@ ...@@ -258,28 +259,42 @@
<node concept="24kQdi" id="6JCho9VC0np"> <node concept="24kQdi" id="6JCho9VC0np">
<property role="3GE5qa" value="term" /> <property role="3GE5qa" value="term" />
<ref role="1XX52x" to="xkot:1Da9ityUUxN" resolve="Case" /> <ref role="1XX52x" to="xkot:1Da9ityUUxN" resolve="Case" />
<node concept="3EZMnI" id="6JCho9VC0nr" role="2wV5jI"> <node concept="3EZMnI" id="6m6bBlJmbRi" role="2wV5jI">
<node concept="3F0ifn" id="6JCho9VC0nC" role="3EZMnx"> <node concept="l2Vlx" id="6m6bBlJmbRj" role="2iSdaV" />
<node concept="3F0ifn" id="6m6bBlJmbRm" role="3EZMnx">
<property role="3F0ifm" value="case" /> <property role="3F0ifm" value="case" />
</node> </node>
<node concept="3F1sOY" id="6AVADwUwFhD" role="3EZMnx"> <node concept="3F1sOY" id="6m6bBlJmbRr" role="3EZMnx">
<ref role="1NtTu8" to="xkot:1Da9ityUUxS" resolve="matchee" /> <ref role="1NtTu8" to="xkot:1Da9ityUUxS" resolve="matchee" />
</node> </node>
<node concept="3F0ifn" id="6JCho9VC0ox" role="3EZMnx"> <node concept="3F0ifn" id="6m6bBlJmbRz" role="3EZMnx">
<property role="3F0ifm" value="of" /> <property role="3F0ifm" value="of" />
</node> </node>
<node concept="3F1sOY" id="6AVADwUwFy$" role="3EZMnx"> <node concept="3XFhqQ" id="6m6bBlJmbTP" role="3EZMnx" />
<ref role="1NtTu8" to="xkot:1Da9ityUUyQ" resolve="c1" /> <node concept="3F0A7n" id="6m6bBlJmbU8" role="3EZMnx">
<ref role="1NtTu8" to="xkot:6m6bBlJafKa" resolve="name1" />
</node> </node>
<node concept="3F1sOY" id="6AVADwUwFVn" role="3EZMnx"> <node concept="3F0ifn" id="6m6bBlJmbUm" role="3EZMnx">
<ref role="1NtTu8" to="xkot:1Da9ityUUyX" resolve="c2" /> <property role="3F0ifm" value="-&gt;" />
</node>
<node concept="3F1sOY" id="6m6bBlJmbUA" role="3EZMnx">
<ref role="1NtTu8" to="xkot:1Da9ityUUyQ" resolve="t1" />
</node>
<node concept="3XFhqQ" id="6m6bBlJmbVA" role="3EZMnx" />
<node concept="3F0A7n" id="6m6bBlJmbVU" role="3EZMnx">
<ref role="1NtTu8" to="xkot:6m6bBlJafKc" resolve="name2" />
</node>
<node concept="3F0ifn" id="6m6bBlJmbWg" role="3EZMnx">
<property role="3F0ifm" value="-&gt;" />
</node>
<node concept="3F1sOY" id="6m6bBlJmbWC" role="3EZMnx">
<ref role="1NtTu8" to="xkot:1Da9ityUUyX" resolve="t2" />
</node> </node>
<node concept="l2Vlx" id="6JCho9VC0nu" role="2iSdaV" />
</node> </node>
</node> </node>
<node concept="24kQdi" id="6JCho9VC0qE"> <node concept="24kQdi" id="6JCho9VC0qE">
<property role="3GE5qa" value="term" /> <property role="3GE5qa" value="term" />
<ref role="1XX52x" to="xkot:1Da9ityUUyE" resolve="CaseCase" /> <ref role="1XX52x" to="xkot:1Da9ityUUyE" resolve="CCase" />
<node concept="3EZMnI" id="6JCho9VC0qG" role="2wV5jI"> <node concept="3EZMnI" id="6JCho9VC0qG" role="2wV5jI">
<node concept="3F0A7n" id="6JCho9VC0qT" role="3EZMnx"> <node concept="3F0A7n" id="6JCho9VC0qT" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" /> <ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
<property id="6714410169261853888" name="conceptId" index="EcuMT" /> <property id="6714410169261853888" name="conceptId" index="EcuMT" />
<property id="5092175715804935370" name="conceptAlias" index="34LRSv" /> <property id="5092175715804935370" name="conceptAlias" index="34LRSv" />
<child id="1071489727083" name="linkDeclaration" index="1TKVEi" /> <child id="1071489727083" name="linkDeclaration" index="1TKVEi" />
<child id="1071489727084" name="propertyDeclaration" index="1TKVEl" />
</concept> </concept>
<concept id="1169125989551" name="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" flags="ig" index="PlHQZ" /> <concept id="1169125989551" name="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" flags="ig" index="PlHQZ" />
<concept id="1169127622168" name="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" flags="ig" index="PrWs8"> <concept id="1169127622168" name="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" flags="ig" index="PrWs8">
...@@ -24,6 +25,10 @@ ...@@ -24,6 +25,10 @@
<reference id="1071489389519" name="extends" index="1TJDcQ" /> <reference id="1071489389519" name="extends" index="1TJDcQ" />
<child id="1169129564478" name="implements" index="PzmwI" /> <child id="1169129564478" name="implements" index="PzmwI" />
</concept> </concept>
<concept id="1071489288299" name="jetbrains.mps.lang.structure.structure.PropertyDeclaration" flags="ig" index="1TJgyi">
<property id="241647608299431129" name="propertyId" index="IQ2nx" />
<reference id="1082985295845" name="dataType" index="AX2Wp" />
</concept>
<concept id="1071489288298" name="jetbrains.mps.lang.structure.structure.LinkDeclaration" flags="ig" index="1TJgyj"> <concept id="1071489288298" name="jetbrains.mps.lang.structure.structure.LinkDeclaration" flags="ig" index="1TJgyj">
<property id="1071599776563" name="role" index="20kJfa" /> <property id="1071599776563" name="role" index="20kJfa" />
<property id="1071599893252" name="sourceCardinality" index="20lbJX" /> <property id="1071599893252" name="sourceCardinality" index="20lbJX" />
...@@ -375,22 +380,32 @@ ...@@ -375,22 +380,32 @@
<node concept="1TJgyj" id="1Da9ityUUyQ" role="1TKVEi"> <node concept="1TJgyj" id="1Da9ityUUyQ" role="1TKVEi">
<property role="IQ2ns" value="1894367444356278454" /> <property role="IQ2ns" value="1894367444356278454" />
<property role="20lmBu" value="aggregation" /> <property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="c1" /> <property role="20kJfa" value="t1" />
<property role="20lbJX" value="1" /> <property role="20lbJX" value="1" />
<ref role="20lvS9" node="1Da9ityUUyE" resolve="CaseCase" /> <ref role="20lvS9" node="1Da9ityUTbh" resolve="Term" />
</node> </node>
<node concept="1TJgyj" id="1Da9ityUUyX" role="1TKVEi"> <node concept="1TJgyj" id="1Da9ityUUyX" role="1TKVEi">
<property role="IQ2ns" value="1894367444356278461" /> <property role="IQ2ns" value="1894367444356278461" />
<property role="20lmBu" value="aggregation" /> <property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="c2" /> <property role="20kJfa" value="t2" />
<property role="20lbJX" value="1" /> <property role="20lbJX" value="1" />
<ref role="20lvS9" node="1Da9ityUUyE" resolve="CaseCase" /> <ref role="20lvS9" node="1Da9ityUTbh" resolve="Term" />
</node>
<node concept="1TJgyi" id="6m6bBlJafKa" role="1TKVEl">
<property role="IQ2nx" value="7315585726620957706" />
<property role="TrG5h" value="name1" />
<ref role="AX2Wp" to="tpck:fKAOsGN" resolve="string" />
</node>
<node concept="1TJgyi" id="6m6bBlJafKc" role="1TKVEl">
<property role="IQ2nx" value="7315585726620957708" />
<property role="TrG5h" value="name2" />
<ref role="AX2Wp" to="tpck:fKAOsGN" resolve="string" />
</node> </node>
</node> </node>
<node concept="1TIwiD" id="1Da9ityUUyE"> <node concept="1TIwiD" id="1Da9ityUUyE">
<property role="EcuMT" value="1894367444356278442" /> <property role="EcuMT" value="1894367444356278442" />
<property role="3GE5qa" value="term" /> <property role="3GE5qa" value="term" />
<property role="TrG5h" value="CaseCase" /> <property role="TrG5h" value="CCase" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" /> <ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyj" id="1Da9ityUUyJ" role="1TKVEi"> <node concept="1TJgyj" id="1Da9ityUUyJ" role="1TKVEi">
<property role="IQ2ns" value="1894367444356278447" /> <property role="IQ2ns" value="1894367444356278447" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot> <dependenciesRoot>
<dependency className="SumTypes.constraints.CaseCase_Constraints"> <dependency className="SumTypes.constraints.CCase_Constraints">
<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" />
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<classNode extendsClassName="jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor" /> <classNode extendsClassName="jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor" />
</dependency> </dependency>
<dependency className="SumTypes.constraints.ConstraintsAspectDescriptor"> <dependency className="SumTypes.constraints.ConstraintsAspectDescriptor">
<classNode dependClassName="SumTypes.constraints.CaseCase_Constraints" /> <classNode dependClassName="SumTypes.constraints.CCase_Constraints" />
<classNode dependClassName="SumTypes.constraints.Lam_Constraints" /> <classNode dependClassName="SumTypes.constraints.Lam_Constraints" />
<classNode dependClassName="SumTypes.constraints.Let_Constraints" /> <classNode dependClassName="SumTypes.constraints.Let_Constraints" />
<classNode dependClassName="SumTypes.constraints.Var_Constraints" /> <classNode dependClassName="SumTypes.constraints.Var_Constraints" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-ae17k825ga15mwtrwvbvg1p5pz71ceu"> <product version="3" modelHash="-5uugb64gc44ecqjz2xeivxlx5bf9jvf">
<files names="CaseCase_Constraints.java:ConstraintsAspectDescriptor.java:Lam_Constraints.java:Let_Constraints.java:Var_Constraints.java" /> <files names="CCase_Constraints.java:ConstraintsAspectDescriptor.java:Lam_Constraints.java:Let_Constraints.java:Var_Constraints.java" />
</product> </product>
...@@ -114,14 +114,14 @@ ...@@ -114,14 +114,14 @@
<classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" /> <classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" />
<classNode extendsClassName="jetbrains.mps.editor.runtime.descriptor.AbstractEditorBuilder" /> <classNode extendsClassName="jetbrains.mps.editor.runtime.descriptor.AbstractEditorBuilder" />
</dependency> </dependency>
<dependency className="SumTypes.editor.CaseCase_Editor"> <dependency className="SumTypes.editor.CCase_Editor">
<classNode dependClassName="SumTypes.editor.CaseCase_EditorBuilder_a" /> <classNode dependClassName="SumTypes.editor.CCase_EditorBuilder_a" />
<classNode dependClassName="jetbrains.mps.openapi.editor.EditorContext" /> <classNode dependClassName="jetbrains.mps.openapi.editor.EditorContext" />
<classNode dependClassName="jetbrains.mps.openapi.editor.cells.EditorCell" /> <classNode dependClassName="jetbrains.mps.openapi.editor.cells.EditorCell" />
<classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" /> <classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" />
<classNode extendsClassName="jetbrains.mps.nodeEditor.DefaultNodeEditor" /> <classNode extendsClassName="jetbrains.mps.nodeEditor.DefaultNodeEditor" />
</dependency> </dependency>
<dependency className="SumTypes.editor.CaseCase_EditorBuilder_a"> <dependency className="SumTypes.editor.CCase_EditorBuilder_a">
<classNode dependClassName="com.mbeddr.mpsutil.grammarcells.runtime.CellActionWithReadAccess" /> <classNode dependClassName="com.mbeddr.mpsutil.grammarcells.runtime.CellActionWithReadAccess" />
<classNode dependClassName="java.lang.Iterable" /> <classNode dependClassName="java.lang.Iterable" />
<classNode dependClassName="java.lang.Override" /> <classNode dependClassName="java.lang.Override" />
...@@ -174,23 +174,41 @@ ...@@ -174,23 +174,41 @@
<classNode extendsClassName="jetbrains.mps.nodeEditor.DefaultNodeEditor" /> <classNode extendsClassName="jetbrains.mps.nodeEditor.DefaultNodeEditor" />
</dependency> </dependency>
<dependency className="SumTypes.editor.Case_EditorBuilder_a"> <dependency className="SumTypes.editor.Case_EditorBuilder_a">
<classNode dependClassName="java.lang.Iterable" />
<classNode dependClassName="java.lang.Override" /> <classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.lang.String" /> <classNode dependClassName="java.lang.String" />
<classNode dependClassName="java.util.Objects" />
<classNode dependClassName="jetbrains.mps.editor.runtime.impl.cellActions.CellAction_DeleteSPropertyOrNode" />
<classNode dependClassName="jetbrains.mps.editor.runtime.impl.cellActions.CellAction_DeleteSmart" /> <classNode dependClassName="jetbrains.mps.editor.runtime.impl.cellActions.CellAction_DeleteSmart" />
<classNode dependClassName="jetbrains.mps.internal.collections.runtime.IWhereFilter" />
<classNode dependClassName="jetbrains.mps.internal.collections.runtime.Sequence" />
<classNode dependClassName="jetbrains.mps.lang.core.behavior.PropertyAttribute__BehaviorDescriptor" />
<classNode dependClassName="jetbrains.mps.lang.editor.cellProviders.SingleRoleCellProvider" /> <classNode dependClassName="jetbrains.mps.lang.editor.cellProviders.SingleRoleCellProvider" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.AttributeOperations" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.IAttributeDescriptor" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations" />
<classNode dependClassName="jetbrains.mps.nodeEditor.EditorManager" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cellActions.CellAction_DeleteNode" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cellLayout.CellLayout_Indent" /> <classNode dependClassName="jetbrains.mps.nodeEditor.cellLayout.CellLayout_Indent" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cellMenu.SChildSubstituteInfo" /> <classNode dependClassName="jetbrains.mps.nodeEditor.cellMenu.SChildSubstituteInfo" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cellMenu.SEmptyContainmentSubstituteInfo" /> <classNode dependClassName="jetbrains.mps.nodeEditor.cellMenu.SEmptyContainmentSubstituteInfo" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cellMenu.SPropertySubstituteInfo" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cells.EditorCell_Collection" /> <classNode dependClassName="jetbrains.mps.nodeEditor.cells.EditorCell_Collection" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cells.EditorCell_Constant" /> <classNode dependClassName="jetbrains.mps.nodeEditor.cells.EditorCell_Constant" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cells.EditorCell_Indent" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cells.EditorCell_Property" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cells.SPropertyAccessor" />
<classNode dependClassName="jetbrains.mps.openapi.editor.EditorContext" /> <classNode dependClassName="jetbrains.mps.openapi.editor.EditorContext" />
<classNode dependClassName="jetbrains.mps.openapi.editor.cells.CellActionType" /> <classNode dependClassName="jetbrains.mps.openapi.editor.cells.CellActionType" />
<classNode dependClassName="jetbrains.mps.openapi.editor.cells.DefaultSubstituteInfo" /> <classNode dependClassName="jetbrains.mps.openapi.editor.cells.DefaultSubstituteInfo" />
<classNode dependClassName="jetbrains.mps.openapi.editor.cells.EditorCell" /> <classNode dependClassName="jetbrains.mps.openapi.editor.cells.EditorCell" />
<classNode dependClassName="jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation" /> <classNode dependClassName="jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation" />
<classNode dependClassName="jetbrains.mps.openapi.editor.menus.transformation.SPropertyInfo" />
<classNode dependClassName="jetbrains.mps.openapi.editor.update.AttributeKind" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory" /> <classNode dependClassName="jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory" />
<classNode dependClassName="org.jetbrains.annotations.NotNull" /> <classNode dependClassName="org.jetbrains.annotations.NotNull" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SContainmentLink" /> <classNode dependClassName="org.jetbrains.mps.openapi.language.SContainmentLink" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SProperty" />
<classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" /> <classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" />
<classNode extendsClassName="jetbrains.mps.editor.runtime.descriptor.AbstractEditorBuilder" /> <classNode extendsClassName="jetbrains.mps.editor.runtime.descriptor.AbstractEditorBuilder" />
</dependency> </dependency>
...@@ -198,14 +216,14 @@ ...@@ -198,14 +216,14 @@
<classNode dependClassName="SumTypes.editor.Add_Editor" /> <classNode dependClassName="SumTypes.editor.Add_Editor" />
<classNode dependClassName="SumTypes.editor.Anno_Editor" /> <classNode dependClassName="SumTypes.editor.Anno_Editor" />
<classNode dependClassName="SumTypes.editor.App_Editor" /> <classNode dependClassName="SumTypes.editor.App_Editor" />
<classNode dependClassName="SumTypes.editor.CaseCase_Editor" /> <classNode dependClassName="SumTypes.editor.CCase_Editor" />
<classNode dependClassName="SumTypes.editor.Case_Editor" /> <classNode dependClassName="SumTypes.editor.Case_Editor" />
<classNode dependClassName="SumTypes.editor.Fun_Editor" /> <classNode dependClassName="SumTypes.editor.Fun_Editor" />
<classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_Add" /> <classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_Add" />
<classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_Anno" /> <classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_Anno" />
<classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_App" /> <classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_App" />
<classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_CCase" />
<classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_Case" /> <classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_Case" />
<classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_CaseCase" />
<classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_Fun" /> <classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_Fun" />
<classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_IModuleElem" /> <classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_IModuleElem" />
<classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_InL" /> <classNode dependClassName="SumTypes.editor.GrammarCellsSubstituteMenu_InL" />
...@@ -299,7 +317,7 @@ ...@@ -299,7 +317,7 @@
<classNode dependClassName="SumTypes.editor.Add_Editor" /> <classNode dependClassName="SumTypes.editor.Add_Editor" />
<classNode dependClassName="SumTypes.editor.Anno_Editor" /> <classNode dependClassName="SumTypes.editor.Anno_Editor" />
<classNode dependClassName="SumTypes.editor.App_Editor" /> <classNode dependClassName="SumTypes.editor.App_Editor" />
<classNode dependClassName="SumTypes.editor.CaseCase_Editor" /> <classNode dependClassName="SumTypes.editor.CCase_Editor" />
<classNode dependClassName="SumTypes.editor.Fun_Editor" /> <classNode dependClassName="SumTypes.editor.Fun_Editor" />
<classNode dependClassName="SumTypes.editor.Let_Editor" /> <classNode dependClassName="SumTypes.editor.Let_Editor" />
<classNode dependClassName="SumTypes.editor.Succ_Editor" /> <classNode dependClassName="SumTypes.editor.Succ_Editor" />
...@@ -418,7 +436,7 @@ ...@@ -418,7 +436,7 @@
<classNode dependClassName="org.jetbrains.mps.openapi.persistence.PersistenceFacade" /> <classNode dependClassName="org.jetbrains.mps.openapi.persistence.PersistenceFacade" />
<classNode extendsClassName="jetbrains.mps.nodeEditor.menus.substitute.SubstituteMenuBase" /> <classNode extendsClassName="jetbrains.mps.nodeEditor.menus.substitute.SubstituteMenuBase" />
</dependency> </dependency>
<dependency className="SumTypes.editor.GrammarCellsSubstituteMenu_Case"> <dependency className="SumTypes.editor.GrammarCellsSubstituteMenu_CCase">
<classNode dependClassName="com.mbeddr.mpsutil.grammarcells.runtime.menu.GrammarCellsSubstituteMenuPart" /> <classNode dependClassName="com.mbeddr.mpsutil.grammarcells.runtime.menu.GrammarCellsSubstituteMenuPart" />
<classNode dependClassName="java.lang.Override" /> <classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.util.ArrayList" /> <classNode dependClassName="java.util.ArrayList" />
...@@ -435,7 +453,7 @@ ...@@ -435,7 +453,7 @@
<classNode dependClassName="org.jetbrains.mps.openapi.persistence.PersistenceFacade" /> <classNode dependClassName="org.jetbrains.mps.openapi.persistence.PersistenceFacade" />
<classNode extendsClassName="jetbrains.mps.nodeEditor.menus.substitute.SubstituteMenuBase" /> <classNode extendsClassName="jetbrains.mps.nodeEditor.menus.substitute.SubstituteMenuBase" />
</dependency> </dependency>
<dependency className="SumTypes.editor.GrammarCellsSubstituteMenu_CaseCase"> <dependency className="SumTypes.editor.GrammarCellsSubstituteMenu_Case">
<classNode dependClassName="com.mbeddr.mpsutil.grammarcells.runtime.menu.GrammarCellsSubstituteMenuPart" /> <classNode dependClassName="com.mbeddr.mpsutil.grammarcells.runtime.menu.GrammarCellsSubstituteMenuPart" />
<classNode dependClassName="java.lang.Override" /> <classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.util.ArrayList" /> <classNode dependClassName="java.util.ArrayList" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-3otejg5vci9mwsgi3d2l7t4ue8p97md"> <product version="3" modelHash="cixbw4on4dswh37ldmasd1l6oca8f5y">
<files names="Add_Editor.java:Add_EditorBuilder_a.java:Anno_Editor.java:Anno_EditorBuilder_a.java:App_Editor.java:App_EditorBuilder_a.java:CaseCase_Editor.java:CaseCase_EditorBuilder_a.java:Case_Editor.java:Case_EditorBuilder_a.java:EditorAspectDescriptorImpl.java:Fun_Editor.java:Fun_EditorBuilder_a.java:GrammarActionsDescriptor.java:GrammarCellsSubstituteMenu_Add.java:GrammarCellsSubstituteMenu_Anno.java:GrammarCellsSubstituteMenu_App.java:GrammarCellsSubstituteMenu_Case.java:GrammarCellsSubstituteMenu_CaseCase.java:GrammarCellsSubstituteMenu_Fun.java:GrammarCellsSubstituteMenu_IModuleElem.java:GrammarCellsSubstituteMenu_InL.java:GrammarCellsSubstituteMenu_InR.java:GrammarCellsSubstituteMenu_Lam.java:GrammarCellsSubstituteMenu_Let.java:GrammarCellsSubstituteMenu_Module.java:GrammarCellsSubstituteMenu_ModuleElemDef.java:GrammarCellsSubstituteMenu_ModuleElemEmpty.java:GrammarCellsSubstituteMenu_ModuleImport.java:GrammarCellsSubstituteMenu_Mult.java:GrammarCellsSubstituteMenu_Nat.java:GrammarCellsSubstituteMenu_ParensTerm.java:GrammarCellsSubstituteMenu_ParensType.java:GrammarCellsSubstituteMenu_Succ.java:GrammarCellsSubstituteMenu_Sum.java:GrammarCellsSubstituteMenu_Term.java:GrammarCellsSubstituteMenu_Type.java:GrammarCellsSubstituteMenu_Var.java:GrammarCellsSubstituteMenu_Zero.java:InL_Editor.java:InL_EditorBuilder_a.java:InR_Editor.java:InR_EditorBuilder_a.java:Lam_Editor.java:Lam_EditorBuilder_a.java:Let_Editor.java:Let_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:Mult_Editor.java:Mult_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:Sum_Editor.java:Sum_EditorBuilder_a.java:Var_Editor.java:Var_EditorBuilder_a.java:Zero_Editor.java:Zero_EditorBuilder_a.java:template_GrammarCellsSideTransformationsMenu.java" /> <files names="Add_Editor.java:Add_EditorBuilder_a.java:Anno_Editor.java:Anno_EditorBuilder_a.java:App_Editor.java:App_EditorBuilder_a.java:CCase_Editor.java:CCase_EditorBuilder_a.java:Case_Editor.java:Case_EditorBuilder_a.java:EditorAspectDescriptorImpl.java:Fun_Editor.java:Fun_EditorBuilder_a.java:GrammarActionsDescriptor.java:GrammarCellsSubstituteMenu_Add.java:GrammarCellsSubstituteMenu_Anno.java:GrammarCellsSubstituteMenu_App.java:GrammarCellsSubstituteMenu_CCase.java:GrammarCellsSubstituteMenu_Case.java:GrammarCellsSubstituteMenu_Fun.java:GrammarCellsSubstituteMenu_IModuleElem.java:GrammarCellsSubstituteMenu_InL.java:GrammarCellsSubstituteMenu_InR.java:GrammarCellsSubstituteMenu_Lam.java:GrammarCellsSubstituteMenu_Let.java:GrammarCellsSubstituteMenu_Module.java:GrammarCellsSubstituteMenu_ModuleElemDef.java:GrammarCellsSubstituteMenu_ModuleElemEmpty.java:GrammarCellsSubstituteMenu_ModuleImport.java:GrammarCellsSubstituteMenu_Mult.java:GrammarCellsSubstituteMenu_Nat.java:GrammarCellsSubstituteMenu_ParensTerm.java:GrammarCellsSubstituteMenu_ParensType.java:GrammarCellsSubstituteMenu_Succ.java:GrammarCellsSubstituteMenu_Sum.java:GrammarCellsSubstituteMenu_Term.java:GrammarCellsSubstituteMenu_Type.java:GrammarCellsSubstituteMenu_Var.java:GrammarCellsSubstituteMenu_Zero.java:InL_Editor.java:InL_EditorBuilder_a.java:InR_Editor.java:InR_EditorBuilder_a.java:Lam_Editor.java:Lam_EditorBuilder_a.java:Let_Editor.java:Let_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:Mult_Editor.java:Mult_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:Sum_Editor.java:Sum_EditorBuilder_a.java:Var_Editor.java:Var_EditorBuilder_a.java:Zero_Editor.java:Zero_EditorBuilder_a.java:template_GrammarCellsSideTransformationsMenu.java" />
</product> </product>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-8zhe524f3m3wgwzon42jotpzwu2754j"> <product version="3" modelHash="-g1iezjogyijdpkhbnbt5cw546zz9w8">
<files names="Language.java" /> <files names="Language.java" />
</product> </product>
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<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.PrimitiveTypeId" />
<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.DataTypeDescriptor" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="17n1fs0ic3yht1xwze65halwbr8a98i"> <product version="3" modelHash="-an9483fzk2po58vhxy1movxqafplz3v">
<files names="ConceptPresentationAspectImpl.java:LanguageConceptSwitch.java:StructureAspectDescriptor.java" /> <files names="ConceptPresentationAspectImpl.java:LanguageConceptSwitch.java:StructureAspectDescriptor.java" />
</product> </product>
...@@ -13,9 +13,9 @@ import jetbrains.mps.smodel.adapter.ids.MetaIdFactory; ...@@ -13,9 +13,9 @@ import jetbrains.mps.smodel.adapter.ids.MetaIdFactory;
import org.jetbrains.mps.openapi.model.SNode; import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations;
public class CaseCase_Constraints extends BaseConstraintsDescriptor { public class CCase_Constraints extends BaseConstraintsDescriptor {
public CaseCase_Constraints() { public CCase_Constraints() {
super(MetaAdapterFactory.getConcept(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, "SumTypes.structure.CaseCase")); super(MetaAdapterFactory.getConcept(0x8d2332833fa47ceL, 0x89dfdaaa7554f251L, 0x1a4a252762eba8aaL, "SumTypes.structure.CCase"));
} }
@Override @Override
......
...@@ -19,7 +19,7 @@ public class ConstraintsAspectDescriptor extends BaseConstraintsAspectDescriptor ...@@ -19,7 +19,7 @@ public class ConstraintsAspectDescriptor extends BaseConstraintsAspectDescriptor
SAbstractConcept cncpt = concept; SAbstractConcept cncpt = concept;
switch (conceptIndex.index(cncpt)) { switch (conceptIndex.index(cncpt)) {
case 0: case 0: