Include origin features's hash to requiredHash when building rules.

This enables to adequately reflect changes in the model when it is updated
by editor actions, such as "side transform".

Three tests was broken as the result of this fix and are disabled
http://127.0.0.1:63320/node?ref=r%3A8d22f6d9-72f0-49ec-92ee-027a87fbedd4%28jetbrains.mps.baseLanguageExt.test.incremental%40tests%29%2F3095008005741803340
This commit is contained in:
Fedor Isakov 2020-01-02 17:10:57 +01:00
parent 662d65bcbb
commit fa7532f34f
6 changed files with 802 additions and 281 deletions

View File

@ -644,6 +644,7 @@
<module ref="26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.coderules.runtime)" kind="cl" />
<module ref="bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor)" kind="cl" />
<module ref="a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)" kind="cl" />
<module ref="9a4afe51-f114-4595-b5df-048ce3c596be(jetbrains.mps.runtime)" kind="cl" />
</dependencies>
<uses>
<language id="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" />
@ -2507,6 +2508,7 @@
<module ref="26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.coderules.runtime)" kind="cl" />
<module ref="bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor)" kind="cl" />
<module ref="a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)" kind="cl" />
<module ref="9a4afe51-f114-4595-b5df-048ce3c596be(jetbrains.mps.runtime)" kind="cl" />
</dependencies>
<uses>
<language id="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" />

View File

@ -14212,7 +14212,7 @@
</node>
<node concept="10Nm6u" id="1laj_RSpv0h" role="37wK5m">
<node concept="1sPUBX" id="1laj_RSpvwz" role="lGtFl">
<ref role="v9R2y" node="1laj_RSpsVh" resolve="origin_pointer" />
<ref role="v9R2y" node="1laj_RSpsVh" resolve="origin_node" />
</node>
</node>
</node>
@ -15995,7 +15995,7 @@
</node>
<node concept="jVnub" id="1laj_RSpsVh">
<property role="3GE5qa" value="rule" />
<property role="TrG5h" value="origin_pointer" />
<property role="TrG5h" value="origin_node" />
<node concept="3aamgX" id="1laj_RStZlp" role="3aUrZf">
<property role="36QftV" value="true" />
<ref role="30HIoZ" to="wq2x:36tQV5AmIsB" resolve="ConstraintRule" />
@ -16008,29 +16008,25 @@
<node concept="3Tqbb2" id="1laj_RSu10w" role="1tU5fm" />
</node>
</node>
<node concept="3clFbF" id="3mytCjYV76Q" role="3cqZAp">
<node concept="2YIFZM" id="3mytCjYV7bT" role="3clFbG">
<ref role="37wK5l" to="i8bi:4o40NPkYQhu" resolve="getPointer" />
<ref role="1Pybhc" to="i8bi:5IkW5anFcyt" resolve="SNodeOperations" />
<node concept="37vLTw" id="3mytCjYV7cQ" role="37wK5m">
<ref role="3cqZAo" node="1laj_RSu10_" resolve="origin" />
<node concept="1ZhdrF" id="3mytCjYV7cR" role="lGtFl">
<property role="2qtEX8" value="variableDeclaration" />
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068498886296/1068581517664" />
<node concept="3$xsQk" id="3mytCjYV7cS" role="3$ytzL">
<node concept="3clFbS" id="3mytCjYV7cT" role="2VODD2">
<node concept="3clFbF" id="3mytCjYV7cU" role="3cqZAp">
<node concept="2OqwBi" id="3mytCjYV7cV" role="3clFbG">
<node concept="1iwH7S" id="3mytCjYV7cW" role="2Oq$k0" />
<node concept="1iwH70" id="3mytCjYV7cX" role="2OqNvi">
<ref role="1iwH77" node="1laj_RSs33U" resolve="origin_variable" />
<node concept="2OqwBi" id="3mytCjYV7cY" role="1iwH7V">
<node concept="30H73N" id="3mytCjYV7cZ" role="2Oq$k0" />
<node concept="2Xjw5R" id="3mytCjYV7d0" role="2OqNvi">
<node concept="1xMEDy" id="3mytCjYV7d1" role="1xVPHs">
<node concept="chp4Y" id="3mytCjYV7d2" role="ri$Ld">
<ref role="cht4Q" to="wq2x:1laj_RSpLVV" resolve="OriginSpec" />
</node>
<node concept="3cpWs6" id="2o8vGoPOQL6" role="3cqZAp">
<node concept="37vLTw" id="2o8vGoPOQOi" role="3cqZAk">
<ref role="3cqZAo" node="1laj_RSu10_" resolve="origin" />
<node concept="1ZhdrF" id="2o8vGoPOQOj" role="lGtFl">
<property role="2qtEX8" value="variableDeclaration" />
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068498886296/1068581517664" />
<node concept="3$xsQk" id="2o8vGoPOQOk" role="3$ytzL">
<node concept="3clFbS" id="2o8vGoPOQOl" role="2VODD2">
<node concept="3clFbF" id="2o8vGoPOQOm" role="3cqZAp">
<node concept="2OqwBi" id="2o8vGoPOQOn" role="3clFbG">
<node concept="1iwH7S" id="2o8vGoPOQOo" role="2Oq$k0" />
<node concept="1iwH70" id="2o8vGoPOQOp" role="2OqNvi">
<ref role="1iwH77" node="1laj_RSs33U" resolve="origin_variable" />
<node concept="2OqwBi" id="2o8vGoPOQOq" role="1iwH7V">
<node concept="30H73N" id="2o8vGoPOQOr" role="2Oq$k0" />
<node concept="2Xjw5R" id="2o8vGoPOQOs" role="2OqNvi">
<node concept="1xMEDy" id="2o8vGoPOQOt" role="1xVPHs">
<node concept="chp4Y" id="2o8vGoPOQOu" role="ri$Ld">
<ref role="cht4Q" to="wq2x:1laj_RSpLVV" resolve="OriginSpec" />
</node>
</node>
</node>
@ -16041,7 +16037,7 @@
</node>
</node>
</node>
<node concept="raruj" id="3mytCjYVhZr" role="lGtFl" />
<node concept="raruj" id="2o8vGoPOQOv" role="lGtFl" />
</node>
</node>
</node>
@ -16073,59 +16069,26 @@
<node concept="1Koe21" id="1laj_RSptA4" role="1lVwrX">
<node concept="9aQIb" id="3mytCjYVi71" role="1Koe22">
<node concept="3clFbS" id="3mytCjYVi72" role="9aQI4">
<node concept="3clFbF" id="3mytCjYVies" role="3cqZAp">
<node concept="2YIFZM" id="3mytCjYViit" role="3clFbG">
<ref role="37wK5l" to="i8bi:4o40NPkYQhu" resolve="getPointer" />
<ref role="1Pybhc" to="i8bi:5IkW5anFcyt" resolve="SNodeOperations" />
<node concept="2OqwBi" id="3mytCjYVijb" role="37wK5m">
<node concept="1rXfSq" id="3mytCjYVijc" role="2Oq$k0">
<ref role="37wK5l" node="36tQV5AvM3Y" resolve="token" />
<node concept="1ZhdrF" id="3mytCjYVijd" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1204053956946/1068499141037" />
<property role="2qtEX8" value="baseMethodDeclaration" />
<node concept="3$xsQk" id="3mytCjYVije" role="3$ytzL">
<node concept="3clFbS" id="3mytCjYVijf" role="2VODD2">
<node concept="3clFbF" id="3mytCjYVijg" role="3cqZAp">
<node concept="2OqwBi" id="3mytCjYVijh" role="3clFbG">
<node concept="1iwH7S" id="3mytCjYViji" role="2Oq$k0" />
<node concept="1iwH70" id="3mytCjYVijj" role="2OqNvi">
<ref role="1iwH77" node="36tQV5AugIl" resolve="template_token_this" />
<node concept="2OqwBi" id="3mytCjYVijk" role="1iwH7V">
<node concept="30H73N" id="3mytCjYVijl" role="2Oq$k0" />
<node concept="2Xjw5R" id="3mytCjYVijm" role="2OqNvi">
<node concept="1xMEDy" id="3mytCjYVijn" role="1xVPHs">
<node concept="chp4Y" id="3mytCjYVijo" role="ri$Ld">
<ref role="cht4Q" to="wq2x:6OXbTDyHcuD" resolve="Template" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2OwXpG" id="3mytCjYVijp" role="2OqNvi">
<ref role="2Oxat5" node="36tQV5AoEVr" resolve="input" />
<node concept="1ZhdrF" id="3mytCjYVijq" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1197029447546/1197029500499" />
<property role="2qtEX8" value="fieldDeclaration" />
<node concept="3$xsQk" id="3mytCjYVijr" role="3$ytzL">
<node concept="3clFbS" id="3mytCjYVijs" role="2VODD2">
<node concept="3clFbF" id="3mytCjYVijt" role="3cqZAp">
<node concept="2OqwBi" id="3mytCjYViju" role="3clFbG">
<node concept="1iwH7S" id="3mytCjYVijv" role="2Oq$k0" />
<node concept="1iwH70" id="3mytCjYVijw" role="2OqNvi">
<ref role="1iwH77" node="36tQV5Au3A_" resolve="ruletemplate_token_input" />
<node concept="2OqwBi" id="3mytCjYVijx" role="1iwH7V">
<node concept="30H73N" id="3mytCjYVijy" role="2Oq$k0" />
<node concept="2Xjw5R" id="3mytCjYVijz" role="2OqNvi">
<node concept="1xMEDy" id="3mytCjYVij$" role="1xVPHs">
<node concept="chp4Y" id="3mytCjYVij_" role="ri$Ld">
<ref role="cht4Q" to="wq2x:36tQV5AmIsf" resolve="RuleTemplate" />
</node>
<node concept="3cpWs6" id="2o8vGoPORah" role="3cqZAp">
<node concept="2OqwBi" id="2o8vGoPORhe" role="3cqZAk">
<node concept="1rXfSq" id="2o8vGoPORhf" role="2Oq$k0">
<ref role="37wK5l" node="36tQV5AvM3Y" resolve="token" />
<node concept="1ZhdrF" id="2o8vGoPORhg" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1204053956946/1068499141037" />
<property role="2qtEX8" value="baseMethodDeclaration" />
<node concept="3$xsQk" id="2o8vGoPORhh" role="3$ytzL">
<node concept="3clFbS" id="2o8vGoPORhi" role="2VODD2">
<node concept="3clFbF" id="2o8vGoPORhj" role="3cqZAp">
<node concept="2OqwBi" id="2o8vGoPORhk" role="3clFbG">
<node concept="1iwH7S" id="2o8vGoPORhl" role="2Oq$k0" />
<node concept="1iwH70" id="2o8vGoPORhm" role="2OqNvi">
<ref role="1iwH77" node="36tQV5AugIl" resolve="template_token_this" />
<node concept="2OqwBi" id="2o8vGoPORhn" role="1iwH7V">
<node concept="30H73N" id="2o8vGoPORho" role="2Oq$k0" />
<node concept="2Xjw5R" id="2o8vGoPORhp" role="2OqNvi">
<node concept="1xMEDy" id="2o8vGoPORhq" role="1xVPHs">
<node concept="chp4Y" id="2o8vGoPORhr" role="ri$Ld">
<ref role="cht4Q" to="wq2x:6OXbTDyHcuD" resolve="Template" />
</node>
</node>
</node>
@ -16137,7 +16100,36 @@
</node>
</node>
</node>
<node concept="raruj" id="3mytCjYViph" role="lGtFl" />
<node concept="2OwXpG" id="2o8vGoPORhs" role="2OqNvi">
<ref role="2Oxat5" node="36tQV5AoEVr" resolve="input" />
<node concept="1ZhdrF" id="2o8vGoPORht" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1197029447546/1197029500499" />
<property role="2qtEX8" value="fieldDeclaration" />
<node concept="3$xsQk" id="2o8vGoPORhu" role="3$ytzL">
<node concept="3clFbS" id="2o8vGoPORhv" role="2VODD2">
<node concept="3clFbF" id="2o8vGoPORhw" role="3cqZAp">
<node concept="2OqwBi" id="2o8vGoPORhx" role="3clFbG">
<node concept="1iwH7S" id="2o8vGoPORhy" role="2Oq$k0" />
<node concept="1iwH70" id="2o8vGoPORhz" role="2OqNvi">
<ref role="1iwH77" node="36tQV5Au3A_" resolve="ruletemplate_token_input" />
<node concept="2OqwBi" id="2o8vGoPORh$" role="1iwH7V">
<node concept="30H73N" id="2o8vGoPORh_" role="2Oq$k0" />
<node concept="2Xjw5R" id="2o8vGoPORhA" role="2OqNvi">
<node concept="1xMEDy" id="2o8vGoPORhB" role="1xVPHs">
<node concept="chp4Y" id="2o8vGoPORhC" role="ri$Ld">
<ref role="cht4Q" to="wq2x:36tQV5AmIsf" resolve="RuleTemplate" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="raruj" id="2o8vGoPORoG" role="lGtFl" />
</node>
</node>
</node>

