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 @@
<node concept="3F0ifn" id="6XRTB8NsWvU" role="3EZMnx">
<property role="3F0ifm" value="let" />
</node>
<node concept="3F0ifn" id="53cwso4QMwL" role="3EZMnx">
<property role="3F0ifm" value="type" />
</node>
<node concept="3F0A7n" id="6XRTB8NsWvV" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node>
......
<?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" />
</product>
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-aiary2y1quar5v7z08gm245a1yjju6j">
<product version="3" modelHash="ivitd70j9k9rauzm8i8gwx83kt6nud">
<files names="Language.java" />
</product>
......@@ -13,17 +13,24 @@
<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">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>
<languageVersions>
<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: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: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: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: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: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:b802a056-92a2-4fbc-902e-f8e5004c331f:org.inca.core" version="0" />
<language slang="l:e6d2ffd5-9c56-41f8-99ac-9d1ceb13daa2:org.inca.data" version="2" />
......@@ -47,9 +54,11 @@
<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="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="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="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="c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)" 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 @@
</node>
<node concept="228e00" id="53cwso477Gq" role="228e04">
<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" />
</node>
</node>
......@@ -92,7 +92,7 @@
</node>
<node concept="2EAAUw" id="53cwso477Sm" role="2EAAYI">
<property role="2EAAUB" value="zero" />
<property role="2EAAUF" value="a" />
<property role="2EAAUF" value="x" />
<node concept="2EAANM" id="53cwso477Tg" role="2EAAUK">
<property role="TrG5h" value="zero" />
<node concept="1s3EnQ" id="53cwso477TV" role="2EAAKa" />
......@@ -101,17 +101,17 @@
<node concept="2EAAUw" id="53cwso477U0" role="2EAAYI">
<property role="2EAAUB" value="succ" />
<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" />
</node>
</node>
</node>
</node>
<node concept="1SCrqR" id="53cwso477QE" role="1SCrrM">
<node concept="3IOpWs" id="53cwso477QW" role="1SCrqY">
<node concept="1SCrqR" id="17iPpiB_$UM" role="1SCrrM">
<node concept="3IOpWs" id="17iPpiB_$Vh" role="1SCrqY">
<property role="TrG5h" value="Nat" />
</node>
<node concept="3IOpWs" id="53cwso477Qw" role="1SCrqM">
<node concept="3IOpWs" id="17iPpiB_$UC" role="1SCrqM">
<property role="TrG5h" value="Nat" />
</node>
</node>
......
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="ebaj2hta10rjdmlg0ugx3pp9hhdnm81">
<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" />
<product version="3" modelHash="32khcnyrzzm5zdetceut0l7x5d1vbng">
<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>
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="7m49elljc2cv6e030817bkwhnu3u6db" />
<product version="3" modelHash="-46g9dx5f4t85g9xj5wd8f7db1j9fuq9" />
......@@ -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> 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> evaluatorLookupTypeVarFailure = EnginePool.getMatcher(Typing_LookupTypeVarFailureQuerySpecification.instance(), AbstractScope.from(scope), true, ScatteredTimelyReteBackendFactory.INSTANCE);
final IPatternMatch tup = evaluatorInfer.newMatch(term, null);
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 matchFunFailure = CollectionSequence.fromCollection(evaluatorMatchFunFailure.getAllMatches()).isNotEmpty();
boolean matchVariantFailure = CollectionSequence.fromCollection(evaluatorMatchVariantFailure.getAllMatches()).isNotEmpty();
boolean lookupFailure = CollectionSequence.fromCollection(evaluatorLookupFailure.getAllMatches()).isNotEmpty();
if (checkError || matchFunFailure || matchVariantFailure || lookupFailure) {
boolean lookupTypeVarFailure = CollectionSequence.fromCollection(evaluatorLookupTypeVarFailure.getAllMatches()).isNotEmpty();
if (checkError || matchFunFailure || matchVariantFailure || lookupFailure || lookupTypeVarFailure) {
return false;
}
......
......@@ -33,34 +33,34 @@ public final class QuerySpecificationHints extends MPSQuerySpecificationHints {
this.dataTypes.add(UniqueDataType.from("jetbrains.mps.lang.core.structure.integer"));
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(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f721L, 0x9229981a3b8f726L, "label"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x6f77e6723373c7bfL, 0x6f77e6723373c7d3L, "ty"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9312L, 0x1a4a252762eb9317L, "t1"));
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.getProperty(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f721L, 0x9229981a3b8f72aL, "name"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x9229981a3b8f61cL, 0x9229981a3b8f62fL, "cases"));
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, 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, 0x9229981a3b8f61cL, 0x9229981a3b8f62fL, "cases"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb933aL, 0x1a4a252762eb934eL, "bound"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1"));
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, 0x1a4a252762eb9322L, 0x1a4a252762eb9336L, "t"));
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.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9390L, 0x1a4a252762eb9395L, "ty1"));
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, 0x9229981a3b8f61cL, 0x9229981a3b8f621L, "matchee"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb92d7L, 0x1a4a252762eb92dcL, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb9312L, 0x1a4a252762eb931bL, "t2"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb937fL, 0x1a4a252762eb9384L, "t"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802c6L, 0x1fd8e2cf9df802cbL, "elems"));
this.conceptFeatures.add(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1a4a252762eb933aL, 0x1a4a252762eb9352L, "body"));
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.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
exportedParameters.add(new ExportedParameter(body, var_out_1, p_out_1));
body.setSymbolicParameters(exportedParameters);
PVariable var__5822171105755726116 = body.getOrCreateVariableByName("5822171105755726116");
PVariable var__5822171105755726124 = body.newVirtualVariable();
PVariable var__5822171105755726119 = body.getOrCreateVariableByName("5822171105755726119");
PVariable var__1284323678216528319 = body.getOrCreateVariableByName("1284323678216528319");
PVariable var__1284323678216528327 = body.newVirtualVariable();
PVariable var__1284323678216528322 = body.getOrCreateVariableByName("1284323678216528322");
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 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 Equality(body, var_out_1, var__5822171105755726124);
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__1284323678216528322), Typing_AsLTypeVariant_WrappedQuerySpecification.instance().getInternalQueryRepresentation(), var__1284323678216528327, 1);
new Equality(body, var_out_1, var__1284323678216528327);
SetSequence.fromSet(bodies).addElement(body);
}
......
......@@ -92,30 +92,30 @@ public final class Typing_AsLTypeVariant_WrappedQuerySpecification extends MPSQu
exportedParameters.add(new ExportedParameter(body, var_out_1, p_out_1));
body.setSymbolicParameters(exportedParameters);
PVariable var__5822171105755758497 = body.newVirtualVariable();
PVariable var__tmp_546 = body.getOrCreateVariableByName("tmp_546");
PVariable var__ty = body.getOrCreateVariableByName("ty");
PVariable var__tmp_425 = body.getOrCreateVariableByName("tmp_425");
PVariable var__tmp_421 = body.getOrCreateVariableByName("tmp_421");
PVariable var__tmp_422 = body.getOrCreateVariableByName("tmp_422");
PVariable var__tmp_423 = body.getOrCreateVariableByName("tmp_423");
PVariable var__tmp_424 = body.getOrCreateVariableByName("tmp_424");
PVariable var__tmp_547 = body.getOrCreateVariableByName("tmp_547");
PVariable var__tmp_548 = body.getOrCreateVariableByName("tmp_548");
PVariable var__tmp_549 = body.getOrCreateVariableByName("tmp_549");
PVariable var__tmp_545 = body.getOrCreateVariableByName("tmp_545");
PVariable var__1284323678216572198 = body.newVirtualVariable();
PVariable var__elem = body.getOrCreateVariableByName("elem");
PVariable var__l = body.getOrCreateVariableByName("l");
new TypeConstraint(body, Tuples.flatTupleOf(var_type), new ConceptKey(MetaAdapterFactory.getConcept(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802c6L, "FORecursiveTypes.structure.VariantType")));
new PositivePatternCall(body, Tuples.flatTupleOf(), Typing_AsLTypeVariant_0_switchCommonQuerySpecification.instance().getInternalQueryRepresentation());
new TypeConstraint(body, Tuples.staticArityFlatTupleOf(var_type, var__tmp_421), new ConceptFeatureKey(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802c6L, 0x1fd8e2cf9df802cbL, "elems")));
new Equality(body, var__elem, var__tmp_421);
new TypeConstraint(body, Tuples.staticArityFlatTupleOf(var__elem, var__tmp_422), new ConceptFeatureKey(MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name")));
new Equality(body, var__l, var__tmp_422);
new TypeConstraint(body, Tuples.staticArityFlatTupleOf(var__elem, var__tmp_423), new ConceptFeatureKey(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802cfL, 0x1fd8e2cf9df802d4L, "ty")));
new PositivePatternCall(body, Tuples.flatTupleOf(var__tmp_423, var__tmp_424), Typing_AsLTypeQuerySpecification.instance().getInternalQueryRepresentation());
new Equality(body, var__ty, var__tmp_424);
new TypeConstraint(body, Tuples.staticArityFlatTupleOf(var_type, var__tmp_545), new ConceptFeatureKey(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802c6L, 0x1fd8e2cf9df802cbL, "elems")));
new Equality(body, var__elem, var__tmp_545);
new TypeConstraint(body, Tuples.staticArityFlatTupleOf(var__elem, var__tmp_546), new ConceptFeatureKey(MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name")));
new Equality(body, var__l, var__tmp_546);
new TypeConstraint(body, Tuples.staticArityFlatTupleOf(var__elem, var__tmp_547), new ConceptFeatureKey(MetaAdapterFactory.getContainmentLink(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802cfL, 0x1fd8e2cf9df802d4L, "ty")));
new PositivePatternCall(body, Tuples.flatTupleOf(var__tmp_547, var__tmp_548), Typing_AsLTypeQuerySpecification.instance().getInternalQueryRepresentation());
new Equality(body, var__ty, var__tmp_548);
new ExpressionEvaluation(body, new IExpressionEvaluator() {
@Override
public String getShortDescription() {
return "5822171105755758497";
return "1284323678216572198";
}
@Override
......@@ -128,9 +128,9 @@ public final class Typing_AsLTypeVariant_WrappedQuerySpecification extends MPSQu
return LTypeVariant.instance().singleton((CodeGenerationHelper.demandWrapString(valueProvider.getValue("l"))), ((LType.LTypeElement) valueProvider.getValue("ty")));
}
}, var__5822171105755758497, false);
new Equality(body, var__tmp_425, var__5822171105755758497);
new Equality(body, var__tmp_425, var_out_1);
}, var__1284323678216572198, false);
new Equality(body, var__tmp_549, var__1284323678216572198);
new Equality(body, var__tmp_549, var_out_1);
SetSequence.fromSet(bodies).addElement(body);
}
......@@ -144,8 +144,8 @@ public final class Typing_AsLTypeVariant_WrappedQuerySpecification extends MPSQu
exportedParameters.add(new ExportedParameter(body, var_out_1, p_out_1));
body.setSymbolicParameters(exportedParameters);
PVariable var__tmp_426 = body.getOrCreateVariableByName("tmp_426");
PVariable var__5822171105755758515 = body.newVirtualVariable();
PVariable var__1284323678216572216 = body.newVirtualVariable();
PVariable var__tmp_550 = body.getOrCreateVariableByName("tmp_550");
new TypeConstraint(body, Tuples.flatTupleOf(var_type), new ConceptKey(MetaAdapterFactory.getConcept(0x83519d5ae8d840b1L, 0xb9587bbbda82ff24L, 0x1fd8e2cf9df802c6L, "FORecursiveTypes.structure.VariantType")));
new PositivePatternCall(body, Tuples.flatTupleOf(), Typing_AsLTypeVariant_0_switchCommonQuerySpecification.instance().getInternalQueryRepresentation());
......@@ -153,7 +153,7 @@ public final class Typing_AsLTypeVariant_WrappedQuerySpecification extends MPSQu
@Override
public String getShortDescription() {
return "5822171105755758515";
return "1284323678216572216";
}
@Override
......@@ -166,9 +166,9 @@ public final class Typing_AsLTypeVariant_WrappedQuerySpecification extends MPSQu
return LTypeVariant.instance().empty();
}
}, var__5822171105755758515, false);
new Equality(body, var__tmp_426, var__5822171105755758515);
new Equality(body, var__tmp_426, var_out_1);
}, var__1284323678216572216, false);
new Equality(body, var__tmp_550, var__1284323678216572216);
new Equality(body, var__tmp_550, var_out_1);
SetSequence.fromSet(bodies).addElement(body);
}
......
......@@ -89,14 +89,14 @@ public final class Typing_InferQuerySpecification extends MPSQuerySpecification
exportedParameters.add(new ExportedParameter(body, var_out_1, p_out_1));
body.setSymbolicParameters(exportedParameters);
PVariable var__5822171105755726058 = body.getOrCreateVariableByName("5822171105755726058");