Commit e559979c authored by André Pacak's avatar André Pacak

working implementation of the fo recursive type checker in IncA

parent b6c78e8b
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -483,6 +483,9 @@ ...@@ -483,6 +483,9 @@
<node concept="3F0ifn" id="6XRTB8NsWvU" role="3EZMnx"> <node concept="3F0ifn" id="6XRTB8NsWvU" role="3EZMnx">
<property role="3F0ifm" value="let" /> <property role="3F0ifm" value="let" />
</node> </node>
<node concept="3F0ifn" id="53cwso4QMwL" role="3EZMnx">
<property role="3F0ifm" value="type" />
</node>
<node concept="3F0A7n" id="6XRTB8NsWvV" role="3EZMnx"> <node concept="3F0A7n" id="6XRTB8NsWvV" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" /> <ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node> </node>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="7ee9xvnhord90wp8apfuhkscgg6hmao"> <product version="3" modelHash="-bjk00j6la7rx21orrn5sqk55lcxqops">
<files names="Add_Editor.java:Add_EditorBuilder_a.java:Anno_Editor.java:Anno_EditorBuilder_a.java:App_Editor.java:App_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_Fun.java:GrammarCellsSubstituteMenu_IModuleElem.java:GrammarCellsSubstituteMenu_Lam.java:GrammarCellsSubstituteMenu_Let.java:GrammarCellsSubstituteMenu_LetType.java:GrammarCellsSubstituteMenu_Match.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_Tag.java:GrammarCellsSubstituteMenu_Term.java:GrammarCellsSubstituteMenu_Type.java:GrammarCellsSubstituteMenu_TypeVar.java:GrammarCellsSubstituteMenu_UnitTerm.java:GrammarCellsSubstituteMenu_UnitType.java:GrammarCellsSubstituteMenu_Var.java:GrammarCellsSubstituteMenu_VariantType.java:GrammarCellsSubstituteMenu_VariantTypeEntry.java:GrammarCellsSubstituteMenu_Zero.java:Lam_Editor.java:Lam_EditorBuilder_a.java:LetType_Editor.java:LetType_EditorBuilder_a.java:Let_Editor.java:Let_EditorBuilder_a.java:Match_Editor.java:Match_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:Tag_Editor.java:Tag_EditorBuilder_a.java:TypeVar_Editor.java:TypeVar_EditorBuilder_a.java:UnitTerm_Editor.java:UnitTerm_EditorBuilder_a.java:UnitType_Editor.java:UnitType_EditorBuilder_a.java:Var_Editor.java:Var_EditorBuilder_a.java:VariantTypeEntry_Editor.java:VariantTypeEntry_EditorBuilder_a.java:VariantType_Editor.java:VariantType_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: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_Fun.java:GrammarCellsSubstituteMenu_IModuleElem.java:GrammarCellsSubstituteMenu_Lam.java:GrammarCellsSubstituteMenu_Let.java:GrammarCellsSubstituteMenu_LetType.java:GrammarCellsSubstituteMenu_Match.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_Tag.java:GrammarCellsSubstituteMenu_Term.java:GrammarCellsSubstituteMenu_Type.java:GrammarCellsSubstituteMenu_TypeVar.java:GrammarCellsSubstituteMenu_UnitTerm.java:GrammarCellsSubstituteMenu_UnitType.java:GrammarCellsSubstituteMenu_Var.java:GrammarCellsSubstituteMenu_VariantType.java:GrammarCellsSubstituteMenu_VariantTypeEntry.java:GrammarCellsSubstituteMenu_Zero.java:Lam_Editor.java:Lam_EditorBuilder_a.java:LetType_Editor.java:LetType_EditorBuilder_a.java:Let_Editor.java:Let_EditorBuilder_a.java:Match_Editor.java:Match_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:Tag_Editor.java:Tag_EditorBuilder_a.java:TypeVar_Editor.java:TypeVar_EditorBuilder_a.java:UnitTerm_Editor.java:UnitTerm_EditorBuilder_a.java:UnitType_Editor.java:UnitType_EditorBuilder_a.java:Var_Editor.java:Var_EditorBuilder_a.java:VariantTypeEntry_Editor.java:VariantTypeEntry_EditorBuilder_a.java:VariantType_Editor.java:VariantType_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="-aiary2y1quar5v7z08gm245a1yjju6j"> <product version="3" modelHash="ivitd70j9k9rauzm8i8gwx83kt6nud">
<files names="Language.java" /> <files names="Language.java" />
</product> </product>
...@@ -13,17 +13,24 @@ ...@@ -13,17 +13,24 @@
<dependency reexport="false">cd2909da-ecb4-49dc-b176-33e5c619e516(org.inca.gp)</dependency> <dependency reexport="false">cd2909da-ecb4-49dc-b176-33e5c619e516(org.inca.gp)</dependency>
<dependency reexport="false">83519d5a-e8d8-40b1-b958-7bbbda82ff24(FORecursiveTypes)</dependency> <dependency reexport="false">83519d5a-e8d8-40b1-b958-7bbbda82ff24(FORecursiveTypes)</dependency>
<dependency reexport="false">7766a138-716a-422a-9c88-131459fb8d6a(org.inca.core.runtime)</dependency> <dependency reexport="false">7766a138-716a-422a-9c88-131459fb8d6a(org.inca.core.runtime)</dependency>
<dependency reexport="false">6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)</dependency>
<dependency reexport="false">63650c59-16c8-498a-99c8-005c7ee9515d(jetbrains.mps.lang.access)</dependency>
<dependency reexport="false">642f71f8-327a-425b-84f9-44ad58786d27(jetbrains.mps.lang.project.modules)</dependency>
</dependencies> </dependencies>
<languageVersions> <languageVersions>
<language slang="l:83519d5a-e8d8-40b1-b958-7bbbda82ff24:FORecursiveTypes" version="0" /> <language slang="l:83519d5a-e8d8-40b1-b958-7bbbda82ff24:FORecursiveTypes" version="0" />
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="8" /> <language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="8" />
<language slang="l:443f4c36-fcf5-4eb6-9500-8d06ed259e3e:jetbrains.mps.baseLanguage.classifiers" version="0" />
<language slang="l:fd392034-7849-419d-9071-12563d152375:jetbrains.mps.baseLanguage.closures" version="0" /> <language slang="l:fd392034-7849-419d-9071-12563d152375:jetbrains.mps.baseLanguage.closures" version="0" />
<language slang="l:83888646-71ce-4f1c-9c53-c54016f6ad4f:jetbrains.mps.baseLanguage.collections" version="1" /> <language slang="l:83888646-71ce-4f1c-9c53-c54016f6ad4f:jetbrains.mps.baseLanguage.collections" version="1" />
<language slang="l:f2801650-65d5-424e-bb1b-463a8781b786:jetbrains.mps.baseLanguage.javadoc" version="2" /> <language slang="l:f2801650-65d5-424e-bb1b-463a8781b786:jetbrains.mps.baseLanguage.javadoc" version="2" />
<language slang="l:f61473f9-130f-42f6-b98d-6c438812c2f6:jetbrains.mps.baseLanguage.unitTest" version="1" />
<language slang="l:63650c59-16c8-498a-99c8-005c7ee9515d:jetbrains.mps.lang.access" version="0" />
<language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="1" /> <language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="1" />
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" /> <language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
<language slang="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" version="13" /> <language slang="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" version="13" />
<language slang="l:c72da2b9-7cce-4447-8389-f407dc1158b7:jetbrains.mps.lang.structure" version="7" /> <language slang="l:c72da2b9-7cce-4447-8389-f407dc1158b7:jetbrains.mps.lang.structure" version="7" />
<language slang="l:8585453e-6bfb-4d80-98de-b16074f1d86c:jetbrains.mps.lang.test" version="2" />
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" /> <language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
<language slang="l:b802a056-92a2-4fbc-902e-f8e5004c331f:org.inca.core" version="0" /> <language slang="l:b802a056-92a2-4fbc-902e-f8e5004c331f:org.inca.core" version="0" />
<language slang="l:e6d2ffd5-9c56-41f8-99ac-9d1ceb13daa2:org.inca.data" version="2" /> <language slang="l:e6d2ffd5-9c56-41f8-99ac-9d1ceb13daa2:org.inca.data" version="2" />
...@@ -47,9 +54,11 @@ ...@@ -47,9 +54,11 @@
<module reference="f2801650-65d5-424e-bb1b-463a8781b786(jetbrains.mps.baseLanguage.javadoc)" version="0" /> <module reference="f2801650-65d5-424e-bb1b-463a8781b786(jetbrains.mps.baseLanguage.javadoc)" version="0" />
<module reference="e39e4a59-8cb6-498e-860e-8fa8361c0d90(jetbrains.mps.baseLanguage.scopes)" version="0" /> <module reference="e39e4a59-8cb6-498e-860e-8fa8361c0d90(jetbrains.mps.baseLanguage.scopes)" version="0" />
<module reference="2d3c70e9-aab2-4870-8d8d-6036800e4103(jetbrains.mps.kernel)" version="0" /> <module reference="2d3c70e9-aab2-4870-8d8d-6036800e4103(jetbrains.mps.kernel)" version="0" />
<module reference="63650c59-16c8-498a-99c8-005c7ee9515d(jetbrains.mps.lang.access)" version="0" />
<module reference="d936855b-48da-4812-a8a0-2bfddd633ac5(jetbrains.mps.lang.behavior.api)" version="0" /> <module reference="d936855b-48da-4812-a8a0-2bfddd633ac5(jetbrains.mps.lang.behavior.api)" version="0" />
<module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" /> <module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" />
<module reference="446c26eb-2b7b-4bf0-9b35-f83fa582753e(jetbrains.mps.lang.modelapi)" version="0" /> <module reference="446c26eb-2b7b-4bf0-9b35-f83fa582753e(jetbrains.mps.lang.modelapi)" version="0" />
<module reference="642f71f8-327a-425b-84f9-44ad58786d27(jetbrains.mps.lang.project.modules)" version="0" />
<module reference="7866978e-a0f0-4cc7-81bc-4d213d9375e1(jetbrains.mps.lang.smodel)" version="1" /> <module reference="7866978e-a0f0-4cc7-81bc-4d213d9375e1(jetbrains.mps.lang.smodel)" version="1" />
<module reference="c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)" version="0" /> <module reference="c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)" version="0" />
<module reference="9ded098b-ad6a-4657-bfd9-48636cfe8bc3(jetbrains.mps.lang.traceable)" version="0" /> <module reference="9ded098b-ad6a-4657-bfd9-48636cfe8bc3(jetbrains.mps.lang.traceable)" version="0" />
......
<?xml version="1.0" encoding="UTF-8"?>
<debug-info version="2">
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1160998861373:jetbrains.mps.baseLanguage.structure.AssertStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1082485599095:jetbrains.mps.baseLanguage.structure.BlockStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123140:jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123155:jetbrains.mps.baseLanguage.structure.ExpressionStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068390468200:jetbrains.mps.baseLanguage.structure.FieldDeclaration" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123159:jetbrains.mps.baseLanguage.structure.IfStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123165:jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068581242864:jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068581242878:jetbrains.mps.baseLanguage.structure.ReturnStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123157:jetbrains.mps.baseLanguage.structure.Statement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1070462154015:jetbrains.mps.baseLanguage.structure.StaticFieldDeclaration" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1070475587102:jetbrains.mps.baseLanguage.structure.SuperConstructorInvocation" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1153952380246:jetbrains.mps.baseLanguage.structure.TryStatement" />
<root nodeRef="r:da26fee4-9ce9-44a6-8a5c-0d8bee4a2825(FORecursiveTypes_Checker.tests@tests)/656937758664844563">
<file name="SimpleFORecursiveTypesTest_Test.java">
<node id="656937758664844563" at="41,44,42,25" concept="11" />
<node id="7797870059170749017" at="46,44,47,67" concept="3" />
<node id="656937758664844563" at="52,52,53,19" concept="11" />
<node id="2580730847075558027" at="56,46,57,63" concept="7" />
<node id="2580730847075622316" at="57,63,58,207" concept="7" />
<node id="1066296671799661965" at="58,207,59,0" concept="9" />
<node id="1066296671799684264" at="59,0,60,69" concept="7" />
<node id="1066296671799667325" at="60,69,61,0" concept="9" />
<node id="1066296671798277163" at="64,29,65,169" concept="7" />
<node id="1066296671798282877" at="65,169,66,79" concept="7" />
<node id="1066296671798285619" at="66,79,67,98" concept="3" />
<node id="1066296671800036024" at="67,98,68,0" concept="9" />
<node id="1066296671798989414" at="70,48,71,92" concept="8" />
<node id="1066296671798535000" at="75,48,76,94" concept="8" />
<node id="1066296671800683849" at="78,15,79,83" concept="3" />
<node id="2580730847075635431" at="82,17,83,57" concept="3" />
<node id="1066296671800318244" at="88,71,89,224" concept="7" />
<node id="1066296671800360575" at="89,224,90,231" concept="7" />
<node id="1066296671800755282" at="91,31,92,79" concept="3" />
<node id="8775378229013202774" at="93,14,94,79" concept="3" />
<node id="8775378229004803327" at="95,7,96,32" concept="8" />
<node id="8775378229004604137" at="98,88,99,68" concept="7" />
<node id="8775378229004629485" at="101,38,102,70" concept="7" />
<node id="8775378229004743676" at="103,26,104,34" concept="3" />
<node id="8775378229004753373" at="107,9,108,0" concept="9" />
<node id="8775378229004770685" at="110,38,111,71" concept="7" />
<node id="8775378229004787064" at="112,26,113,34" concept="3" />
<node id="8775378229004816039" at="116,9,117,0" concept="9" />
<node id="8775378229004820933" at="117,0,118,27" concept="0" />
<node id="656937758664844563" at="36,0,38,0" concept="10" trace="ourParamCache" />
<node id="656937758664844563" at="38,0,40,0" concept="4" trace="myWithCommandRule" />
<node id="8775378229013197062" at="93,12,95,7" concept="1" />
<node id="656937758664844563" at="41,0,44,0" concept="2" trace="SimpleFORecursiveTypesTest_Test#()V" />
<node id="656937758664844563" at="52,0,55,0" concept="2" trace="TestBody#(Ljetbrains/mps/lang/test/runtime/TransformationTest;)V" />
<node id="1066296671798386556" at="70,0,73,0" concept="6" trace="accept#(Lorg/jetbrains/mps/openapi/model/SModel;)Z" />
<node id="1066296671798530520" at="75,0,78,0" concept="6" trace="accept#(Lorg/jetbrains/mps/openapi/model/SModel;)Z" />
<node id="8775378229004651510" at="102,70,105,11" concept="5" />
<node id="8775378229004777023" at="111,71,114,11" concept="5" />
<node id="7797870059170749017" at="45,0,49,0" concept="6" trace="test_test#()V" />
<node id="1066296671798325094" at="68,0,73,15" concept="7" />
<node id="1066296671798471482" at="73,15,78,15" concept="7" />
<node id="1066296671800741754" at="90,231,95,7" concept="5" />
<node id="8775378229004597426" at="101,0,107,0" concept="6" trace="visit#(Lorg/jetbrains/mps/openapi/model/SModel;)V" />
<node id="8775378229004763865" at="110,0,116,0" concept="6" trace="visit#(Lorg/jetbrains/mps/openapi/model/SModel;)V" />
<node id="1066296671800614541" at="99,68,107,9" concept="3" />
<node id="8775378229004759362" at="108,0,116,9" concept="3" />
<node id="1066296671800302084" at="88,0,98,0" concept="6" trace="isResultAsExpected#(Lorg/jetbrains/mps/openapi/model/SModel;Z)Z" />
<node id="2580730847075562209" at="64,0,81,0" concept="6" trace="run#()V" />
<node id="2580730847075562208" at="62,11,81,11" concept="3" />
<node id="1066296671800601750" at="98,0,120,0" concept="6" trace="assertAll#(Ljava/lang/Iterable;Ljava/lang/Iterable;)V" />
<node id="2580730847075555196" at="61,0,84,7" concept="12" />
<node id="7797870059170749017" at="56,0,86,0" concept="6" trace="test_test#()V" />
<scope id="656937758664844563" at="41,44,42,25" />
<scope id="7797870059170749017" at="46,44,47,67" />
<scope id="656937758664844563" at="52,52,53,19" />
<scope id="1066296671798386557" at="70,48,71,92" />
<scope id="1066296671798530521" at="75,48,76,94" />
<scope id="2580730847075555198" at="82,17,83,57" />
<scope id="1066296671800741756" at="91,31,92,79" />
<scope id="8775378229013197063" at="93,14,94,79" />
<scope id="8775378229004651512" at="103,26,104,34" />
<scope id="8775378229004777025" at="112,26,113,34" />
<scope id="656937758664844563" at="41,0,44,0" />
<scope id="656937758664844563" at="52,0,55,0">
<var name="owner" id="656937758664844563" />
</scope>
<scope id="1066296671798386556" at="70,0,73,0">
<var name="it" id="1066296671798386556" />
</scope>
<scope id="1066296671798530520" at="75,0,78,0">
<var name="it" id="1066296671798530520" />
</scope>
<scope id="7797870059170749017" at="45,0,49,0" />
<scope id="8775378229004597427" at="101,38,105,11">
<var name="result" id="8775378229004629488" />
</scope>
<scope id="8775378229004763866" at="110,38,114,11">
<var name="result" id="8775378229004770688" />
</scope>
<scope id="8775378229004597426" at="101,0,107,0">
<var name="it" id="8775378229004597426" />
</scope>
<scope id="8775378229004763865" at="110,0,116,0">
<var name="it" id="8775378229004763865" />
</scope>
<scope id="1066296671800302084" at="88,71,96,32">
<var name="elem" id="1066296671800318242" />
<var name="result" id="1066296671800360573" />
</scope>
<scope id="1066296671800302084" at="88,0,98,0">
<var name="expected" id="1066296671800302147" />
<var name="model" id="1066296671800302118" />
</scope>
<scope id="2580730847075562210" at="64,29,79,83">
<var name="allModels" id="1066296671798282880" />
<var name="modelsThatShouldFail" id="1066296671798471485" />
<var name="modelsThatShouldSucceed" id="1066296671798325097" />
<var name="module" id="1066296671798277164" />
</scope>
<scope id="2580730847075562209" at="64,0,81,0" />
<scope id="2580730847075555197" at="62,11,81,11" />
<scope id="1066296671800601750" at="98,88,118,27">
<var name="success" id="8775378229004604140" />
</scope>
<scope id="1066296671800601750" at="98,0,120,0">
<var name="failModles" id="8775378229004660418" />
<var name="successModels" id="1066296671800601815" />
</scope>
<scope id="7797870059170749017" at="56,46,84,7">
<var name="analysisModel" id="2580730847075622314" />
<var name="repository" id="2580730847075558025" />
<var name="testNamePrefix" id="1066296671799684262" />
</scope>
<scope id="7797870059170749017" at="56,0,86,0" />
<unit id="1066296671798386556" at="69,96,73,13" name="FORecursiveTypes_Checker.tests.SimpleFORecursiveTypesTest_Test$TestBody$1$1" />
<unit id="1066296671798530520" at="74,93,78,13" name="FORecursiveTypes_Checker.tests.SimpleFORecursiveTypesTest_Test$TestBody$1$2" />
<unit id="8775378229004597426" at="100,56,107,7" name="FORecursiveTypes_Checker.tests.SimpleFORecursiveTypesTest_Test$TestBody$2" />
<unit id="8775378229004763865" at="109,53,116,7" name="FORecursiveTypes_Checker.tests.SimpleFORecursiveTypesTest_Test$TestBody$3" />
<unit id="2580730847075562209" at="63,54,81,9" name="FORecursiveTypes_Checker.tests.SimpleFORecursiveTypesTest_Test$TestBody$1" />
<unit id="656937758664844563" at="50,0,121,0" name="FORecursiveTypes_Checker.tests.SimpleFORecursiveTypesTest_Test$TestBody" />
<unit id="656937758664844563" at="34,0,122,0" name="FORecursiveTypes_Checker.tests.SimpleFORecursiveTypesTest_Test" />
</file>
</root>
</debug-info>
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
</node> </node>
<node concept="228e00" id="53cwso477Gq" role="228e04"> <node concept="228e00" id="53cwso477Gq" role="228e04">
<property role="TrG5h" value="succ" /> <property role="TrG5h" value="succ" />
<node concept="3IOpWs" id="53cwso477GV" role="228e0r"> <node concept="3IOpWs" id="17iPpiB_$TE" role="228e0r">
<property role="TrG5h" value="Nat" /> <property role="TrG5h" value="Nat" />
</node> </node>
</node> </node>
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
</node> </node>
<node concept="2EAAUw" id="53cwso477Sm" role="2EAAYI"> <node concept="2EAAUw" id="53cwso477Sm" role="2EAAYI">
<property role="2EAAUB" value="zero" /> <property role="2EAAUB" value="zero" />
<property role="2EAAUF" value="a" /> <property role="2EAAUF" value="x" />
<node concept="2EAANM" id="53cwso477Tg" role="2EAAUK"> <node concept="2EAANM" id="53cwso477Tg" role="2EAAUK">
<property role="TrG5h" value="zero" /> <property role="TrG5h" value="zero" />
<node concept="1s3EnQ" id="53cwso477TV" role="2EAAKa" /> <node concept="1s3EnQ" id="53cwso477TV" role="2EAAKa" />
...@@ -101,17 +101,17 @@ ...@@ -101,17 +101,17 @@
<node concept="2EAAUw" id="53cwso477U0" role="2EAAYI"> <node concept="2EAAUw" id="53cwso477U0" role="2EAAYI">
<property role="2EAAUB" value="succ" /> <property role="2EAAUB" value="succ" />
<property role="2EAAUF" value="p" /> <property role="2EAAUF" value="p" />
<node concept="1SCrv7" id="53cwso477Uh" role="2EAAUK"> <node concept="1SCrv7" id="17iPpiB_zHk" role="2EAAUK">
<property role="TrG5h" value="p" /> <property role="TrG5h" value="p" />
</node> </node>
</node> </node>
</node> </node>
</node> </node>
<node concept="1SCrqR" id="53cwso477QE" role="1SCrrM"> <node concept="1SCrqR" id="17iPpiB_$UM" role="1SCrrM">
<node concept="3IOpWs" id="53cwso477QW" role="1SCrqY"> <node concept="3IOpWs" id="17iPpiB_$Vh" role="1SCrqY">
<property role="TrG5h" value="Nat" /> <property role="TrG5h" value="Nat" />
</node> </node>
<node concept="3IOpWs" id="53cwso477Qw" role="1SCrqM"> <node concept="3IOpWs" id="17iPpiB_$UC" role="1SCrqM">
<property role="TrG5h" value="Nat" /> <property role="TrG5h" value="Nat" />
</node> </node>
</node> </node>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="ebaj2hta10rjdmlg0ugx3pp9hhdnm81"> <product version="3" modelHash="32khcnyrzzm5zdetceut0l7x5d1vbng">
<files names="AnalysisResultAccess.java:ConstantDefinitions.java:LType.java:LTypeVariant.java:QuerySpecificationHints.java:Typing_AsLTypeQuerySpecification.java:Typing_AsLTypeVariantQuerySpecification.java:Typing_AsLTypeVariant_0_switchCommonQuerySpecification.java:Typing_AsLTypeVariant_WrappedQuerySpecification.java:Typing_AsLType_0_switchCommonQuerySpecification.java:Typing_CheckErrorQuerySpecification.java:Typing_CheckQuerySpecification.java:Typing_Check_0_switchCommonQuerySpecification.java:Typing_InferQuerySpecification.java:Typing_Infer_0_switchCommonQuerySpecification.java:Typing_Infer_WrappedQuerySpecification.java:Typing_LookupCaseConditionQuerySpecification.java:Typing_LookupFailureQuerySpecification.java:Typing_LookupFailure_0_switchCommonQuerySpecification.java:Typing_LookupQuerySpecification.java:Typing_LookupTypeVarFailureQuerySpecification.java:Typing_LookupTypeVarQuerySpecification.java:Typing_LookupTypeVar_0_switchCommonQuerySpecification.java:Typing_Lookup_0_switchCommonQuerySpecification.java:Typing_MatchFunFailureQuerySpecification.java:Typing_MatchFunFailure_0_switchCommonQuerySpecification.java:Typing_MatchVariantFailureQuerySpecification.java:Typing_MatchVariantFailure_0_switchCommonQuerySpecification.java:Typing_RequiredQuerySpecification.java:Typing_Required_0_switchCommonQuerySpecification.java" /> <files names="AnalysisResultAccess.java:ConstantDefinitions.java:LType.java:LTypeVariant.java:QuerySpecificationHints.java:Typing_AllvarsQuerySpecification.java:Typing_Allvars_0_switchCommonQuerySpecification.java:Typing_AsLTypeQuerySpecification.java:Typing_AsLTypeVariantQuerySpecification.java:Typing_AsLTypeVariant_0_switchCommonQuerySpecification.java:Typing_AsLTypeVariant_WrappedQuerySpecification.java:Typing_AsLType_0_switchCommonQuerySpecification.java:Typing_CheckErrorQuerySpecification.java:Typing_CheckQuerySpecification.java:Typing_Check_0_switchCommonQuerySpecification.java:Typing_InferQuerySpecification.java:Typing_Infer_0_switchCommonQuerySpecification.java:Typing_Infer_WrappedQuerySpecification.java:Typing_LookupCaseConditionQuerySpecification.java:Typing_LookupFailureQuerySpecification.java:Typing_LookupFailure_0_switchCommonQuerySpecification.java:Typing_LookupQuerySpecification.java:Typing_LookupTypeVarFailureQuerySpecification.java:Typing_LookupTypeVarFailure_0_switchCommonQuerySpecification.java:Typing_LookupTypeVarQuerySpecification.java:Typing_LookupTypeVar_0_switchCommonQuerySpecification.java:Typing_Lookup_0_switchCommonQuerySpecification.java:Typing_MatchFunFailureQuerySpecification.java:Typing_MatchFunFailure_0_switchCommonQuerySpecification.java:Typing_MatchVariantFailureQuerySpecification.java:Typing_MatchVariantFailure_0_switchCommonQuerySpecification.java:Typing_RequiredQuerySpecification.java:Typing_Required_0_switchCommonQuerySpecification.java" />
</product> </product>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="7m49elljc2cv6e030817bkwhnu3u6db" /> <product version="3" modelHash="-46g9dx5f4t85g9xj5wd8f7db1j9fuq9" />
...@@ -37,16 +37,16 @@ public class AnalysisResultAccess { ...@@ -37,16 +37,16 @@ public class AnalysisResultAccess {
final ViatraQueryMatcher<IPatternMatch> evaluatorMatchFunFailure = EnginePool.getMatcher(Typing_MatchFunFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE); final ViatraQueryMatcher<IPatternMatch> evaluatorMatchFunFailure = EnginePool.getMatcher(Typing_MatchFunFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE);
final ViatraQueryMatcher<IPatternMatch> evaluatorMatchVariantFailure = EnginePool.getMatcher(Typing_MatchVariantFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE); final ViatraQueryMatcher<IPatternMatch> evaluatorMatchVariantFailure = EnginePool.getMatcher(Typing_MatchVariantFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE);
final ViatraQueryMatcher<IPatternMatch> evaluatorLookupFailure = EnginePool.getMatcher(Typing_LookupFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE); final ViatraQueryMatcher<IPatternMatch> evaluatorLookupFailure = EnginePool.getMatcher(Typing_LookupFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE);
final ViatraQueryMatcher<IPatternMatch> evaluatorLookupTypeVarFailure = EnginePool.getMatcher(Typing_LookupTypeVarFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE);
final IPatternMatch tup = evaluatorInfer.newMatch(term, null); final IPatternMatch tup = evaluatorInfer.newMatch(term, null);
final Set<LType.LTypeElement> inferValues = CodeGenerationHelper.getAllValues(evaluatorInfer, "out_1", tup); final Set<LType.LTypeElement> inferValues = CodeGenerationHelper.getAllValues(evaluatorInfer, "out_1", tup);
// TODO: need check if lookupTypeVarFailure is empty
boolean checkError = CollectionSequence.fromCollection(evaluatorCheckError.getAllMatches()).isNotEmpty(); boolean checkError = CollectionSequence.fromCollection(evaluatorCheckError.getAllMatches()).isNotEmpty();
boolean matchFunFailure = CollectionSequence.fromCollection(evaluatorMatchFunFailure.getAllMatches()).isNotEmpty(); boolean matchFunFailure = CollectionSequence.fromCollection(evaluatorMatchFunFailure.getAllMatches()).isNotEmpty();
boolean matchVariantFailure = CollectionSequence.fromCollection(evaluatorMatchVariantFailure.getAllMatches()).isNotEmpty(); boolean matchVariantFailure = CollectionSequence.fromCollection(evaluatorMatchVariantFailure.getAllMatches()).isNotEmpty();
boolean lookupFailure = CollectionSequence.fromCollection(evaluatorLookupFailure.getAllMatches()).isNotEmpty(); boolean lookupFailure = CollectionSequence.fromCollection(evaluatorLookupFailure.getAllMatches()).isNotEmpty();
boolean lookupTypeVarFailure = CollectionSequence.fromCollection(evaluatorLookupTypeVarFailure.getAllMatches()).isNotEmpty();
if (checkError || matchFunFailure || matchVariantFailure || lookupFailure) { if (checkError || matchFunFailure || matchVariantFailure || lookupFailure || lookupTypeVarFailure) {
return false; return false;
} }
......
...@@ -33,34 +33,34 @@ public final class QuerySpecificationHints extends MPSQuerySpecificationHints { ...@@ -33,34 +33,34 @@ public final class QuerySpecificationHints extends MPSQuerySpecificationHints {
this.dataTypes.add(UniqueDataType.from("jetbrains.mps.lang.core.structure.integer")); this.dataTypes.add(UniqueDataType.from("jetbrains.mps.lang.core.structure.integer"));
this.conceptFeatures = new HashSet<SConceptFeature>(); this.conceptFeatures = new HashSet<SConceptFeature>();
this.conceptFeatures.add(MetaAdapterFactory.getProperty(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f721L, 0x9229981a3b8f72aL, "name"));
this.conceptFeatures.add(MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name")); this.conceptFeatures.add(MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name"));
this.conceptFeatures.add(MetaAdapterFactory.getProperty(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f721L, 0x9229981a3b8f726L, "label")); this.conceptFeatures.add(MetaAdapterFactory.getProperty(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f721L, 0x9229981a3b8f726L, "label"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x6f77e6723373c7bfL, 0x6f77e6723373c7d3L, "ty")); this.conceptFeatures.add(MetaAdapterFactory.getProperty(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f721L, 0x9229981a3b8f72aL, "name"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9312L, 0x1a4a252762eb9317L, "t1")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f61cL, 0x9229981a3b8f62fL, "cases"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802c6L, 0x1fd8e2cf9df802cbL, "elems"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x6f77e6723373c7bfL, 0x6f77e6723373c7d7L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9322L, 0x1a4a252762eb9336L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9302L, 0x1a4a252762eb930bL, "t2")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9302L, 0x1a4a252762eb930bL, "t2"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f573L, 0x9229981a3b8f58bL, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9390L, 0x1a4a252762eb9399L, "ty2"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb933aL, 0x1a4a252762eb9352L, "body"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb93faL, 0x1a4a252762eb93ffL, "ty"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9302L, 0x1a4a252762eb9307L, "t1"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb93f1L, 0x1a4a252762eb93f6L, "t")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb93f1L, 0x1a4a252762eb93f6L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802cfL, 0x1fd8e2cf9df802d4L, "ty"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f61cL, 0x9229981a3b8f621L, "matchee"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb92d7L, 0x1a4a252762eb92dcL, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb936bL, 0x1a4a252762eb9378L, "t2"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f61cL, 0x9229981a3b8f62fL, "cases")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb933aL, 0x1a4a252762eb934eL, "bound")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9312L, 0x1a4a252762eb931bL, "t2"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9390L, 0x1a4a252762eb9399L, "ty2"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb937fL, 0x1a4a252762eb93d5L, "ty"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9322L, 0x1a4a252762eb9336L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb936bL, 0x1a4a252762eb9374L, "t1"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9302L, 0x1a4a252762eb9307L, "t1"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9312L, 0x1a4a252762eb9317L, "t1"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x6f77e6723373c7bfL, 0x6f77e6723373c7d3L, "ty"));
this.conceptFeatures.add(MetaAdapterFactory.getReferenceLink(0xb802a05692a24fbcL, 0x902ef8e5004c331fL, 0x7980b687ac7456feL, 0x7980b687ac7456ffL, "parent")); this.conceptFeatures.add(MetaAdapterFactory.getReferenceLink(0xb802a05692a24fbcL, 0x902ef8e5004c331fL, 0x7980b687ac7456feL, 0x7980b687ac7456ffL, "parent"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f721L, 0x9229981a3b8f731L, "t")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f721L, 0x9229981a3b8f731L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802cfL, 0x1fd8e2cf9df802d4L, "ty")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f61cL, 0x9229981a3b8f621L, "matchee")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802c6L, 0x1fd8e2cf9df802cbL, "elems"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb92d7L, 0x1a4a252762eb92dcL, "t")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb933aL, 0x1a4a252762eb9352L, "body"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9312L, 0x1a4a252762eb931bL, "t2")); this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x6f77e6723373c7bfL, 0x6f77e6723373c7d7L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb933aL, 0x1a4a252762eb934eL, "bound"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f573L, 0x9229981a3b8f58bL, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb93faL, 0x1a4a252762eb93ffL, "ty"));
this.languages = new HashSet<SLanguage>(); this.languages = new HashSet<SLanguage>();
this.languages.add(MetaAdapterFactory.getLanguage(0xb802a05692a24fbcL, 0x902ef8e5004c331fL, "ceab5195-25ea-4f22-9b92-103b95ca8c0c")); this.languages.add(MetaAdapterFactory.getLanguage(0xb802a05692a24fbcL, 0x902ef8e5004c331fL, "ceab5195-25ea-4f22-9b92-103b95ca8c0c"));
......
package FORecursiveTypes_Checker.model;
/*Generated by MPS */
import org.inca.core.runtime.plugin.MPSQuerySpecification;
import org.inca.core.runtime.plugin.MPSQuerySpecificationHints;
import org.inca.core.runtime.plugin.MPSGenericPatternMatcher;
import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
import org.eclipse.viatra.query.runtime.exception.ViatraQueryException;
import org.eclipse.viatra.query.runtime.api.scope.QueryScope;
import org.inca.core.runtime.plugin.AbstractScope;
import org.inca.core.runtime.plugin.AbstractPQuery;
import java.util.Set;
import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
import org.eclipse.viatra.query.runtime.matchers.psystem.queries.QueryInitializationException;
import jetbrains.mps.internal.collections.runtime.SetSequence;
import java.util.HashSet;
import java.util.List;
import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
import java.util.ArrayList;
import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
import java.util.Arrays;
@SuppressWarnings("all")
public final class Typing_Allvars_0_switchCommonQuerySpecification extends MPSQuerySpecification {
private Typing_Allvars_0_switchCommonQuerySpecification() {
super(Typing_Allvars_0_switchCommonQuerySpecification.GeneratedPQuery.INSTANCE);
}
@Override
public MPSQuerySpecificationHints getHints() {
return QuerySpecificationHints.instance();
}
@Override
protected MPSGenericPatternMatcher instantiate(ViatraQueryEngine engine) throws ViatraQueryException {
return MPSGenericPatternMatcher.on(engine, this);
}
@Override
public Class<? extends QueryScope> getPreferredScopeClass() {
return AbstractScope.class;
}
public static Typing_Allvars_0_switchCommonQuerySpecification instance() {
return Typing_Allvars_0_switchCommonQuerySpecification.LazyHolder.INSTANCE;
}
@SuppressWarnings("all")
private static final class LazyHolder {
private static final Typing_Allvars_0_switchCommonQuerySpecification INSTANCE = make();
public static Typing_Allvars_0_switchCommonQuerySpecification make() {
return new Typing_Allvars_0_switchCommonQuerySpecification();
}
}
private static final class GeneratedPQuery extends AbstractPQuery {
private static final Typing_Allvars_0_switchCommonQuerySpecification.GeneratedPQuery INSTANCE = new Typing_Allvars_0_switchCommonQuerySpecification.GeneratedPQuery();
@Override
protected Set<PBody> doGetContainedBodies() throws QueryInitializationException {
Set<PBody> bodies = SetSequence.fromSet(new HashSet<PBody>());
{
PBody body = new PBody(this);
List<ExportedParameter> exportedParameters = new ArrayList<ExportedParameter>();
body.setSymbolicParameters(exportedParameters);
SetSequence.fromSet(bodies).addElement(body);
}
return bodies;
}
@Override
public String getFullyQualifiedName() {
return "Typing.allvars_0_switchCommon";
}
@Override
public List<PParameter> getParameters() {
return Arrays.asList();
}
@Override
public List<String> getParameterNames() {
return Arrays.asList();
}
}
}
...@@ -89,14 +89,14 @@ public final class Typing_AsLTypeVariantQuerySpecification extends MPSQuerySpeci ...@@ -89,14 +89,14 @@ public final class Typing_AsLTypeVariantQuerySpecification extends MPSQuerySpeci
exportedParameters.add(new ExportedParameter(body, var_out_1, p_out_1)); exportedParameters.add(new ExportedParameter(body, var_out_1, p_out_1));
body.setSymbolicParameters(exportedParameters); body.setSymbolicParameters(exportedParameters);
PVariable var__5822171105755726116 = body.getOrCreateVariableByName("5822171105755726116"); PVariable var__1284323678216528319 = body.getOrCreateVariableByName("1284323678216528319");
PVariable var__5822171105755726124 = body.newVirtualVariable(); PVariable var__1284323678216528327 = body.newVirtualVariable();
PVariable var__5822171105755726119 = body.getOrCreateVariableByName("5822171105755726119"); PVariable var__1284323678216528322 = body.getOrCreateVariableByName("1284323678216528322");
new TypeConstraint(body, Tuples.flatTupleOf(var_type), new ConceptKey(MetaAdapterFactory.getConcept(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802c6L, "FORecursiveTypes.structure.VariantType"))); new TypeConstraint(body, Tuples.flatTupleOf(var_type), new ConceptKey(MetaAdapterFactory.getConcept(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802c6L, "FORecursiveTypes.structure.VariantType")));
new PositivePatternCall(body, Tuples.flatTupleOf(var_type, var__5822171105755726116), Typing_AsLTypeVariant_WrappedQuerySpecification.instance().getInternalQueryRepresentation()); new PositivePatternCall(body, Tuples.flatTupleOf(var_type, var__1284323678216528319), Typing_AsLTypeVariant_WrappedQuerySpecification.instance().getInternalQueryRepresentation());
new AggregatorConstraint(new BoundAggregator(LTypeVariant.instance().aggregator_lub, LTypeVariant.LTypeVariantElement.class, LTypeVariant.LTypeVariantElement.class), body, Tuples.flatTupleOf(var_type, var__5822171105755726119), Typing_AsLTypeVariant_WrappedQuerySpecification.instance().getInternalQueryRepresentation(), var__5822171105755726124, 1); new AggregatorConstraint(new BoundAggregator(LTypeVariant.instance().aggregator_lub, LTypeVariant.LTypeVariantElement.class, LTypeVariant.LTypeVariantElement.class), body, Tuples.flatTupleOf(var_type, var__1284323678216528322), Typing_AsLTypeVariant_WrappedQuerySpecification.instance().getInternalQueryRepresentation(), var__1284323678216528327