View File

@ -1675,6 +1675,11 @@
<ref role="3bR37D" node="7BVjoXzUxee" resolve="jetbrains.mps.lang.coderules.runtime" />
</node>
</node>
<node concept="1SiIV0" id="2o8vGoPP7lr" role="3bR37C">
<node concept="3bR9La" id="2o8vGoPP7ls" role="1SiIV1">
<ref role="3bR37D" to="ffeo:7Kfy9QB6Lg8" resolve="jetbrains.mps.runtime" />
</node>
</node>
</node>
<node concept="1E1JtA" id="7BVjoXzUxee" role="2G$12L">
<property role="BnDLt" value="true" />

View File

@ -13,6 +13,7 @@
<dependency reexport="false">6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)</dependency>
<dependency reexport="true">bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor)</dependency>
<dependency reexport="false">26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.coderules.runtime)</dependency>
<dependency reexport="false">9a4afe51-f114-4595-b5df-048ce3c596be(jetbrains.mps.runtime)</dependency>
</dependencies>
<languageVersions>
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="9" />
@ -38,6 +39,7 @@
<module reference="9e98f4e2-decf-4e97-bf80-9109e8b759aa(jetbrains.mps.lang.feedback.context)" version="0" />
<module reference="bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor)" version="0" />
<module reference="a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)" version="0" />
<module reference="9a4afe51-f114-4595-b5df-048ce3c596be(jetbrains.mps.runtime)" version="0" />
</dependencyVersions>
</solution>

View File

