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

working type checker for sum types in IncA

parent e17aea27
This diff is collapsed.
......@@ -8,7 +8,103 @@
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1070475587102:jetbrains.mps.baseLanguage.structure.SuperConstructorInvocation" />
<root>
<file name="ConstraintsAspectDescriptor.java">
<unit at="13,0,29,0" name="SumTypes.constraints.ConstraintsAspectDescriptor" />
<unit at="13,0,35,0" name="SumTypes.constraints.ConstraintsAspectDescriptor" />
</file>
</root>
<root nodeRef="r:974e8c2a-7080-4ca5-bdab-6d74431c3763(SumTypes.constraints)/2951477311799558508">
<file name="Var_Constraints.java">
<node id="2951477311799558508" at="17,28,18,129" concept="5" />
<node id="2951477311799558508" at="22,84,23,119" concept="3" />
<node id="2951477311799558586" at="26,40,27,20" concept="4" />
<node id="2951477311799558586" at="30,70,31,37" concept="3" />
<node id="2951477311799559064" at="31,37,32,233" concept="4" />
<node id="2951477311799558508" at="34,7,35,22" concept="4" />
<node id="2951477311799558508" at="17,0,20,0" concept="0" trace="Var_Constraints#()V" />
<node id="2951477311799558586" at="25,0,29,0" concept="2" trace="hasOwnValidator#()Z" />
<node id="2951477311799558586" at="29,0,34,0" concept="2" trace="validateValue#(Lorg/jetbrains/mps/openapi/model/SNode;Ljava/lang/String;)Z" />
<node id="2951477311799558586" at="23,119,34,7" concept="1" />
<node id="2951477311799558508" at="21,0,37,0" concept="2" trace="getSpecifiedProperties#()Ljava/util/Map;" />
<scope id="2951477311799558508" at="17,28,18,129" />
<scope id="2951477311799558586" at="26,40,27,20" />
<scope id="2951477311799558586" at="30,70,32,233">
<var name="propertyName" id="2951477311799558586" />
</scope>
<scope id="2951477311799558508" at="17,0,20,0" />
<scope id="2951477311799558586" at="25,0,29,0" />
<scope id="2951477311799558586" at="29,0,34,0">
<var name="node" id="2951477311799558586" />
<var name="propertyValue" id="2951477311799558586" />
</scope>
<scope id="2951477311799558508" at="22,84,35,22">
<var name="properties" id="2951477311799558508" />
</scope>
<scope id="2951477311799558508" at="21,0,37,0" />
<unit id="2951477311799558586" at="24,137,34,5" name="SumTypes.constraints.Var_Constraints$1" />
<unit id="2951477311799558508" at="16,0,38,0" name="SumTypes.constraints.Var_Constraints" />
</file>
</root>
<root nodeRef="r:974e8c2a-7080-4ca5-bdab-6d74431c3763(SumTypes.constraints)/2951477311799627903">
<file name="Let_Constraints.java">
<node id="2951477311799627903" at="17,28,18,129" concept="5" />
<node id="2951477311799627903" at="22,84,23,119" concept="3" />
<node id="2951477311799628656" at="26,40,27,20" concept="4" />
<node id="2951477311799628656" at="30,70,31,37" concept="3" />
<node id="5790571747118569642" at="31,37,32,149" concept="4" />
<node id="2951477311799627903" at="34,7,35,22" concept="4" />
<node id="2951477311799627903" at="17,0,20,0" concept="0" trace="Let_Constraints#()V" />
<node id="2951477311799628656" at="25,0,29,0" concept="2" trace="hasOwnValidator#()Z" />
<node id="2951477311799628656" at="29,0,34,0" concept="2" trace="validateValue#(Lorg/jetbrains/mps/openapi/model/SNode;Ljava/lang/String;)Z" />
<node id="2951477311799628656" at="23,119,34,7" concept="1" />
<node id="2951477311799627903" at="21,0,37,0" concept="2" trace="getSpecifiedProperties#()Ljava/util/Map;" />
<scope id="2951477311799627903" at="17,28,18,129" />
<scope id="2951477311799628656" at="26,40,27,20" />
<scope id="2951477311799628656" at="30,70,32,149">
<var name="propertyName" id="2951477311799628656" />
</scope>
<scope id="2951477311799627903" at="17,0,20,0" />
<scope id="2951477311799628656" at="25,0,29,0" />
<scope id="2951477311799628656" at="29,0,34,0">
<var name="node" id="2951477311799628656" />
<var name="propertyValue" id="2951477311799628656" />
</scope>
<scope id="2951477311799627903" at="22,84,35,22">
<var name="properties" id="2951477311799627903" />
</scope>
<scope id="2951477311799627903" at="21,0,37,0" />
<unit id="2951477311799628656" at="24,137,34,5" name="SumTypes.constraints.Let_Constraints$1" />
<unit id="2951477311799627903" at="16,0,38,0" name="SumTypes.constraints.Let_Constraints" />
</file>
</root>
<root nodeRef="r:974e8c2a-7080-4ca5-bdab-6d74431c3763(SumTypes.constraints)/2951477311799629350">
<file name="CaseCase_Constraints.java">
<node id="2951477311799629350" at="17,33,18,134" concept="5" />
<node id="2951477311799629350" at="22,84,23,119" concept="3" />
<node id="2951477311799629428" at="26,40,27,20" concept="4" />
<node id="2951477311799629428" at="30,70,31,37" concept="3" />
<node id="2951477311799629434" at="31,37,32,149" 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="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="23,119,34,7" concept="1" />
<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="2951477311799629428" at="26,40,27,20" />
<scope id="2951477311799629428" at="30,70,32,149">
<var name="propertyName" id="2951477311799629428" />
</scope>
<scope id="2951477311799629350" at="17,0,20,0" />
<scope id="2951477311799629428" at="25,0,29,0" />
<scope id="2951477311799629428" at="29,0,34,0">
<var name="node" id="2951477311799629428" />
<var name="propertyValue" id="2951477311799629428" />
</scope>
<scope id="2951477311799629350" at="22,84,35,22">
<var name="properties" id="2951477311799629350" />
</scope>
<scope id="2951477311799629350" at="21,0,37,0" />
<unit id="2951477311799629428" at="24,137,34,5" name="SumTypes.constraints.CaseCase_Constraints$1" />
<unit id="2951477311799629350" at="16,0,38,0" name="SumTypes.constraints.CaseCase_Constraints" />
</file>
</root>
<root nodeRef="r:974e8c2a-7080-4ca5-bdab-6d74431c3763(SumTypes.constraints)/7618853173233427716">
......
......@@ -4982,13 +4982,13 @@
<node concept="liA8E" id="sW" role="2OqNvi">
<ref role="37wK5l" to="bzg8:~ConceptDescriptorBuilder2.parent(long,long,long):jetbrains.mps.smodel.runtime.impl.ConceptDescriptorBuilder2" resolve="parent" />
<node concept="1adDum" id="sX" role="37wK5m">
<property role="1adDun" value="0xf3061a5392264cc5L" />
<property role="1adDun" value="0xceab519525ea4f22L" />
</node>
<node concept="1adDum" id="sY" role="37wK5m">
<property role="1adDun" value="0xa443f952ceaf5816L" />
<property role="1adDun" value="0x9b92103b95ca8c0cL" />
</node>
<node concept="1adDum" id="sZ" role="37wK5m">
<property role="1adDun" value="0x11a3afa8c0dL" />
<property role="1adDun" value="0x110396eaaa4L" />
</node>
</node>
</node>
......@@ -5854,13 +5854,13 @@
<node concept="liA8E" id="yd" role="2OqNvi">
<ref role="37wK5l" to="bzg8:~ConceptDescriptorBuilder2.parent(long,long,long):jetbrains.mps.smodel.runtime.impl.ConceptDescriptorBuilder2" resolve="parent" />
<node concept="1adDum" id="ye" role="37wK5m">
<property role="1adDun" value="0xf3061a5392264cc5L" />
<property role="1adDun" value="0xceab519525ea4f22L" />
</node>
<node concept="1adDum" id="yf" role="37wK5m">
<property role="1adDun" value="0xa443f952ceaf5816L" />
<property role="1adDun" value="0x9b92103b95ca8c0cL" />
</node>
<node concept="1adDum" id="yg" role="37wK5m">
<property role="1adDun" value="0x11a3afa8c0dL" />
<property role="1adDun" value="0x110396eaaa4L" />
</node>
</node>
</node>
......@@ -8299,13 +8299,13 @@
<node concept="liA8E" id="KM" role="2OqNvi">
<ref role="37wK5l" to="bzg8:~ConceptDescriptorBuilder2.parent(long,long,long):jetbrains.mps.smodel.runtime.impl.ConceptDescriptorBuilder2" resolve="parent" />
<node concept="1adDum" id="KN" role="37wK5m">
<property role="1adDun" value="0xf3061a5392264cc5L" />
<property role="1adDun" value="0xceab519525ea4f22L" />
</node>
<node concept="1adDum" id="KO" role="37wK5m">
<property role="1adDun" value="0xa443f952ceaf5816L" />
<property role="1adDun" value="0x9b92103b95ca8c0cL" />
</node>
<node concept="1adDum" id="KP" role="37wK5m">
<property role="1adDun" value="0x11a3afa8c0dL" />
<property role="1adDun" value="0x110396eaaa4L" />
</node>
</node>
</node>
......
......@@ -97,5 +97,127 @@
</node>
</node>
</node>
<node concept="1M2fIO" id="2zPKfCWs05G">
<property role="3GE5qa" value="term" />
<ref role="1M2myG" to="xkot:1Da9ityUTbw" resolve="Var" />
<node concept="EnEH3" id="2zPKfCWs06U" role="1MhHOB">
<ref role="EomxK" to="tpck:h0TrG11" resolve="name" />
<node concept="QB0g5" id="2zPKfCWs06Y" role="QCWH9">
<node concept="3clFbS" id="2zPKfCWs06Z" role="2VODD2">
<node concept="3clFbF" id="2zPKfCWs0eo" role="3cqZAp">
<node concept="1Wc70l" id="51sf_c1q$OG" role="3clFbG">
<node concept="1Wc70l" id="51sf_c1qxRL" role="3uHU7B">
<node concept="2OqwBi" id="65XyadYKJgV" role="3uHU7B">
<node concept="1Wqviy" id="65XyadYKJgW" role="2Oq$k0" />
<node concept="liA8E" id="65XyadYKJgX" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.matches(java.lang.String):boolean" resolve="matches" />
<node concept="Xl_RD" id="65XyadYKJgY" role="37wK5m">
<property role="Xl_RC" value="[a-zA-Z$][a-zA-Z0-9$]*" />
</node>
</node>
</node>
<node concept="3fqX7Q" id="51sf_c1qz$0" role="3uHU7w">
<node concept="2OqwBi" id="51sf_c1qz$2" role="3fr31v">
<node concept="Xl_RD" id="51sf_c1qz$3" role="2Oq$k0">
<property role="Xl_RC" value="true" />
</node>
<node concept="liA8E" id="51sf_c1qz$4" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="1Wqviy" id="51sf_c1qzGL" role="37wK5m" />
</node>
</node>
</node>
</node>
<node concept="3fqX7Q" id="51sf_c1q_27" role="3uHU7w">
<node concept="2OqwBi" id="51sf_c1q_28" role="3fr31v">
<node concept="Xl_RD" id="51sf_c1q_29" role="2Oq$k0">
<property role="Xl_RC" value="false" />
</node>
<node concept="liA8E" id="51sf_c1q_2a" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="1Wqviy" id="51sf_c1q_2b" role="37wK5m" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1M2fIO" id="2zPKfCWsh1Z">
<property role="3GE5qa" value="term" />
<ref role="1M2myG" to="xkot:1Da9ityUTcU" resolve="Let" />
<node concept="EnEH3" id="2zPKfCWshdK" role="1MhHOB">
<ref role="EomxK" to="tpck:h0TrG11" resolve="name" />
<node concept="QB0g5" id="51sf_c1q_rl" role="QCWH9">
<node concept="3clFbS" id="51sf_c1q_rm" role="2VODD2">
<node concept="3clFbF" id="51sf_c1q_yE" role="3cqZAp">
<node concept="1Wc70l" id="51sf_c1qAVO" role="3clFbG">
<node concept="3fqX7Q" id="51sf_c1q_yG" role="3uHU7B">
<node concept="2OqwBi" id="51sf_c1q_yH" role="3fr31v">
<node concept="Xl_RD" id="51sf_c1q_yI" role="2Oq$k0">
<property role="Xl_RC" value="true" />
</node>
<node concept="liA8E" id="51sf_c1q_yJ" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="1Wqviy" id="51sf_c1q_yK" role="37wK5m" />
</node>
</node>
</node>
<node concept="3fqX7Q" id="51sf_c1qB6E" role="3uHU7w">
<node concept="2OqwBi" id="51sf_c1qB6F" role="3fr31v">
<node concept="Xl_RD" id="51sf_c1qB6G" role="2Oq$k0">
<property role="Xl_RC" value="false" />
</node>
<node concept="liA8E" id="51sf_c1qB6H" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="1Wqviy" id="51sf_c1qB6I" role="37wK5m" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1M2fIO" id="2zPKfCWshoA">
<property role="3GE5qa" value="term" />
<ref role="1M2myG" to="xkot:1Da9ityUUyE" resolve="CaseCase" />
<node concept="EnEH3" id="2zPKfCWshpO" role="1MhHOB">
<ref role="EomxK" to="tpck:h0TrG11" resolve="name" />
<node concept="QB0g5" id="2zPKfCWshpS" role="QCWH9">
<node concept="3clFbS" id="2zPKfCWshpT" role="2VODD2">
<node concept="3clFbF" id="2zPKfCWshpU" role="3cqZAp">
<node concept="1Wc70l" id="2zPKfCWshpV" role="3clFbG">
<node concept="3fqX7Q" id="2zPKfCWshpW" role="3uHU7B">
<node concept="2OqwBi" id="2zPKfCWshpX" role="3fr31v">
<node concept="Xl_RD" id="2zPKfCWshpY" role="2Oq$k0">
<property role="Xl_RC" value="true" />
</node>
<node concept="liA8E" id="2zPKfCWshpZ" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="1Wqviy" id="2zPKfCWshq0" role="37wK5m" />
</node>
</node>
</node>
<node concept="3fqX7Q" id="2zPKfCWshq1" role="3uHU7w">
<node concept="2OqwBi" id="2zPKfCWshq2" role="3fr31v">
<node concept="Xl_RD" id="2zPKfCWshq3" role="2Oq$k0">
<property role="Xl_RC" value="false" />
</node>
<node concept="liA8E" id="2zPKfCWshq4" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="1Wqviy" id="2zPKfCWshq5" role="37wK5m" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>
......@@ -99,18 +99,12 @@
<property role="3GE5qa" value="term" />
<ref role="1XX52x" to="xkot:1Da9ityUTci" resolve="Mult" />
<node concept="3EZMnI" id="1Da9ityUVqe" role="2wV5jI">
<node concept="3F0ifn" id="1Da9ityUVqr" role="3EZMnx">
<property role="3F0ifm" value="wrap" />
</node>
<node concept="3F1sOY" id="1Da9ityUVr3" role="3EZMnx">
<ref role="1NtTu8" to="xkot:1Da9ityUTcn" resolve="t1" />
</node>
<node concept="3F0ifn" id="1Da9ityUVsb" role="3EZMnx">
<property role="3F0ifm" value="+" />
</node>
<node concept="3F0ifn" id="1Da9ityUVrl" role="3EZMnx">
<property role="3F0ifm" value="wrap" />
</node>
<node concept="3F1sOY" id="1Da9ityUVrH" role="3EZMnx">
<ref role="1NtTu8" to="xkot:1Da9ityUTcr" resolve="t2" />
</node>
......@@ -163,22 +157,14 @@
<node concept="3F0ifn" id="1Da9ityUVC5" role="3EZMnx">
<property role="3F0ifm" value="lam" />
</node>
<node concept="3F0ifn" id="1Da9ityUVCh" role="3EZMnx">
<property role="3F0ifm" value="{" />
</node>
<node concept="3F0ifn" id="1Da9ityUVCz" role="3EZMnx">
<property role="3F0ifm" value="name" />
</node>
<node concept="3F0ifn" id="1Da9ityUVCV" role="3EZMnx">
<property role="3F0ifm" value="}" />
<node concept="3F0A7n" id="2zPKfCWrZC2" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node>
<node concept="3F0ifn" id="1Da9ityUVDp" role="3EZMnx">
<node concept="3F0ifn" id="6hDWkHFKSJi" role="3EZMnx">
<property role="3F0ifm" value="." />
</node>
<node concept="1kIj98" id="6JCho9VC0is" role="3EZMnx">
<node concept="3F1sOY" id="6JCho9VC0iS" role="1kIj9b">
<ref role="1NtTu8" to="xkot:1Da9ityUTcQ" resolve="t" />
</node>
<node concept="3F1sOY" id="6hDWkHFKSJQ" role="3EZMnx">
<ref role="1NtTu8" to="xkot:1Da9ityUTcQ" resolve="t" />
</node>
<node concept="l2Vlx" id="1Da9ityUVBV" role="2iSdaV" />
</node>
......
......@@ -7,7 +7,6 @@
</languages>
<imports>
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
<import index="tpee" ref="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" implicit="true" />
</imports>
<registry>
<language id="c72da2b9-7cce-4447-8389-f407dc1158b7" name="jetbrains.mps.lang.structure">
......@@ -79,8 +78,8 @@
<property role="TrG5h" value="Var" />
<property role="3GE5qa" value="term" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="PrWs8" id="6AVADwUy$xJ" role="PzmwI">
<ref role="PrY4T" to="tpee:hCUYCKd" resolve="IValidIdentifier" />
<node concept="PrWs8" id="2zPKfCWrZVg" role="PzmwI">
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
<node concept="PrWs8" id="1Da9ityUTbU" role="PzmwI">
<ref role="PrY4T" node="1Da9ityUTbh" resolve="Term" />
......@@ -140,8 +139,8 @@
<property role="34LRSv" value="lam" />
<property role="3GE5qa" value="term" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="PrWs8" id="6AVADwUzymP" role="PzmwI">
<ref role="PrY4T" to="tpee:hCUYCKd" resolve="IValidIdentifier" />
<node concept="PrWs8" id="2zPKfCWrZBU" role="PzmwI">
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
<node concept="PrWs8" id="1Da9ityUTcI" role="PzmwI">
<ref role="PrY4T" node="1Da9ityUTbh" resolve="Term" />
......@@ -160,7 +159,7 @@
<property role="34LRSv" value="let" />
<property role="3GE5qa" value="term" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="PrWs8" id="1Da9ityUTcV" role="PzmwI">
<node concept="PrWs8" id="2zPKfCWsh1u" role="PzmwI">
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
<node concept="PrWs8" id="1Da9ityUTd6" role="PzmwI">
......@@ -400,8 +399,8 @@
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="1Da9ityUTbh" resolve="Term" />
</node>
<node concept="PrWs8" id="6AVADwUzymX" role="PzmwI">
<ref role="PrY4T" to="tpee:hCUYCKd" resolve="IValidIdentifier" />
<node concept="PrWs8" id="2zPKfCWsho8" role="PzmwI">
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
</node>
<node concept="PlHQZ" id="6VVZNB9kYY6">
......
<?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot>
<dependency className="SumTypes.constraints.CaseCase_Constraints">
<classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.lang.String" />
<classNode dependClassName="java.util.HashMap" />
<classNode dependClassName="java.util.Map" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.ids.MetaIdFactory" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory" />
<classNode dependClassName="jetbrains.mps.smodel.runtime.PropertyConstraintsDescriptor" />
<classNode dependClassName="jetbrains.mps.smodel.runtime.base.BasePropertyConstraintsDescriptor" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SProperty" />
<classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" />
<classNode extendsClassName="jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor" />
</dependency>
<dependency className="SumTypes.constraints.ConstraintsAspectDescriptor">
<classNode dependClassName="SumTypes.constraints.CaseCase_Constraints" />
<classNode dependClassName="SumTypes.constraints.Lam_Constraints" />
<classNode dependClassName="SumTypes.constraints.Let_Constraints" />
<classNode dependClassName="SumTypes.constraints.Var_Constraints" />
<classNode dependClassName="java.lang.Override" />
<classNode dependClassName="jetbrains.mps.lang.smodel.ConceptSwitchIndex" />
<classNode dependClassName="jetbrains.mps.lang.smodel.ConceptSwitchIndexBuilder" />
......@@ -25,5 +42,33 @@
<classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" />
<classNode extendsClassName="jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor" />
</dependency>
<dependency className="SumTypes.constraints.Let_Constraints">
<classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.lang.String" />
<classNode dependClassName="java.util.HashMap" />
<classNode dependClassName="java.util.Map" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.ids.MetaIdFactory" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory" />
<classNode dependClassName="jetbrains.mps.smodel.runtime.PropertyConstraintsDescriptor" />
<classNode dependClassName="jetbrains.mps.smodel.runtime.base.BasePropertyConstraintsDescriptor" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SProperty" />
<classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" />
<classNode extendsClassName="jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor" />
</dependency>
<dependency className="SumTypes.constraints.Var_Constraints">
<classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.lang.String" />
<classNode dependClassName="java.util.HashMap" />
<classNode dependClassName="java.util.Map" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.ids.MetaIdFactory" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory" />
<classNode dependClassName="jetbrains.mps.smodel.runtime.PropertyConstraintsDescriptor" />
<classNode dependClassName="jetbrains.mps.smodel.runtime.base.BasePropertyConstraintsDescriptor" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SProperty" />
<classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" />
<classNode extendsClassName="jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor" />
</dependency>
</dependenciesRoot>
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-2gaiqkfxnhjllvdlappqiddy0hgtvo0">
<files names="ConstraintsAspectDescriptor.java:Lam_Constraints.java" />
<product version="3" modelHash="-ae17k825ga15mwtrwvbvg1p5pz71ceu">
<files names="CaseCase_Constraints.java:ConstraintsAspectDescriptor.java:Lam_Constraints.java:Let_Constraints.java:Var_Constraints.java" />
</product>
......@@ -301,7 +301,6 @@
<classNode dependClassName="SumTypes.editor.App_Editor" />
<classNode dependClassName="SumTypes.editor.CaseCase_Editor" />
<classNode dependClassName="SumTypes.editor.Fun_Editor" />
<classNode dependClassName="SumTypes.editor.Lam_Editor" />
<classNode dependClassName="SumTypes.editor.Let_Editor" />
<classNode dependClassName="SumTypes.editor.Succ_Editor" />
<classNode dependClassName="SumTypes.editor.Sum_Editor" />
......@@ -857,31 +856,40 @@
<classNode extendsClassName="jetbrains.mps.nodeEditor.DefaultNodeEditor" />
</dependency>
<dependency className="SumTypes.editor.Lam_EditorBuilder_a">
<classNode dependClassName="com.mbeddr.mpsutil.grammarcells.runtime.CellActionWithReadAccess" />
<classNode dependClassName="java.lang.Iterable" />
<classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.lang.String" />
<classNode dependClassName="jetbrains.mps.baseLanguage.closures.runtime._FunctionTypes" />
<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.selection.SelectionUtil" />
<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.smodel.generator.smodelAdapter.SConceptOperations" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SLinkOperations" />
<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.cellMenu.SChildSubstituteInfo" />
<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_Constant" />
<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.cells.CellActionType" />
<classNode dependClassName="jetbrains.mps.openapi.editor.cells.DefaultSubstituteInfo" />
<classNode dependClassName="jetbrains.mps.openapi.editor.cells.EditorCell" />
<classNode dependClassName="jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation" />
<classNode dependClassName="jetbrains.mps.openapi.editor.selection.SelectionManager" />
<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="org.jetbrains.annotations.NotNull" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
<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 extendsClassName="jetbrains.mps.editor.runtime.descriptor.AbstractEditorBuilder" />
</dependency>
......
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-1b1w0cis4td94apx8i8l4w056zpaxxc">
<product version="3" modelHash="2gsex5x194ml1lk84byf4btxdvnvpdo">
<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" />
</product>
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="9okeozvydqr9inl3ttzuwq9x1dg56iz">
<product version="3" modelHash="880s55ju1gocina7eff59r6c81e6dsq">
<files names="Language.java" />
</product>
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-8yuqhxs0dkrnixb6s73iybyf94iuqiz">
<product version="3" modelHash="17n1fs0ic3yht1xwze65halwbr8a98i">
<files names="ConceptPresentationAspectImpl.java:LanguageConceptSwitch.java:StructureAspectDescriptor.java" />
</product>
package SumTypes.constraints;
/*Generated by MPS */
import jetbrains.mps.smodel.runtime.base.BaseConstraintsDescriptor;
import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
import java.util.Map;
import org.jetbrains.mps.openapi.language.SProperty;
import jetbrains.mps.smodel.runtime.PropertyConstraintsDescriptor;
import java.util.HashMap;
import jetbrains.mps.smodel.runtime.base.BasePropertyConstraintsDescriptor;
import jetbrains.mps.smodel.adapter.ids.MetaIdFactory;
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations;
public class CaseCase_Constraints extends BaseConstraintsDescriptor {
public CaseCase_Constraints() {