@ -24,6 +24,8 @@
<import index="cxk7" ref="r:daa544a7-0a5c-49c0-a54c-4c2a5b4868aa(jetbrains.mps.logic.predicate)" />
<import index="xnrr" ref="r:4fd33103-fc30-42f4-a8cf-d1e858f21988(jetbrains.mps.lang.coderules.program.analysis)" />
<import index="lui2" ref="8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.module(MPS.OpenAPI/)" />
<import index="i8bi" ref="r:c3548bac-30eb-4a2a-937c-0111d5697309(jetbrains.mps.lang.smodel.generator.smodelAdapter)" />
<import index="c17a" ref="8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.language(MPS.OpenAPI/)" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -2854,8 +2856,8 @@
</node>
<node concept="37vLTG" id="7nPD14OeqYM" role="3clF46">
<property role="TrG5h" value="originRef" />
<node concept="3uibUv" id="6i42QSs9mgq" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
<node concept="3uibUv" id="2o8vGoPOTpN" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNode" resolve="SNode" />
</node>
</node>
<node concept="3cqZAl" id="7nPD14OeqYO" role="3clF45" />
@ -2921,11 +2923,16 @@
<node concept="2OqwBi" id="6RFuZEC7tQo" role="37vLTJ">
<node concept="Xjq3P" id="6RFuZEC7tPD" role="2Oq$k0" />
<node concept="2OwXpG" id="6RFuZEC7tR_" role="2OqNvi">
<ref role="2Oxat5" node="7nPD14Ob4B1" resolve="originRef" />
<ref role="2Oxat5" node="7nPD14Ob4B1" resolve="origin" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="2o8vGoQ0UbA" role="3cqZAp">
<node concept="1rXfSq" id="2o8vGoQ0Ub$" role="3clFbG">
<ref role="37wK5l" node="2o8vGoQ0_w3" resolve="processOrigin" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="1lzLQ0zuHxv" role="jymVt" />
@ -3750,6 +3757,372 @@
</node>
</node>
<node concept="2tJIrI" id="1lzLQ0zudT2" role="jymVt" />
<node concept="3clFb_" id="2o8vGoQ0_w3" role="jymVt">
<property role="TrG5h" value="processOrigin" />
<node concept="3cqZAl" id="2o8vGoQ0LbV" role="3clF45" />
<node concept="3Tm6S6" id="2o8vGoQ0BYV" role="1B3o_S" />
<node concept="3clFbS" id="2o8vGoQ0_w7" role="3clF47">
<node concept="3clFbJ" id="2o8vGoQ0Uht" role="3cqZAp">
<node concept="3clFbS" id="2o8vGoQ0Uhv" role="3clFbx">
<node concept="3SKdUt" id="2o8vGoQ0U_3" role="3cqZAp">
<node concept="1PaTwC" id="2o8vGoQ0U_4" role="3ndbpf">
<node concept="3oM_SD" id="2o8vGoQ0U_Y" role="1PaTwD">
<property role="3oM_SC" value="requiredHash" />
</node>
<node concept="3oM_SD" id="2o8vGoQ0UA8" role="1PaTwD">
<property role="3oM_SC" value="must" />
</node>
<node concept="3oM_SD" id="2o8vGoQ0UAj" role="1PaTwD">
<property role="3oM_SC" value="also" />
</node>
<node concept="3oM_SD" id="2o8vGoQ0UAB" role="1PaTwD">
<property role="3oM_SC" value="reflect" />
</node>
<node concept="3oM_SD" id="2o8vGoQ0UAW" role="1PaTwD">
<property role="3oM_SC" value="the" />
</node>
<node concept="3oM_SD" id="2o8vGoQ0UBa" role="1PaTwD">
<property role="3oM_SC" value="features" />
</node>
<node concept="3oM_SD" id="2o8vGoQ0UC1" role="1PaTwD">
<property role="3oM_SC" value="of" />
</node>
<node concept="3oM_SD" id="2o8vGoQ0UC9" role="1PaTwD">
<property role="3oM_SC" value="the" />
</node>
<node concept="3oM_SD" id="2o8vGoQ0UCi" role="1PaTwD">
<property role="3oM_SC" value="origin" />
</node>
</node>
</node>
<node concept="1DcWWT" id="2o8vGoQ0UY0" role="3cqZAp">
<node concept="3clFbS" id="2o8vGoQ0UY3" role="2LFqv$">
<node concept="3clFbF" id="2o8vGoQ18N_" role="3cqZAp">
<node concept="d57v9" id="2o8vGoQ18NA" role="3clFbG">
<node concept="3cpWs3" id="2o8vGoQ18NB" role="37vLTx">
<node concept="2OqwBi" id="2o8vGoQ1cQA" role="3uHU7w">
<node concept="2OqwBi" id="2o8vGoQ18NC" role="2Oq$k0">
<node concept="37vLTw" id="2o8vGoQ1bim" role="2Oq$k0">
<ref role="3cqZAo" node="2o8vGoQ0UY4" resolve="ref" />
</node>
<node concept="liA8E" id="2o8vGoQ1cwS" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SReference.getLink()" resolve="getLink" />
</node>
</node>
<node concept="liA8E" id="2o8vGoQ1d7O" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~Object.hashCode()" resolve="hashCode" />
</node>
</node>
<node concept="17qRlL" id="2o8vGoQ18NF" role="3uHU7B">
<node concept="37vLTw" id="2o8vGoQ18NG" role="3uHU7B">
<ref role="3cqZAo" node="cmlg9NyC84" resolve="requiredHash" />
</node>
<node concept="3cmrfG" id="2o8vGoQ18NH" role="3uHU7w">
<property role="3cmrfH" value="13" />
</node>
</node>
</node>
<node concept="2OqwBi" id="2o8vGoQ18NI" role="37vLTJ">
<node concept="Xjq3P" id="2o8vGoQ18NJ" role="2Oq$k0" />
<node concept="2OwXpG" id="2o8vGoQ18NK" role="2OqNvi">
<ref role="2Oxat5" node="cmlg9NyC84" resolve="requiredHash" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="2o8vGoQ18MY" role="3cqZAp" />
<node concept="3cpWs8" id="2o8vGoQ12NF" role="3cqZAp">
<node concept="3cpWsn" id="2o8vGoQ12NG" role="3cpWs9">
<property role="TrG5h" value="targetNodeId" />
<node concept="3uibUv" id="2o8vGoQ10Ix" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeId" resolve="SNodeId" />
</node>
<node concept="2OqwBi" id="2o8vGoQ12NH" role="33vP2m">
<node concept="37vLTw" id="2o8vGoQ12NI" role="2Oq$k0">
<ref role="3cqZAo" node="2o8vGoQ0UY4" resolve="ref" />
</node>
<node concept="liA8E" id="2o8vGoQ12NJ" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SReference.getTargetNodeId()" resolve="getTargetNodeId" />
</node>
</node>
</node>
</node>
<node concept="3clFbJ" id="2o8vGoQ12S7" role="3cqZAp">
<node concept="3clFbS" id="2o8vGoQ12Sj" role="3clFbx">
<node concept="3clFbF" id="2o8vGoQ13bP" role="3cqZAp">
<node concept="d57v9" id="2o8vGoQ13bQ" role="3clFbG">
<node concept="3cpWs3" id="2o8vGoQ13bR" role="37vLTx">
<node concept="2OqwBi" id="2o8vGoQ13bS" role="3uHU7w">
<node concept="37vLTw" id="2o8vGoQ14$L" role="2Oq$k0">
<ref role="3cqZAo" node="2o8vGoQ12NG" resolve="targetNodeId" />
</node>
<node concept="liA8E" id="2o8vGoQ13bU" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~Object.hashCode()" resolve="hashCode" />
</node>
</node>
<node concept="17qRlL" id="2o8vGoQ13bV" role="3uHU7B">
<node concept="37vLTw" id="2o8vGoQ13bW" role="3uHU7B">
<ref role="3cqZAo" node="cmlg9NyC84" resolve="requiredHash" />
</node>
<node concept="3cmrfG" id="2o8vGoQ13bX" role="3uHU7w">
<property role="3cmrfH" value="17" />
</node>
</node>
</node>
<node concept="2OqwBi" id="2o8vGoQ13bY" role="37vLTJ">
<node concept="Xjq3P" id="2o8vGoQ13bZ" role="2Oq$k0" />
<node concept="2OwXpG" id="2o8vGoQ13c0" role="2OqNvi">
<ref role="2Oxat5" node="cmlg9NyC84" resolve="requiredHash" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="2o8vGoQ14Fa" role="3cqZAp" />
</node>
<node concept="3y3z36" id="2o8vGoQ12Za" role="3clFbw">
<node concept="10Nm6u" id="2o8vGoQ132G" role="3uHU7w" />
<node concept="37vLTw" id="2o8vGoQ12NK" role="3uHU7B">
<ref role="3cqZAo" node="2o8vGoQ12NG" resolve="targetNodeId" />
</node>
</node>
<node concept="9aQIb" id="2o8vGoQ12Sn" role="9aQIa">
<node concept="3clFbS" id="2o8vGoQ12So" role="9aQI4">
<node concept="3clFbF" id="2o8vGoQ14Gl" role="3cqZAp">
<node concept="d57v9" id="2o8vGoQ14Gm" role="3clFbG">
<node concept="3cpWs3" id="2o8vGoQ14Gn" role="37vLTx">
<node concept="3cmrfG" id="2o8vGoQ173d" role="3uHU7w">
<property role="3cmrfH" value="23" />
</node>
<node concept="17qRlL" id="2o8vGoQ14Gr" role="3uHU7B">
<node concept="37vLTw" id="2o8vGoQ14Gs" role="3uHU7B">
<ref role="3cqZAo" node="cmlg9NyC84" resolve="requiredHash" />
</node>
<node concept="3cmrfG" id="2o8vGoQ14Gt" role="3uHU7w">
<property role="3cmrfH" value="19" />
</node>
</node>
</node>
<node concept="2OqwBi" id="2o8vGoQ14Gu" role="37vLTJ">
<node concept="Xjq3P" id="2o8vGoQ14Gv" role="2Oq$k0" />
<node concept="2OwXpG" id="2o8vGoQ14Gw" role="2OqNvi">
<ref role="2Oxat5" node="cmlg9NyC84" resolve="requiredHash" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="2o8vGoQ0UY4" role="1Duv9x">
<property role="TrG5h" value="ref" />
<node concept="3uibUv" id="2o8vGoQ0XfH" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SReference" resolve="SReference" />
</node>
</node>
<node concept="2OqwBi" id="2o8vGoQ0UYa" role="1DdaDG">
<node concept="37vLTw" id="2o8vGoQ0UYb" role="2Oq$k0">
<ref role="3cqZAo" node="7nPD14Ob4B1" resolve="origin" />
</node>
<node concept="liA8E" id="2o8vGoQ0UYc" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReferences()" resolve="getReferences" />
</node>
</node>
</node>
<node concept="3clFbH" id="2o8vGoQ1emO" role="3cqZAp" />
<node concept="1DcWWT" id="2o8vGoQ1fcU" role="3cqZAp">
<node concept="3clFbS" id="2o8vGoQ1fcX" role="2LFqv$">
<node concept="3clFbF" id="2o8vGoQ1f_Z" role="3cqZAp">
<node concept="d57v9" id="2o8vGoQ1fA0" role="3clFbG">
<node concept="3cpWs3" id="2o8vGoQ1fA1" role="37vLTx">
<node concept="17qRlL" id="2o8vGoQ1fA5" role="3uHU7B">
<node concept="37vLTw" id="2o8vGoQ1fA6" role="3uHU7B">
<ref role="3cqZAo" node="cmlg9NyC84" resolve="requiredHash" />
</node>
<node concept="3cmrfG" id="2o8vGoQ1fA7" role="3uHU7w">
<property role="3cmrfH" value="29" />
</node>
</node>
<node concept="2YIFZM" id="2o8vGoQ1mDy" role="3uHU7w">
<ref role="37wK5l" to="wyt6:~System.identityHashCode(java.lang.Object)" resolve="identityHashCode" />
<ref role="1Pybhc" to="wyt6:~System" resolve="System" />
<node concept="37vLTw" id="2o8vGoQ1mEF" role="37wK5m">
<ref role="3cqZAo" node="2o8vGoQ1fcY" resolve="ch" />
</node>
</node>
</node>
<node concept="2OqwBi" id="2o8vGoQ1fA8" role="37vLTJ">
<node concept="Xjq3P" id="2o8vGoQ1fA9" role="2Oq$k0" />
<node concept="2OwXpG" id="2o8vGoQ1fAa" role="2OqNvi">
<ref role="2Oxat5" node="cmlg9NyC84" resolve="requiredHash" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="2o8vGoQ1fcY" role="1Duv9x">
<property role="TrG5h" value="ch" />
<node concept="3uibUv" id="2o8vGoQ1fyl" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNode" resolve="SNode" />
</node>
</node>
<node concept="2OqwBi" id="2o8vGoQ1fd4" role="1DdaDG">
<node concept="37vLTw" id="2o8vGoQ1fd5" role="2Oq$k0">
<ref role="3cqZAo" node="7nPD14Ob4B1" resolve="origin" />
</node>
<node concept="liA8E" id="2o8vGoQ1fd6" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getChildren()" resolve="getChildren" />
</node>
</node>
</node>
<node concept="3clFbH" id="2o8vGoQ1mVv" role="3cqZAp" />
<node concept="1DcWWT" id="2o8vGoQ1nR7" role="3cqZAp">
<node concept="3clFbS" id="2o8vGoQ1nRa" role="2LFqv$">
<node concept="3clFbF" id="2o8vGoQ1osT" role="3cqZAp">
<node concept="d57v9" id="2o8vGoQ1osU" role="3clFbG">
<node concept="3cpWs3" id="2o8vGoQ1osV" role="37vLTx">
<node concept="2OqwBi" id="2o8vGoQ1osW" role="3uHU7w">
<node concept="2OqwBi" id="2o8vGoQ1osX" role="2Oq$k0">
<node concept="37vLTw" id="2o8vGoQ1qBv" role="2Oq$k0">
<ref role="3cqZAo" node="2o8vGoQ1nRb" resolve="p" />
</node>
<node concept="liA8E" id="2o8vGoQ1qPR" role="2OqNvi">
<ref role="37wK5l" to="c17a:~SProperty.getName()" resolve="getName" />
</node>
</node>
<node concept="liA8E" id="2o8vGoQ1ot0" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.hashCode()" resolve="hashCode" />
</node>
</node>
<node concept="17qRlL" id="2o8vGoQ1ot1" role="3uHU7B">
<node concept="37vLTw" id="2o8vGoQ1ot2" role="3uHU7B">
<ref role="3cqZAo" node="cmlg9NyC84" resolve="requiredHash" />
</node>
<node concept="3cmrfG" id="2o8vGoQ1ot3" role="3uHU7w">
<property role="3cmrfH" value="31" />
</node>
</node>
</node>
<node concept="2OqwBi" id="2o8vGoQ1ot4" role="37vLTJ">
<node concept="Xjq3P" id="2o8vGoQ1ot5" role="2Oq$k0" />
<node concept="2OwXpG" id="2o8vGoQ1ot6" role="2OqNvi">
<ref role="2Oxat5" node="cmlg9NyC84" resolve="requiredHash" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="2o8vGoQ1r4j" role="3cqZAp" />
<node concept="3cpWs8" id="2o8vGoQ1rLx" role="3cqZAp">
<node concept="3cpWsn" id="2o8vGoQ1rLy" role="3cpWs9">
<property role="TrG5h" value="pval" />
<node concept="17QB3L" id="2o8vGoQ1viO" role="1tU5fm" />
<node concept="2OqwBi" id="2o8vGoQ1rLz" role="33vP2m">
<node concept="37vLTw" id="2o8vGoQ1rL$" role="2Oq$k0">
<ref role="3cqZAo" node="7nPD14Ob4B1" resolve="origin" />
</node>
<node concept="liA8E" id="2o8vGoQ1rL_" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getProperty(org.jetbrains.mps.openapi.language.SProperty)" resolve="getProperty" />
<node concept="37vLTw" id="2o8vGoQ1rLA" role="37wK5m">
<ref role="3cqZAo" node="2o8vGoQ1nRb" resolve="p" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbJ" id="2o8vGoQ1t07" role="3cqZAp">
<node concept="3clFbS" id="2o8vGoQ1t0j" role="3clFbx">
<node concept="3clFbF" id="2o8vGoQ1tKu" role="3cqZAp">
<node concept="d57v9" id="2o8vGoQ1tKv" role="3clFbG">
<node concept="3cpWs3" id="2o8vGoQ1tKw" role="37vLTx">
<node concept="2OqwBi" id="2o8vGoQ1tKx" role="3uHU7w">
<node concept="37vLTw" id="2o8vGoQ1vbz" role="2Oq$k0">
<ref role="3cqZAo" node="2o8vGoQ1rLy" resolve="pval" />
</node>
<node concept="liA8E" id="2o8vGoQ1tKz" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.hashCode()" resolve="hashCode" />
</node>
</node>
<node concept="17qRlL" id="2o8vGoQ1tK$" role="3uHU7B">
<node concept="37vLTw" id="2o8vGoQ1tK_" role="3uHU7B">
<ref role="3cqZAo" node="cmlg9NyC84" resolve="requiredHash" />
</node>
<node concept="3cmrfG" id="2o8vGoQ1tKA" role="3uHU7w">
<property role="3cmrfH" value="37" />
</node>
</node>
</node>
<node concept="2OqwBi" id="2o8vGoQ1tKB" role="37vLTJ">
<node concept="Xjq3P" id="2o8vGoQ1tKC" role="2Oq$k0" />
<node concept="2OwXpG" id="2o8vGoQ1tKD" role="2OqNvi">
<ref role="2Oxat5" node="cmlg9NyC84" resolve="requiredHash" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="2o8vGoQ1v4P" role="3cqZAp" />
</node>
<node concept="3y3z36" id="2o8vGoQ1tlb" role="3clFbw">
<node concept="10Nm6u" id="2o8vGoQ1tuA" role="3uHU7w" />
<node concept="37vLTw" id="2o8vGoQ1rLB" role="3uHU7B">
<ref role="3cqZAo" node="2o8vGoQ1rLy" resolve="pval" />
</node>
</node>
<node concept="9aQIb" id="2o8vGoQ1t0n" role="9aQIa">
<node concept="3clFbS" id="2o8vGoQ1t0o" role="9aQI4">
<node concept="3clFbF" id="2o8vGoQ1wj9" role="3cqZAp">
<node concept="d57v9" id="2o8vGoQ1wja" role="3clFbG">
<node concept="3cpWs3" id="2o8vGoQ1wjb" role="37vLTx">
<node concept="3cmrfG" id="2o8vGoQ1wjc" role="3uHU7w">
<property role="3cmrfH" value="47" />
</node>
<node concept="17qRlL" id="2o8vGoQ1wjd" role="3uHU7B">
<node concept="37vLTw" id="2o8vGoQ1wje" role="3uHU7B">
<ref role="3cqZAo" node="cmlg9NyC84" resolve="requiredHash" />
</node>
<node concept="3cmrfG" id="2o8vGoQ1wjf" role="3uHU7w">
<property role="3cmrfH" value="43" />
</node>
</node>
</node>
<node concept="2OqwBi" id="2o8vGoQ1wjg" role="37vLTJ">
<node concept="Xjq3P" id="2o8vGoQ1wjh" role="2Oq$k0" />
<node concept="2OwXpG" id="2o8vGoQ1wji" role="2OqNvi">
<ref role="2Oxat5" node="cmlg9NyC84" resolve="requiredHash" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="2o8vGoQ1nRb" role="1Duv9x">
<property role="TrG5h" value="p" />
<node concept="3uibUv" id="2o8vGoQ1o7u" role="1tU5fm">
<ref role="3uigEE" to="c17a:~SProperty" resolve="SProperty" />
</node>
</node>
<node concept="2OqwBi" id="2o8vGoQ1nRg" role="1DdaDG">
<node concept="37vLTw" id="2o8vGoQ1nRh" role="2Oq$k0">
<ref role="3cqZAo" node="7nPD14Ob4B1" resolve="origin" />
</node>
<node concept="liA8E" id="2o8vGoQ1nRi" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getProperties()" resolve="getProperties" />
</node>
</node>
</node>
<node concept="3clFbH" id="2o8vGoQ0U$$" role="3cqZAp" />
</node>
<node concept="3y3z36" id="2o8vGoQ0Uvl" role="3clFbw">
<node concept="10Nm6u" id="2o8vGoQ0Uxj" role="3uHU7w" />
<node concept="37vLTw" id="2o8vGoQ0Uiq" role="3uHU7B">
<ref role="3cqZAo" node="7nPD14Ob4B1" resolve="origin" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="2o8vGoQ0wPC" role="jymVt" />
<node concept="3clFb_" id="5yr01fECOnC" role="jymVt">
<property role="TrG5h" value="processRequired" />
<node concept="3Tm6S6" id="5yr01fECOnD" role="1B3o_S" />
@ -4289,8 +4662,12 @@
<node concept="37vLTw" id="cmlg9NUDfU" role="37wK5m">
<ref role="3cqZAo" node="7nPD14Ob4vA" resolve="templateRef" />
</node>
<node concept="37vLTw" id="cmlg9NUCTm" role="37wK5m">
<ref role="3cqZAo" node="7nPD14Ob4B1" resolve="originRef" />
<node concept="2YIFZM" id="2o8vGoPP6I6" role="37wK5m">
<ref role="37wK5l" to="i8bi:4o40NPkYQhu" resolve="getPointer" />
<ref role="1Pybhc" to="i8bi:5IkW5anFcyt" resolve="SNodeOperations" />
<node concept="37vLTw" id="2o8vGoPP6TF" role="37wK5m">
<ref role="3cqZAo" node="7nPD14Ob4B1" resolve="origin" />
</node>
</node>
<node concept="37vLTw" id="cmlg9NSlDE" role="37wK5m">
<ref role="3cqZAo" node="7eGEHDlc$e_" resolve="headKept" />
@ -4698,10 +5075,10 @@
</node>
</node>
<node concept="312cEg" id="7nPD14Ob4B1" role="jymVt">
<property role="TrG5h" value="originRef" />
<property role="TrG5h" value="origin" />
<node concept="3Tm6S6" id="7nPD14Ob4B2" role="1B3o_S" />
<node concept="3uibUv" id="6i42QSs9moZ" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
<node concept="3uibUv" id="2o8vGoPOTuN" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNode" resolve="SNode" />
</node>
</node>
<node concept="312cEg" id="7eGEHDlc$e_" role="jymVt">

View File

@ -2849,23 +2849,49 @@
<property role="TrG5h" value="replaceBadExpr" />
<node concept="3cqZAl" id="3vh3iHvqKT7" role="3clF45" />
<node concept="3clFbS" id="3vh3iHvqKT8" role="3clF47">
<node concept="3clFbF" id="3vh3iHvqKT9" role="3cqZAp">
<node concept="2OqwBi" id="3vh3iHvqKTa" role="3clFbG">
<node concept="2WthIp" id="3vh3iHvqKTb" role="2Oq$k0" />
<node concept="2XshWL" id="3vh3iHvqKTc" role="2OqNvi">
<ref role="2WH_rO" node="3o9wrC3yMuL" resolve="replaceFailTest" />
<node concept="3xONca" id="3vh3iHvqKTd" role="2XxRq1">
<ref role="3xOPvv" node="6gZak$B1XHR" resolve="iVarDecl" />
</node>
<node concept="3xONca" id="3vh3iHvqNCd" role="2XxRq1">
<ref role="3xOPvv" node="6gZak$B1XHR" resolve="iVarDecl" />
</node>
<node concept="3xONca" id="3vh3iHvqPB5" role="2XxRq1">
<ref role="3xOPvv" node="55idZnEzOte" resolve="plusOp" />
</node>
<node concept="2c44tf" id="3vh3iHvqKTi" role="2XxRq1">
<node concept="Xl_RD" id="3vh3iHvqRGn" role="2c44tc">
<property role="Xl_RC" value="foobar" />
<node concept="3SKdUt" id="2o8vGoQ3p8F" role="3cqZAp">
<node concept="1PaTwC" id="2o8vGoQ3p8G" role="3ndbpf">
<node concept="3oM_SD" id="2o8vGoQ3p8I" role="1PaTwD">
<property role="3oM_SC" value="FIXME" />
</node>
<node concept="3oM_SD" id="2o8vGoQ3p9a" role="1PaTwD">
<property role="3oM_SC" value="enable" />
</node>
<node concept="3oM_SD" id="2o8vGoQ3pbb" role="1PaTwD">
<property role="3oM_SC" value="back" />
</node>
<node concept="3oM_SD" id="2o8vGoQ3pbq" role="1PaTwD">
<property role="3oM_SC" value="temporarily" />
</node>
<node concept="3oM_SD" id="2o8vGoQ3pbM" role="1PaTwD">
<property role="3oM_SC" value="disabled" />
</node>
<node concept="3oM_SD" id="2o8vGoQ3p9I" role="1PaTwD">
<property role="3oM_SC" value="test" />
</node>
</node>
</node>
<node concept="1X3_iC" id="7sVfDjU9rDP" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="3vh3iHvqKT9" role="8Wnug">
<node concept="2OqwBi" id="3vh3iHvqKTa" role="3clFbG">
<node concept="2WthIp" id="3vh3iHvqKTb" role="2Oq$k0" />
<node concept="2XshWL" id="3vh3iHvqKTc" role="2OqNvi">
<ref role="2WH_rO" node="3o9wrC3yMuL" resolve="replaceFailTest" />
<node concept="3xONca" id="3vh3iHvqKTd" role="2XxRq1">
<ref role="3xOPvv" node="6gZak$B1XHR" resolve="iVarDecl" />
</node>
<node concept="3xONca" id="3vh3iHvqNCd" role="2XxRq1">
<ref role="3xOPvv" node="6gZak$B1XHR" resolve="iVarDecl" />
</node>
<node concept="3xONca" id="3vh3iHvqPB5" role="2XxRq1">
<ref role="3xOPvv" node="55idZnEzOte" resolve="plusOp" />
</node>
<node concept="2c44tf" id="3vh3iHvqKTi" role="2XxRq1">
<node concept="Xl_RD" id="3vh3iHvqRGn" role="2c44tc">
<property role="Xl_RC" value="foobar" />
</node>
</node>
</node>
</node>
@ -2946,52 +2972,82 @@
<property role="TrG5h" value="replaceBadRetType" />
<node concept="3cqZAl" id="3o9wrC3P4tM" role="3clF45" />
<node concept="3clFbS" id="3o9wrC3P4tN" role="3clF47">
<node concept="3clFbF" id="3o9wrC3P4tY" role="3cqZAp">
<node concept="2OqwBi" id="3o9wrC3P4tZ" role="3clFbG">
<node concept="2WthIp" id="3o9wrC3P4u0" role="2Oq$k0" />
<node concept="2XshWL" id="3o9wrC3P4u1" role="2OqNvi">
<ref role="2WH_rO" node="3o9wrC3yMuL" resolve="replaceFailTest" />
<node concept="3xONca" id="3o9wrC3P4u2" role="2XxRq1">
<ref role="3xOPvv" node="2FNFm8neJum" resolve="demo2" />
</node>
<node concept="3xONca" id="3o9wrC3Ro8N" role="2XxRq1">
<ref role="3xOPvv" node="3o9wrC3RmD4" resolve="returned" />
</node>
<node concept="2OqwBi" id="3o9wrC3P6Bz" role="2XxRq1">
<node concept="3xONca" id="3o9wrC3P6qf" role="2Oq$k0">
<ref role="3xOPvv" node="3o9wrC3B96J" resolve="fooFun" />
<node concept="3SKdUt" id="7sVfDjU9rFB" role="3cqZAp">
<node concept="1PaTwC" id="7sVfDjU9rFC" role="3ndbpf">
<node concept="3oM_SD" id="7sVfDjU9rFD" role="1PaTwD">
<property role="3oM_SC" value="FIXME" />
</node>
<node concept="3oM_SD" id="7sVfDjU9rFE" role="1PaTwD">
<property role="3oM_SC" value="enable" />
</node>
<node concept="3oM_SD" id="7sVfDjU9rFF" role="1PaTwD">
<property role="3oM_SC" value="back" />
</node>
<node concept="3oM_SD" id="7sVfDjU9rFG" role="1PaTwD">
<property role="3oM_SC" value="temporarily" />
</node>
<node concept="3oM_SD" id="7sVfDjU9rFH" role="1PaTwD">
<property role="3oM_SC" value="disabled" />
</node>
<node concept="3oM_SD" id="7sVfDjU9rFI" role="1PaTwD">
<property role="3oM_SC" value="test" />
</node>
</node>
</node>
<node concept="1X3_iC" id="7sVfDjU9rIB" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="3o9wrC3P4tY" role="8Wnug">
<node concept="2OqwBi" id="3o9wrC3P4tZ" role="3clFbG">
<node concept="2WthIp" id="3o9wrC3P4u0" role="2Oq$k0" />
<node concept="2XshWL" id="3o9wrC3P4u1" role="2OqNvi">
<ref role="2WH_rO" node="3o9wrC3yMuL" resolve="replaceFailTest" />
<node concept="3xONca" id="3o9wrC3P4u2" role="2XxRq1">
<ref role="3xOPvv" node="2FNFm8neJum" resolve="demo2" />
</node>
<node concept="3TrEf2" id="3o9wrC3PeUj" role="2OqNvi">
<ref role="3Tt5mk" to="tpee:fzclF7X" resolve="returnType" />
<node concept="3xONca" id="3o9wrC3Ro8N" role="2XxRq1">
<ref role="3xOPvv" node="3o9wrC3RmD4" resolve="returned" />
</node>
<node concept="2OqwBi" id="3o9wrC3P6Bz" role="2XxRq1">
<node concept="3xONca" id="3o9wrC3P6qf" role="2Oq$k0">
<ref role="3xOPvv" node="3o9wrC3B96J" resolve="fooFun" />
</node>
<node concept="3TrEf2" id="3o9wrC3PeUj" role="2OqNvi">
<ref role="3Tt5mk" to="tpee:fzclF7X" resolve="returnType" />
</node>
</node>
<node concept="2c44tf" id="3o9wrC3P4u5" role="2XxRq1">
<node concept="17QB3L" id="3o9wrC3PoM_" role="2c44tc" />
</node>
</node>
<node concept="2c44tf" id="3o9wrC3P4u5" role="2XxRq1">
<node concept="17QB3L" id="3o9wrC3PoM_" role="2c44tc" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="3o9wrC3PkuH" role="3cqZAp">
<node concept="2OqwBi" id="3o9wrC3PkuI" role="3clFbG">
<node concept="2WthIp" id="3o9wrC3PkuJ" role="2Oq$k0" />
<node concept="2XshWL" id="3o9wrC3PkuK" role="2OqNvi">
<ref role="2WH_rO" node="3o9wrC3yMuL" resolve="replaceFailTest" />
<node concept="3xONca" id="3o9wrC3PkuL" role="2XxRq1">
<ref role="3xOPvv" node="2FNFm8neJum" resolve="demo2" />
</node>
<node concept="3xONca" id="3o9wrC3PkHV" role="2XxRq1">
<ref role="3xOPvv" node="2u_o41fMOlW" resolve="fooCall" />
</node>
<node concept="2OqwBi" id="3o9wrC3PkuN" role="2XxRq1">
<node concept="3xONca" id="3o9wrC3PkuO" role="2Oq$k0">
<ref role="3xOPvv" node="3o9wrC3B96J" resolve="fooFun" />
<node concept="1X3_iC" id="7sVfDjU9rKp" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="3o9wrC3PkuH" role="8Wnug">
<node concept="2OqwBi" id="3o9wrC3PkuI" role="3clFbG">
<node concept="2WthIp" id="3o9wrC3PkuJ" role="2Oq$k0" />
<node concept="2XshWL" id="3o9wrC3PkuK" role="2OqNvi">
<ref role="2WH_rO" node="3o9wrC3yMuL" resolve="replaceFailTest" />
<node concept="3xONca" id="3o9wrC3PkuL" role="2XxRq1">
<ref role="3xOPvv" node="2FNFm8neJum" resolve="demo2" />
</node>
<node concept="3TrEf2" id="3o9wrC3PkuP" role="2OqNvi">
<ref role="3Tt5mk" to="tpee:fzclF7X" resolve="returnType" />
<node concept="3xONca" id="3o9wrC3PkHV" role="2XxRq1">
<ref role="3xOPvv" node="2u_o41fMOlW" resolve="fooCall" />
</node>
<node concept="2OqwBi" id="3o9wrC3PkuN" role="2XxRq1">
<node concept="3xONca" id="3o9wrC3PkuO" role="2Oq$k0">
<ref role="3xOPvv" node="3o9wrC3B96J" resolve="fooFun" />
</node>
<node concept="3TrEf2" id="3o9wrC3PkuP" role="2OqNvi">
<ref role="3Tt5mk" to="tpee:fzclF7X" resolve="returnType" />
</node>
</node>
<node concept="2c44tf" id="3o9wrC3PkuQ" role="2XxRq1">
<node concept="17QB3L" id="3o9wrC3Pp2S" role="2c44tc" />
</node>
</node>
<node concept="2c44tf" id="3o9wrC3PkuQ" role="2XxRq1">
<node concept="17QB3L" id="3o9wrC3Pp2S" role="2c44tc" />
</node>
</node>
</node>
@ -4233,180 +4289,267 @@
<property role="TrG5h" value="changeRetType" />
<node concept="3cqZAl" id="3o9wrC3B17G" role="3clF45" />
<node concept="3clFbS" id="3o9wrC3B17H" role="3clF47">
<node concept="3cpWs8" id="3o9wrC3B17I" role="3cqZAp">
<node concept="3cpWsn" id="3o9wrC3B17J" role="3cpWs9">
<property role="TrG5h" value="typecheckRoot" />
<node concept="3Tqbb2" id="3o9wrC3B17K" role="1tU5fm" />
<node concept="3xONca" id="3o9wrC3B17L" role="33vP2m">
<ref role="3xOPvv" node="2FNFm8neJum" resolve="demo2" />
<node concept="3SKdUt" id="7sVfDjU9rRT" role="3cqZAp">
<node concept="1PaTwC" id="7sVfDjU9rRU" role="3ndbpf">
<node concept="3oM_SD" id="7sVfDjU9rRV" role="1PaTwD">
<property role="3oM_SC" value="FIXME" />
</node>
<node concept="3oM_SD" id="7sVfDjU9rRW" role="1PaTwD">
<property role="3oM_SC" value="enable" />
</node>
<node concept="3oM_SD" id="7sVfDjU9rRX" role="1PaTwD">
<property role="3oM_SC" value="back" />
</node>
<node concept="3oM_SD" id="7sVfDjU9rRY" role="1PaTwD">
<property role="3oM_SC" value="temporarily" />
</node>
<node concept="3oM_SD" id="7sVfDjU9rRZ" role="1PaTwD">
<property role="3oM_SC" value="disabled" />
</node>
<node concept="3oM_SD" id="7sVfDjU9rS0" role="1PaTwD">
<property role="3oM_SC" value="test" />
</node>
</node>
</node>
<node concept="3cpWs8" id="3o9wrC3B17M" role="3cqZAp">
<node concept="3cpWsn" id="3o9wrC3B17N" role="3cpWs9">
<property role="TrG5h" value="testNode" />
<node concept="3Tqbb2" id="3o9wrC3B17O" role="1tU5fm" />
<node concept="3xONca" id="3o9wrC3B17P" role="33vP2m">
<ref role="3xOPvv" node="2u_o41fMOlW" resolve="fooCall" />
</node>
</node>
</node>
<node concept="3clFbH" id="3o9wrC3B17Q" role="3cqZAp" />
<node concept="3cpWs8" id="3o9wrC3B180" role="3cqZAp">
<node concept="3cpWsn" id="3o9wrC3B181" role="3cpWs9">
<property role="TrG5h" value="launcher" />
<node concept="3uibUv" id="3o9wrC3B182" role="1tU5fm">
<ref role="3uigEE" to="hfva:tyIfzC0ZNj" resolve="IncrementalLaunchHelper" />
</node>
<node concept="2YIFZM" id="3o9wrC3FDJ$" role="33vP2m">
<ref role="1Pybhc" to="hfva:tyIfzC0ZNj" resolve="IncrementalLaunchHelper" />
<ref role="37wK5l" to="hfva:2FNFm8neYtH" resolve="getLauncher" />
<node concept="37vLTw" id="3o9wrC3FDJ_" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3B17J" resolve="typecheckRoot" />
<node concept="3clFbH" id="7sVfDjU9rM9" role="3cqZAp" />
<node concept="1X3_iC" id="7sVfDjU9rXC" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3cpWs8" id="3o9wrC3B17I" role="8Wnug">
<node concept="3cpWsn" id="3o9wrC3B17J" role="3cpWs9">
<property role="TrG5h" value="typecheckRoot" />
<node concept="3Tqbb2" id="3o9wrC3B17K" role="1tU5fm" />
<node concept="3xONca" id="3o9wrC3B17L" role="33vP2m">
<ref role="3xOPvv" node="2FNFm8neJum" resolve="demo2" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3o9wrC3B18a" role="3cqZAp" />
<node concept="3cpWs8" id="3o9wrC3B18b" role="3cqZAp">
<node concept="3cpWsn" id="3o9wrC3B18c" role="3cpWs9">
<property role="TrG5h" value="testNodeRef" />
<node concept="3uibUv" id="3o9wrC3B18d" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="2OqwBi" id="3o9wrC3B18e" role="33vP2m">
<node concept="liA8E" id="3o9wrC3B18f" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
<node concept="2JrnkZ" id="3o9wrC3B18g" role="2Oq$k0">
<node concept="37vLTw" id="3o9wrC3B18h" role="2JrQYb">
<ref role="3cqZAo" node="3o9wrC3B17N" resolve="testNode" />
</node>
<node concept="1X3_iC" id="7sVfDjU9rXD" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3cpWs8" id="3o9wrC3B17M" role="8Wnug">
<node concept="3cpWsn" id="3o9wrC3B17N" role="3cpWs9">
<property role="TrG5h" value="testNode" />
<node concept="3Tqbb2" id="3o9wrC3B17O" role="1tU5fm" />
<node concept="3xONca" id="3o9wrC3B17P" role="33vP2m">
<ref role="3xOPvv" node="2u_o41fMOlW" resolve="fooCall" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="3o9wrC3B18i" role="3cqZAp">
<node concept="3cpWsn" id="3o9wrC3B18j" role="3cpWs9">
<property role="TrG5h" value="types0" />
<node concept="3rvAFt" id="3o9wrC3B18k" role="1tU5fm">
<node concept="3uibUv" id="3o9wrC3B18l" role="3rvQeY">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
<node concept="1X3_iC" id="7sVfDjU9rXE" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbH" id="3o9wrC3B17Q" role="8Wnug" />
</node>
<node concept="1X3_iC" id="7sVfDjU9rXF" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3cpWs8" id="3o9wrC3B180" role="8Wnug">
<node concept="3cpWsn" id="3o9wrC3B181" role="3cpWs9">
<property role="TrG5h" value="launcher" />
<node concept="3uibUv" id="3o9wrC3B182" role="1tU5fm">
<ref role="3uigEE" to="hfva:tyIfzC0ZNj" resolve="IncrementalLaunchHelper" />
</node>
<node concept="3Tqbb2" id="3o9wrC3B18m" role="3rvSg0" />
</node>
<node concept="2OqwBi" id="3o9wrC3B18n" role="33vP2m">
<node concept="liA8E" id="3o9wrC3B18o" role="2OqNvi">
<ref role="37wK5l" to="hfva:2u_o41fICWA" resolve="launch" />
<node concept="37vLTw" id="3o9wrC3B18p" role="37wK5m">
<node concept="2YIFZM" id="3o9wrC3FDJ$" role="33vP2m">
<ref role="1Pybhc" to="hfva:tyIfzC0ZNj" resolve="IncrementalLaunchHelper" />
<ref role="37wK5l" to="hfva:2FNFm8neYtH" resolve="getLauncher" />
<node concept="37vLTw" id="3o9wrC3FDJ_" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3B17J" resolve="typecheckRoot" />
</node>
</node>
<node concept="37vLTw" id="3o9wrC3B18q" role="2Oq$k0">
</node>
</node>
</node>
<node concept="1X3_iC" id="7sVfDjU9rXG" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbH" id="3o9wrC3B18a" role="8Wnug" />
</node>
<node concept="1X3_iC" id="7sVfDjU9rXH" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3cpWs8" id="3o9wrC3B18b" role="8Wnug">
<node concept="3cpWsn" id="3o9wrC3B18c" role="3cpWs9">
<property role="TrG5h" value="testNodeRef" />
<node concept="3uibUv" id="3o9wrC3B18d" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="2OqwBi" id="3o9wrC3B18e" role="33vP2m">
<node concept="liA8E" id="3o9wrC3B18f" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
<node concept="2JrnkZ" id="3o9wrC3B18g" role="2Oq$k0">
<node concept="37vLTw" id="3o9wrC3B18h" role="2JrQYb">
<ref role="3cqZAo" node="3o9wrC3B17N" resolve="testNode" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1X3_iC" id="7sVfDjU9rXI" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3cpWs8" id="3o9wrC3B18i" role="8Wnug">
<node concept="3cpWsn" id="3o9wrC3B18j" role="3cpWs9">
<property role="TrG5h" value="types0" />
<node concept="3rvAFt" id="3o9wrC3B18k" role="1tU5fm">
<node concept="3uibUv" id="3o9wrC3B18l" role="3rvQeY">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="3Tqbb2" id="3o9wrC3B18m" role="3rvSg0" />
</node>
<node concept="2OqwBi" id="3o9wrC3B18n" role="33vP2m">
<node concept="liA8E" id="3o9wrC3B18o" role="2OqNvi">
<ref role="37wK5l" to="hfva:2u_o41fICWA" resolve="launch" />
<node concept="37vLTw" id="3o9wrC3B18p" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3B17J" resolve="typecheckRoot" />
</node>
</node>
<node concept="37vLTw" id="3o9wrC3B18q" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3B181" resolve="launcher" />
</node>
</node>
</node>
</node>
</node>
<node concept="1X3_iC" id="7sVfDjU9rXJ" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="3o9wrC3E8LK" role="8Wnug">
<node concept="2YIFZM" id="3o9wrC3E8LL" role="3clFbG">
<ref role="37wK5l" to="hfva:3o9wrC3D5cI" resolve="printInfo" />
<ref role="1Pybhc" to="hfva:3evPR3EeeoU" resolve="TestInfoPrinter" />
<node concept="37vLTw" id="3o9wrC3E8LM" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3B181" resolve="launcher" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="3o9wrC3E8LK" role="3cqZAp">
<node concept="2YIFZM" id="3o9wrC3E8LL" role="3clFbG">
<ref role="37wK5l" to="hfva:3o9wrC3D5cI" resolve="printInfo" />
<ref role="1Pybhc" to="hfva:3evPR3EeeoU" resolve="TestInfoPrinter" />
<node concept="37vLTw" id="3o9wrC3E8LM" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3B181" resolve="launcher" />
</node>
</node>
<node concept="1X3_iC" id="7sVfDjU9rXK" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbH" id="3o9wrC3B18K" role="8Wnug" />
</node>
<node concept="3clFbH" id="3o9wrC3B18K" role="3cqZAp" />
<node concept="3vwNmj" id="3o9wrC3B18L" role="3cqZAp">
<node concept="2OqwBi" id="3o9wrC3B18M" role="3vwVQn">
<node concept="37vLTw" id="3o9wrC3B18N" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3B18j" resolve="types0" />
</node>
<node concept="2Nt0df" id="3o9wrC3B18O" role="2OqNvi">
<node concept="37vLTw" id="3o9wrC3B18P" role="38cxEo">
<ref role="3cqZAo" node="3o9wrC3B18c" resolve="testNodeRef" />
</node>
</node>
</node>
</node>
<node concept="3vwNmj" id="3o9wrC3B18Q" role="3cqZAp">
<node concept="2YFouu" id="3o9wrC3B18R" role="3vwVQn">
<node concept="3EllGN" id="3o9wrC3B18S" role="3uHU7w">
<node concept="37vLTw" id="3o9wrC3B18T" role="3ElVtu">
<ref role="3cqZAo" node="3o9wrC3B18c" resolve="testNodeRef" />
</node>
<node concept="37vLTw" id="3o9wrC3B18U" role="3ElQJh">
<node concept="1X3_iC" id="7sVfDjU9rXL" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3vwNmj" id="3o9wrC3B18L" role="8Wnug">
<node concept="2OqwBi" id="3o9wrC3B18M" role="3vwVQn">
<node concept="37vLTw" id="3o9wrC3B18N" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3B18j" resolve="types0" />
</node>
</node>
<node concept="2c44tf" id="3o9wrC3B18V" role="3uHU7B">
<node concept="10Oyi0" id="3o9wrC3B18W" role="2c44tc" />
</node>
</node>
</node>
<node concept="3clFbH" id="3o9wrC3B18X" role="3cqZAp" />
<node concept="3clFbF" id="3o9wrC3B18Y" role="3cqZAp">
<node concept="2OqwBi" id="3o9wrC3B18Z" role="3clFbG">
<node concept="2OqwBi" id="3o9wrC3B9Vj" role="2Oq$k0">
<node concept="3xONca" id="3o9wrC3B9Bi" role="2Oq$k0">
<ref role="3xOPvv" node="3o9wrC3B96J" resolve="fooFun" />
</node>
<node concept="3TrEf2" id="3o9wrC3BrXS" role="2OqNvi">
<ref role="3Tt5mk" to="tpee:fzclF7X" resolve="returnType" />
</node>
</node>
<node concept="1P9Npp" id="3o9wrC3B191" role="2OqNvi">
<node concept="2c44tf" id="3o9wrC3B192" role="1P9ThW">
<node concept="10P_77" id="3o9wrC3Bw5Z" role="2c44tc" />
<node concept="2Nt0df" id="3o9wrC3B18O" role="2OqNvi">
<node concept="37vLTw" id="3o9wrC3B18P" role="38cxEo">
<ref role="3cqZAo" node="3o9wrC3B18c" resolve="testNodeRef" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="3o9wrC3B$or" role="3cqZAp">
<node concept="2OqwBi" id="3o9wrC3BQ8M" role="3clFbG">
<node concept="2OqwBi" id="3o9wrC3BFKV" role="2Oq$k0">
<node concept="2OqwBi" id="3o9wrC3B_rr" role="2Oq$k0">
<node concept="2OqwBi" id="3o9wrC3B$RM" role="2Oq$k0">
<node concept="3xONca" id="3o9wrC3B$op" role="2Oq$k0">
<ref role="3xOPvv" node="3o9wrC3B96J" resolve="fooFun" />
<node concept="1X3_iC" id="7sVfDjU9rXM" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3vwNmj" id="3o9wrC3B18Q" role="8Wnug">
<node concept="2YFouu" id="3o9wrC3B18R" role="3vwVQn">
<node concept="3EllGN" id="3o9wrC3B18S" role="3uHU7w">
<node concept="37vLTw" id="3o9wrC3B18T" role="3ElVtu">
<ref role="3cqZAo" node="3o9wrC3B18c" resolve="testNodeRef" />
</node>
<node concept="37vLTw" id="3o9wrC3B18U" role="3ElQJh">
<ref role="3cqZAo" node="3o9wrC3B18j" resolve="types0" />
</node>
</node>
<node concept="2c44tf" id="3o9wrC3B18V" role="3uHU7B">
<node concept="10Oyi0" id="3o9wrC3B18W" role="2c44tc" />
</node>
</node>
</node>
</node>
<node concept="1X3_iC" id="7sVfDjU9rXN" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbH" id="3o9wrC3B18X" role="8Wnug" />
</node>
<node concept="1X3_iC" id="7sVfDjU9rXO" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="3o9wrC3B18Y" role="8Wnug">
<node concept="2OqwBi" id="3o9wrC3B18Z" role="3clFbG">
<node concept="2OqwBi" id="3o9wrC3B9Vj" role="2Oq$k0">
<node concept="3xONca" id="3o9wrC3B9Bi" role="2Oq$k0">
<ref role="3xOPvv" node="3o9wrC3B96J" resolve="fooFun" />
</node>
<node concept="3TrEf2" id="3o9wrC3BrXS" role="2OqNvi">
<ref role="3Tt5mk" to="tpee:fzclF7X" resolve="returnType" />
</node>
</node>
<node concept="1P9Npp" id="3o9wrC3B191" role="2OqNvi">
<node concept="2c44tf" id="3o9wrC3B192" role="1P9ThW">
<node concept="10P_77" id="3o9wrC3Bw5Z" role="2c44tc" />
</node>
</node>
</node>
</node>
</node>
<node concept="1X3_iC" id="7sVfDjU9rXP" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="3o9wrC3B$or" role="8Wnug">
<node concept="2OqwBi" id="3o9wrC3BQ8M" role="3clFbG">
<node concept="2OqwBi" id="3o9wrC3BFKV" role="2Oq$k0">
<node concept="2OqwBi" id="3o9wrC3B_rr" role="2Oq$k0">
<node concept="2OqwBi" id="3o9wrC3B$RM" role="2Oq$k0">
<node concept="3xONca" id="3o9wrC3B$op" role="2Oq$k0">
<ref role="3xOPvv" node="3o9wrC3B96J" resolve="fooFun" />
</node>
<node concept="3TrEf2" id="3o9wrC3B_2v" role="2OqNvi">
<ref role="3Tt5mk" to="tpee:fzclF7Z" resolve="body" />
</node>
</node>
<node concept="3TrEf2" id="3o9wrC3B_2v" role="2OqNvi">
<ref role="3Tt5mk" to="tpee:fzclF7Z" resolve="body" />
<node concept="3Tsc0h" id="3o9wrC3BDJw" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
</node>
<node concept="3Tsc0h" id="3o9wrC3BDJw" role="2OqNvi">
<ref role="3TtcxE" to="tpee:fzcqZ_x" resolve="statement" />
</node>
<node concept="1yVyf7" id="3o9wrC3BP46" role="2OqNvi" />
</node>
<node concept="1yVyf7" id="3o9wrC3BP46" role="2OqNvi" />
</node>
<node concept="1P9Npp" id="3o9wrC3BULH" role="2OqNvi">
<node concept="2c44tf" id="3o9wrC3C6OG" role="1P9ThW">
<node concept="37vLTw" id="3o9wrC3CePY" role="2c44tc">
<ref role="3cqZAo" node="2FNFm8neJvC" resolve="b" />
<node concept="1P9Npp" id="3o9wrC3BULH" role="2OqNvi">
<node concept="2c44tf" id="3o9wrC3C6OG" role="1P9ThW">
<node concept="37vLTw" id="3o9wrC3CePY" role="2c44tc">
<ref role="3cqZAo" node="2FNFm8neJvC" resolve="b" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3o9wrC3B19c" role="3cqZAp" />
<node concept="3clFbF" id="4t5t2tfjEpn" role="3cqZAp">
<node concept="2OqwBi" id="4t5t2tfjEph" role="3clFbG">
<node concept="2WthIp" id="4t5t2tfjEpk" role="2Oq$k0" />
<node concept="2XshWL" id="4t5t2tfjEpm" role="2OqNvi">
<ref role="2WH_rO" node="4t5t2tf8hUz" resolve="doReplaceTest" />
<node concept="37vLTw" id="4t5t2tfjEyO" role="2XxRq1">
<ref role="3cqZAo" node="3o9wrC3B181" resolve="launcher" />
</node>
<node concept="37vLTw" id="4t5t2tfjHK1" role="2XxRq1">
<ref role="3cqZAo" node="3o9wrC3B17J" resolve="typecheckRoot" />
</node>
<node concept="37vLTw" id="4t5t2tfjKW5" role="2XxRq1">
<ref role="3cqZAo" node="3o9wrC3B17N" resolve="testNode" />
</node>
<node concept="2c44tf" id="4t5t2tfjOmd" role="2XxRq1">
<node concept="10P_77" id="4t5t2tfjOme" role="2c44tc" />
<node concept="1X3_iC" id="7sVfDjU9rXQ" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbH" id="3o9wrC3B19c" role="8Wnug" />
</node>
<node concept="1X3_iC" id="7sVfDjU9rXR" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="4t5t2tfjEpn" role="8Wnug">
<node concept="2OqwBi" id="4t5t2tfjEph" role="3clFbG">
<node concept="2WthIp" id="4t5t2tfjEpk" role="2Oq$k0" />
<node concept="2XshWL" id="4t5t2tfjEpm" role="2OqNvi">
<ref role="2WH_rO" node="4t5t2tf8hUz" resolve="doReplaceTest" />
<node concept="37vLTw" id="4t5t2tfjEyO" role="2XxRq1">
<ref role="3cqZAo" node="3o9wrC3B181" resolve="launcher" />
</node>
<node concept="37vLTw" id="4t5t2tfjHK1" role="2XxRq1">
<ref role="3cqZAo" node="3o9wrC3B17J" resolve="typecheckRoot" />
</node>
<node concept="37vLTw" id="4t5t2tfjKW5" role="2XxRq1">
<ref role="3cqZAo" node="3o9wrC3B17N" resolve="testNode" />
</node>
<node concept="2c44tf" id="4t5t2tfjOmd" role="2XxRq1">
<node concept="10P_77" id="4t5t2tfjOme" role="2c44tc" />
</node>
</node>
</node>
</node>