Setup code for failing typechecking tests, add one. Extract Supervisor impl from ProgramEvaluator.

This commit is contained in:
Grigorii Kirgizov 2019-07-16 17:30:52 +03:00 committed by Fedor Isakov
parent b9309e6369
commit 78c0cc1559
5 changed files with 1309 additions and 789 deletions

View File

@ -58,6 +58,10 @@
<concept id="1197029447546" name="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" flags="nn" index="2OwXpG">
<reference id="1197029500499" name="fieldDeclaration" index="2Oxat5" />
</concept>
<concept id="1083260308424" name="jetbrains.mps.baseLanguage.structure.EnumConstantReference" flags="nn" index="Rm8GO">
<reference id="1083260308426" name="enumConstantDeclaration" index="Rm8GQ" />
<reference id="1144432896254" name="enumClass" index="1Px2BO" />
</concept>
<concept id="1145552977093" name="jetbrains.mps.baseLanguage.structure.GenericNewExpression" flags="nn" index="2ShNRf">
<child id="1145553007750" name="creator" index="2ShVmc" />
</concept>
@ -208,6 +212,13 @@
<property id="8575328350543493365" name="message" index="huDt6" />
<property id="2423417345669755629" name="filter" index="1eyWvh" />
</concept>
<concept id="709746936026466394" name="jetbrains.mps.lang.core.structure.ChildAttribute" flags="ng" index="3VBwX9">
<property id="709746936026609031" name="linkId" index="3V$3ak" />
<property id="709746936026609029" name="role_DebugInfo" index="3V$3am" />
</concept>
<concept id="4452961908202556907" name="jetbrains.mps.lang.core.structure.BaseCommentAttribute" flags="ng" index="1X3_iC">
<child id="3078666699043039389" name="commentedNode" index="8Wnug" />
</concept>
</language>
<language id="c7fb639f-be78-4307-89b0-b5959c3fa8c8" name="jetbrains.mps.lang.text">
<concept id="155656958578482948" name="jetbrains.mps.lang.text.structure.Word" flags="ng" index="3oM_SD">
@ -224,6 +235,10 @@
<concept id="540871147943773365" name="jetbrains.mps.baseLanguage.collections.structure.SingleArgumentSequenceOperation" flags="nn" index="25WWJ4">
<child id="540871147943773366" name="argument" index="25WWJ7" />
</concept>
<concept id="1226511727824" name="jetbrains.mps.baseLanguage.collections.structure.SetType" flags="in" index="2hMVRd">
<child id="1226511765987" name="elementType" index="2hN53Y" />
</concept>
<concept id="1226516258405" name="jetbrains.mps.baseLanguage.collections.structure.HashSetCreator" flags="nn" index="2i4dXS" />
<concept id="1151688443754" name="jetbrains.mps.baseLanguage.collections.structure.ListType" flags="in" index="_YKpA">
<child id="1151688676805" name="elementType" index="_ZDj9" />
</concept>
@ -841,18 +856,39 @@
</node>
</node>
<node concept="3SKdUt" id="3irtEZPtk8E" role="3cqZAp">
<node concept="1PaTwC" id="3irtEZPtk8F" role="3ndbpf">
<node concept="1PaTwC" id="3o9wrC3x1iM" role="3ndbpf">
<node concept="3oM_SD" id="3irtEZPtkYa" role="1PaTwD">
<property role="3oM_SC" value="reset" />
</node>
<node concept="3oM_SD" id="3irtEZPtkYN" role="1PaTwD">
<property role="3oM_SC" value="known" />
</node>
<node concept="3oM_SD" id="3irtEZPtlAv" role="1PaTwD">
<node concept="3oM_SD" id="3o9wrC3x1l3" role="1PaTwD">
<property role="3oM_SC" value="types" />
</node>
</node>
</node>
<node concept="3cpWs8" id="3o9wrC3x3LS" role="3cqZAp">
<node concept="3cpWsn" id="3o9wrC3x3LT" role="3cpWs9">
<property role="TrG5h" value="supervisor" />
<node concept="3uibUv" id="3o9wrC3x3LU" role="1tU5fm">
<ref role="3uigEE" to="w7la:~Supervisor" resolve="Supervisor" />
</node>
<node concept="2ShNRf" id="3o9wrC3tQA6" role="33vP2m">
<node concept="1pGfFk" id="3o9wrC3x0nv" role="2ShVmc">
<ref role="37wK5l" to="hano:3o9wrC3sC_c" resolve="ReportingSupervisor" />
<node concept="2OqwBi" id="3o9wrC3x0Fv" role="37wK5m">
<node concept="37vLTw" id="3o9wrC3x0rp" role="2Oq$k0">
<ref role="3cqZAo" node="tyIfzC1aUL" resolve="tplApp" />
</node>
<node concept="liA8E" id="3o9wrC3x0Rm" role="2OqNvi">
<ref role="37wK5l" to="hano:3GlpCDSyO$P" resolve="getProgram" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="1CcQBrQrYPT" role="3cqZAp">
<node concept="37vLTI" id="1CcQBrQrYPV" role="3clFbG">
<node concept="37vLTw" id="1CcQBrQrYPZ" role="37vLTJ">
@ -873,9 +909,12 @@
<node concept="Xl_RD" id="6tPOoeTc4db" role="37wK5m">
<property role="Xl_RC" value=".initial" />
</node>
<node concept="37vLTw" id="tyIfzC2VIs" role="37wK5m">
<node concept="37vLTw" id="3o9wrC3u78G" role="37wK5m">
<ref role="3cqZAo" node="tyIfzC1aUL" resolve="tplApp" />
</node>
<node concept="37vLTw" id="3o9wrC3x51d" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3x3LT" resolve="supervisor" />
</node>
<node concept="37vLTw" id="4aLjyB0ZChy" role="37wK5m">
<ref role="3cqZAo" node="4aLjyB0YZFj" resolve="trace" />
</node>
@ -922,6 +961,26 @@
<node concept="3Tqbb2" id="tyIfzC10eM" role="3rvSg0" />
</node>
</node>
<node concept="2tJIrI" id="3o9wrC3ywav" role="jymVt" />
<node concept="3clFb_" id="3o9wrC3y$h_" role="jymVt">
<property role="TrG5h" value="getFailedNodes" />
<node concept="3clFbS" id="3o9wrC3y$hC" role="3clF47">
<node concept="3cpWs6" id="3o9wrC3yAWo" role="3cqZAp">
<node concept="2OqwBi" id="3o9wrC3yC0i" role="3cqZAk">
<node concept="37vLTw" id="3o9wrC3yAX9" role="2Oq$k0">
<ref role="3cqZAo" node="tyIfzC1bTY" resolve="reporting" />
</node>
<node concept="2OwXpG" id="3o9wrC3yDo0" role="2OqNvi">
<ref role="2Oxat5" node="3o9wrC3yh0W" resolve="failedNodes" />
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="3o9wrC3yyRO" role="1B3o_S" />
<node concept="2hMVRd" id="3o9wrC3$myb" role="3clF45">
<node concept="2sp9CU" id="3o9wrC3$myc" role="2hN53Y" />
</node>
</node>
<node concept="2tJIrI" id="tyIfzC3uC1" role="jymVt" />
<node concept="3clFb_" id="tyIfzC3x3f" role="jymVt">
<property role="TrG5h" value="produceProgram" />
@ -1591,6 +1650,36 @@
</node>
<node concept="3Tm1VV" id="tyIfzC3g7p" role="1B3o_S" />
</node>
<node concept="1X3_iC" id="3o9wrC3$jn5" role="lGtFl">
<property role="3V$3am" value="member" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1107461130800/5375687026011219971" />
<node concept="312cEg" id="3o9wrC3xwBH" role="8Wnug">
<property role="TrG5h" value="errors" />
<node concept="3Tm1VV" id="3o9wrC3xvfS" role="1B3o_S" />
<node concept="3rvAFt" id="3o9wrC3xwzG" role="1tU5fm">
<node concept="2sp9CU" id="3o9wrC3xym4" role="3rvQeY" />
<node concept="17QB3L" id="3o9wrC3xyu_" role="3rvSg0" />
</node>
<node concept="2ShNRf" id="3o9wrC3xxXa" role="33vP2m">
<node concept="3rGOSV" id="3o9wrC3xyam" role="2ShVmc">
<node concept="2sp9CU" id="3o9wrC3xyB6" role="3rHrn6" />
<node concept="17QB3L" id="3o9wrC3xyJB" role="3rHtpV" />
</node>
</node>
</node>
</node>
<node concept="312cEg" id="3o9wrC3yh0W" role="jymVt">
<property role="TrG5h" value="failedNodes" />
<node concept="3Tm1VV" id="3o9wrC3yiff" role="1B3o_S" />
<node concept="2hMVRd" id="3o9wrC3$8hI" role="1tU5fm">
<node concept="2sp9CU" id="3o9wrC3yg3Q" role="2hN53Y" />
</node>
<node concept="2ShNRf" id="3o9wrC3$bKM" role="33vP2m">
<node concept="2i4dXS" id="3o9wrC3$bTV" role="2ShVmc">
<node concept="2sp9CU" id="3o9wrC3$gWr" role="HW$YZ" />
</node>
</node>
</node>
<node concept="2tJIrI" id="tyIfzC1DZo" role="jymVt" />
<node concept="3clFb_" id="3GEs5q_3o$P" role="jymVt">
<property role="TrG5h" value="assignType" />
@ -1677,8 +1766,38 @@
<node concept="10P_77" id="3GEs5q_3o_o" role="3clF45" />
<node concept="3Tm1VV" id="3GEs5q_3o_p" role="1B3o_S" />
<node concept="3clFbS" id="3GEs5q_3o_q" role="3clF47">
<node concept="3clFbF" id="3GEs5q_3o_r" role="3cqZAp">
<node concept="3clFbT" id="3GEs5q_3o_s" role="3clFbG" />
<node concept="3clFbJ" id="3o9wrC3ylNj" role="3cqZAp">
<node concept="3clFbS" id="3o9wrC3ylNl" role="3clFbx">
<node concept="3clFbF" id="3o9wrC3$3ft" role="3cqZAp">
<node concept="2OqwBi" id="3o9wrC3$lh4" role="3clFbG">
<node concept="37vLTw" id="3o9wrC3$3fr" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3yh0W" resolve="failedNodes" />
</node>
<node concept="TSZUe" id="3o9wrC3$lO3" role="2OqNvi">
<node concept="37vLTw" id="3o9wrC3$mcD" role="25WWJ7">
<ref role="3cqZAo" node="3GEs5q_3o_k" resolve="target" />
</node>
</node>
</node>
</node>
<node concept="3cpWs6" id="3o9wrC3yuGr" role="3cqZAp">
<node concept="3clFbT" id="3o9wrC3yuH$" role="3cqZAk" />
</node>
</node>
<node concept="3clFbC" id="3o9wrC3yngU" role="3clFbw">
<node concept="37vLTw" id="3o9wrC3x8$c" role="3uHU7B">
<ref role="3cqZAo" node="3GEs5q_3o_i" resolve="kind" />
</node>
<node concept="Rm8GO" id="3o9wrC3xdGv" role="3uHU7w">
<ref role="1Px2BO" to="2gg1:~MessageStatus" resolve="MessageStatus" />
<ref role="Rm8GQ" to="2gg1:~MessageStatus.ERROR" resolve="ERROR" />
</node>
</node>
</node>
<node concept="3clFbF" id="3o9wrC3yruk" role="3cqZAp">
<node concept="3clFbT" id="3o9wrC3yruj" role="3clFbG">
<property role="3clFbU" value="true" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="3GEs5q_3o_t" role="2AJF6D">

View File

@ -1123,6 +1123,27 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="3o9wrC3tYX9" role="3cqZAp">
<node concept="3cpWsn" id="3o9wrC3tYXa" role="3cpWs9">
<property role="TrG5h" value="supervisor" />
<node concept="3uibUv" id="3o9wrC3_Fke" role="1tU5fm">
<ref role="3uigEE" to="hano:3o9wrC3sa$h" resolve="ReportingSupervisor" />
</node>
<node concept="2ShNRf" id="3o9wrC3tZfr" role="33vP2m">
<node concept="1pGfFk" id="3o9wrC3u2Jf" role="2ShVmc">
<ref role="37wK5l" to="hano:3o9wrC3sC_c" resolve="ReportingSupervisor" />
<node concept="2OqwBi" id="3o9wrC3u3mt" role="37wK5m">
<node concept="37vLTw" id="3o9wrC3u307" role="2Oq$k0">
<ref role="3cqZAo" node="6$7vuu2ugt3" resolve="tplApp" />
</node>
<node concept="liA8E" id="3o9wrC3u59R" role="2OqNvi">
<ref role="37wK5l" to="hano:3GlpCDSyO$P" resolve="getProgram" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="YbzkzLckMI" role="3cqZAp">
<node concept="2OqwBi" id="YbzkzLcpjZ" role="3clFbG">
<node concept="10M0yZ" id="YbzkzLcocA" role="2Oq$k0">
@ -1172,6 +1193,9 @@
<node concept="37vLTw" id="7eQMSyzaBa7" role="37wK5m">
<ref role="3cqZAo" node="6$7vuu2ugt3" resolve="tplApp" />
</node>
<node concept="37vLTw" id="3o9wrC3u6jn" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3tYXa" resolve="supervisor" />
</node>
<node concept="10M0yZ" id="4$YN6QuoGjt" role="37wK5m">
<ref role="3cqZAo" to="hano:24Vro6cS5rK" resolve="NULL" />
<ref role="1PxDUh" to="hano:qubcdtxBiR" resolve="EvaluationTraceExt" />

View File

@ -1985,6 +1985,28 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="3o9wrC3tl4y" role="3cqZAp">
<node concept="3cpWsn" id="3o9wrC3tl4w" role="3cpWs9">
<property role="3TUv4t" value="true" />
<property role="TrG5h" value="supervisor" />
<node concept="3uibUv" id="3o9wrC3tmgD" role="1tU5fm">
<ref role="3uigEE" to="w7la:~Supervisor" resolve="Supervisor" />
</node>
<node concept="2ShNRf" id="3o9wrC3trPm" role="33vP2m">
<node concept="1pGfFk" id="3o9wrC3ttgt" role="2ShVmc">
<ref role="37wK5l" to="hano:3o9wrC3sC_c" resolve="ReportingSupervisor" />
<node concept="2OqwBi" id="3o9wrC3tvAX" role="37wK5m">
<node concept="37vLTw" id="3o9wrC3tu_g" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR9AoxI" resolve="programProducer" />
</node>
<node concept="liA8E" id="3o9wrC3twLu" role="2OqNvi">
<ref role="37wK5l" to="hano:3GlpCDSyO$P" resolve="getProgram" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="7WKNeR9AmNV" role="3cqZAp" />
<node concept="3clFbF" id="Hg6Enc7CQd" role="3cqZAp">
<node concept="37vLTI" id="Hg6Enc7CQe" role="3clFbG">
@ -2009,6 +2031,9 @@
<node concept="37vLTw" id="7WKNeR9AoxM" role="37wK5m">
<ref role="3cqZAo" node="7WKNeR9AoxI" resolve="programProducer" />
</node>
<node concept="37vLTw" id="3o9wrC3tHFL" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3tl4w" resolve="supervisor" />
</node>
<node concept="2ShNRf" id="7WKNeR9Gjbf" role="37wK5m">
<node concept="1pGfFk" id="7WKNeR9Gjbg" role="2ShVmc">
<ref role="37wK5l" node="7nPD14NbIzp" resolve="MultiTrace" />

View File

@ -23,6 +23,7 @@
<import index="av0y" ref="bbf5c548-7111-4a53-a117-cdefc664cf34/java:jetbrains.mps.logic.reactor.program(jetbrains.mps.logic.reactor/)" />
<import index="i348" ref="r:42a15dec-83a9-4fe1-80d6-3bf898c512bd(jetbrains.mps.lang.coderules.template)" />
<import index="zx3l" ref="bbf5c548-7111-4a53-a117-cdefc664cf34/java:jetbrains.mps.logic.reactor.core(jetbrains.mps.logic.reactor/)" />
<import index="w7la" ref="bbf5c548-7111-4a53-a117-cdefc664cf34/java:jetbrains.mps.logic.reactor.evaluation(jetbrains.mps.logic.reactor/)" />
<import index="wyt6" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)" implicit="true" />
<import index="33ny" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)" implicit="true" />
<import index="guwi" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.io(JDK/)" implicit="true" />
@ -235,6 +236,7 @@
</concept>
</language>
<language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel">
<concept id="5045161044515397667" name="jetbrains.mps.lang.smodel.structure.Node_PointerOperation" flags="ng" index="iZEcu" />
<concept id="1179409122411" name="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" flags="nn" index="2qgKlT" />
<concept id="1173122760281" name="jetbrains.mps.lang.smodel.structure.Node_GetAncestorsOperation" flags="nn" index="z$bX8" />
<concept id="1143234257716" name="jetbrains.mps.lang.smodel.structure.Node_GetModelOperation" flags="nn" index="I4A8Y" />
@ -717,6 +719,256 @@
</node>
<node concept="3Tm6S6" id="3vh3iHvq1Ke" role="1B3o_S" />
</node>
<node concept="2XrIbr" id="3o9wrC3yMuL" role="1qtyYc">
<property role="TrG5h" value="replaceFailTest" />
<node concept="37vLTG" id="3o9wrC3yMuM" role="3clF46">
<property role="TrG5h" value="typecheckRoot" />
<node concept="3Tqbb2" id="3o9wrC3yMuN" role="1tU5fm" />
</node>
<node concept="37vLTG" id="3o9wrC3yMuO" role="3clF46">
<property role="TrG5h" value="failingNode" />
<node concept="3Tqbb2" id="3o9wrC3yMuP" role="1tU5fm" />
</node>
<node concept="37vLTG" id="3o9wrC3yMuS" role="3clF46">
<property role="TrG5h" value="replacedNode" />
<node concept="3Tqbb2" id="3o9wrC3yMuT" role="1tU5fm" />
</node>
<node concept="37vLTG" id="3o9wrC3yMuU" role="3clF46">
<property role="TrG5h" value="replaceWith" />
<node concept="3Tqbb2" id="3o9wrC3yMuV" role="1tU5fm" />
</node>
<node concept="3cqZAl" id="3o9wrC3yMuW" role="3clF45" />
<node concept="3clFbS" id="3o9wrC3yMuX" role="3clF47">
<node concept="3cpWs8" id="3o9wrC3yMuY" role="3cqZAp">
<node concept="3cpWsn" id="3o9wrC3yMuZ" role="3cpWs9">
<property role="TrG5h" value="repo" />
<property role="3TUv4t" value="true" />
<node concept="3uibUv" id="3o9wrC3yMv0" role="1tU5fm">
<ref role="3uigEE" to="lui2:~SRepository" resolve="SRepository" />
</node>
<node concept="2OqwBi" id="3o9wrC3yMv1" role="33vP2m">
<node concept="2JrnkZ" id="3o9wrC3yMv2" role="2Oq$k0">
<node concept="2OqwBi" id="3o9wrC3yMv3" role="2JrQYb">
<node concept="I4A8Y" id="3o9wrC3yMv4" role="2OqNvi" />
<node concept="37vLTw" id="3o9wrC3yMv5" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3yMuM" resolve="typecheckRoot" />
</node>
</node>
</node>
<node concept="liA8E" id="3o9wrC3yMv6" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SModel.getRepository()" resolve="getRepository" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="3o9wrC3yMv7" role="3cqZAp">
<node concept="3cpWsn" id="3o9wrC3yMv8" role="3cpWs9">
<property role="TrG5h" value="launcher" />
<node concept="3uibUv" id="3o9wrC3yMv9" role="1tU5fm">
<ref role="3uigEE" to="hfva:tyIfzC0ZNj" resolve="IncrementalLaunchHelper" />
</node>
<node concept="2ShNRf" id="3o9wrC3yMva" role="33vP2m">
<node concept="1pGfFk" id="3o9wrC3yMvb" role="2ShVmc">
<ref role="37wK5l" to="hfva:tyIfzC0ZVq" resolve="IncrementalLaunchHelper" />
<node concept="37vLTw" id="3o9wrC3yMvc" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3yMuZ" resolve="repo" />
</node>
<node concept="2OqwBi" id="3o9wrC3yMvd" role="37wK5m">
<node concept="I4A8Y" id="3o9wrC3yMve" role="2OqNvi" />
<node concept="37vLTw" id="3o9wrC3yMvf" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3yMuM" resolve="typecheckRoot" />
</node>
</node>
<node concept="10M0yZ" id="3o9wrC3yMvg" role="37wK5m">
<ref role="3cqZAo" to="tj24:4t7Xo7inNvw" resolve="TYPECHECK" />
<ref role="1PxDUh" to="tj24:4t7Xo7inNgi" resolve="TypecheckingQueryKind" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3o9wrC3yMvh" role="3cqZAp" />
<node concept="3cpWs8" id="3o9wrC3yMvi" role="3cqZAp">
<node concept="3cpWsn" id="3o9wrC3yMvj" role="3cpWs9">
<property role="TrG5h" value="types1" />
<node concept="3rvAFt" id="3o9wrC3yMvk" role="1tU5fm">
<node concept="3uibUv" id="3o9wrC3yMvl" role="3rvQeY">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="3Tqbb2" id="3o9wrC3yMvm" role="3rvSg0" />
</node>
<node concept="2OqwBi" id="3o9wrC3yMvn" role="33vP2m">
<node concept="37vLTw" id="3o9wrC3yMvo" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3yMv8" resolve="launcher" />
</node>
<node concept="liA8E" id="3o9wrC3yMvp" role="2OqNvi">
<ref role="37wK5l" to="hfva:2u_o41fICWA" resolve="launch" />
<node concept="37vLTw" id="3o9wrC3yMvq" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3yMuM" resolve="typecheckRoot" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3o9wrC3yMv$" role="3cqZAp" />
<node concept="3clFbF" id="3o9wrC3yMv_" role="3cqZAp">
<node concept="2OqwBi" id="3o9wrC3yMvA" role="3clFbG">
<node concept="37vLTw" id="3o9wrC3yMvB" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3yMuS" resolve="replacedNode" />
</node>
<node concept="1P9Npp" id="3o9wrC3yMvC" role="2OqNvi">
<node concept="37vLTw" id="3o9wrC3yMvD" role="1P9ThW">
<ref role="3cqZAo" node="3o9wrC3yMuU" resolve="replaceWith" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3o9wrC3yMvE" role="3cqZAp" />
<node concept="3cpWs8" id="3o9wrC3yMvF" role="3cqZAp">
<node concept="3cpWsn" id="3o9wrC3yMvG" role="3cpWs9">
<property role="TrG5h" value="typesDelta" />
<node concept="2OqwBi" id="3o9wrC3yMvH" role="33vP2m">
<node concept="37vLTw" id="3o9wrC3yMvI" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3yMv8" resolve="launcher" />
</node>
<node concept="liA8E" id="3o9wrC3yMvJ" role="2OqNvi">
<ref role="37wK5l" to="hfva:2u_o41fHwMs" resolve="relaunch" />
<node concept="37vLTw" id="3o9wrC3yMvK" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3yMuM" resolve="typecheckRoot" />
</node>
</node>
</node>
<node concept="3rvAFt" id="3o9wrC3yMvL" role="1tU5fm">
<node concept="3uibUv" id="3o9wrC3yMvM" role="3rvQeY">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="3Tqbb2" id="3o9wrC3yMvN" role="3rvSg0" />
</node>
</node>
</node>
<node concept="3clFbH" id="3o9wrC3yMvO" role="3cqZAp" />
<node concept="3clFbF" id="3o9wrC3yMvU" role="3cqZAp">
<node concept="2YIFZM" id="3o9wrC3yMvV" role="3clFbG">
<ref role="37wK5l" to="hfva:3evPR3Eeopd" resolve="printTypes" />
<ref role="1Pybhc" to="hfva:3evPR3EeeoU" resolve="TestInfoPrinter" />
<node concept="37vLTw" id="3o9wrC3yMvW" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3yMuZ" resolve="repo" />
</node>
<node concept="37vLTw" id="3o9wrC3yMvX" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3yMvj" resolve="types1" />
</node>
</node>
</node>
<node concept="3clFbF" id="3o9wrC3yMvY" role="3cqZAp">
<node concept="2YIFZM" id="3o9wrC3yMvZ" role="3clFbG">
<ref role="37wK5l" to="hfva:3evPR3Eeopd" resolve="printTypes" />
<ref role="1Pybhc" to="hfva:3evPR3EeeoU" resolve="TestInfoPrinter" />
<node concept="37vLTw" id="3o9wrC3yMw0" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3yMuZ" resolve="repo" />
</node>
<node concept="37vLTw" id="3o9wrC3yMw1" role="37wK5m">
<ref role="3cqZAo" node="3o9wrC3yMvG" resolve="typesDelta" />
</node>
</node>
</node>
<node concept="3clFbH" id="3o9wrC3_Dgr" role="3cqZAp" />
<node concept="3SKdUt" id="3o9wrC3yMw3" role="3cqZAp">
<node concept="1PaTwC" id="3o9wrC3yMw4" role="3ndbpf">
<node concept="3oM_SD" id="3o9wrC3yMw5" role="1PaTwD">
<property role="3oM_SC" value="relaunch" />
</node>
<node concept="3oM_SD" id="3o9wrC3yMw6" role="1PaTwD">
<property role="3oM_SC" value="recomputes" />
</node>
<node concept="3oM_SD" id="3o9wrC3yMw7" role="1PaTwD">
<property role="3oM_SC" value="less" />
</node>
<node concept="3oM_SD" id="3o9wrC3yMw8" role="1PaTwD">
<property role="3oM_SC" value="than" />
</node>
<node concept="3oM_SD" id="3o9wrC3yMw9" role="1PaTwD">
<property role="3oM_SC" value="the" />
</node>
<node concept="3oM_SD" id="3o9wrC3yMwa" role="1PaTwD">
<property role="3oM_SC" value="whole" />
</node>
<node concept="3oM_SD" id="3o9wrC3yMwb" role="1PaTwD">
<property role="3oM_SC" value="program" />
</node>
</node>
</node>
<node concept="3vwNmj" id="3o9wrC3yMwc" role="3cqZAp">
<node concept="3eOVzh" id="3o9wrC3yMwd" role="3vwVQn">
<node concept="2OqwBi" id="3o9wrC3yMwe" role="3uHU7w">
<node concept="37vLTw" id="3o9wrC3yMwf" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3yMvj" resolve="types1" />
</node>
<node concept="34oBXx" id="3o9wrC3yMwg" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="3o9wrC3yMwh" role="3uHU7B">
<node concept="37vLTw" id="3o9wrC3yMwi" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3yMvG" resolve="typesDelta" />
</node>
<node concept="34oBXx" id="3o9wrC3yMwj" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3vFxKo" id="3o9wrC3_5SP" role="3cqZAp">
<node concept="2OqwBi" id="3o9wrC3_686" role="3vFALc">
<node concept="37vLTw" id="3o9wrC3_687" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3yMvG" resolve="typesDelta" />
</node>
<node concept="2Nt0df" id="3o9wrC3_688" role="2OqNvi">
<node concept="2OqwBi" id="3o9wrC3_9U4" role="38cxEo">
<node concept="liA8E" id="3o9wrC3_dBv" role="2OqNvi">
<ref role="37wK5l" to="mhbf:~SNode.getReference()" resolve="getReference" />
</node>
<node concept="2JrnkZ" id="3o9wrC3_9U9" role="2Oq$k0">
<node concept="37vLTw" id="3o9wrC3_9Nx" role="2JrQYb">
<ref role="3cqZAo" node="3o9wrC3yMuO" resolve="failingNode" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3vwNmj" id="3o9wrC3$v_W" role="3cqZAp">
<node concept="2OqwBi" id="3o9wrC3$$bG" role="3vwVQn">
<node concept="2OqwBi" id="3o9wrC3$vOt" role="2Oq$k0">
<node concept="37vLTw" id="3o9wrC3$vIy" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3yMv8" resolve="launcher" />
</node>
<node concept="liA8E" id="3o9wrC3$zF3" role="2OqNvi">
<ref role="37wK5l" to="hfva:3o9wrC3y$h_" resolve="getFailedNodes" />
</node>
</node>
<node concept="3JPx81" id="3o9wrC3$CCI" role="2OqNvi">
<node concept="2OqwBi" id="3o9wrC3$GuH" role="25WWJ7">
<node concept="37vLTw" id="3o9wrC3$CEb" role="2Oq$k0">
<ref role="3cqZAo" node="3o9wrC3yMuO" resolve="failingNode" />
</node>
<node concept="iZEcu" id="3o9wrC3$GCn" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="3o9wrC3yMwv" role="3cqZAp">
<node concept="2OqwBi" id="3o9wrC3yMww" role="3clFbG">
<node concept="2WthIp" id="3o9wrC3yMwx" role="2Oq$k0" />
<node concept="2XshWL" id="3o9wrC3yMwy" role="2OqNvi">
<ref role="2WH_rO" node="2FNFm8neJtd" resolve="assertSameAsGroundTruth" />
<node concept="37vLTw" id="3o9wrC3yMwz" role="2XxRq1">
<ref role="3cqZAo" node="3o9wrC3yMuM" resolve="typecheckRoot" />
</node>
<node concept="37vLTw" id="3o9wrC3yMw$" role="2XxRq1">
<ref role="3cqZAo" node="3o9wrC3yMv8" resolve="launcher" />
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm6S6" id="3o9wrC3yMw_" role="1B3o_S" />
</node>
<node concept="2XrIbr" id="7eQMSyzli7C" role="1qtyYc">
<property role="TrG5h" value="findRulesForNode" />
<node concept="37vLTG" id="7eQMSyzlkY9" role="3clF46">
@ -2039,27 +2291,17 @@
<property role="TrG5h" value="replaceIncorrectlyFail" />
<node concept="3cqZAl" id="3vh3iHvqKT7" role="3clF45" />
<node concept="3clFbS" id="3vh3iHvqKT8" role="3clF47">
<node concept="3SKdUt" id="2u_o41fMz0o" role="3cqZAp">
<node concept="1PaTwC" id="2u_o41fMz0p" role="3ndbpf">
<node concept="3oM_SD" id="2u_o41fMz0S" role="1PaTwD">
<property role="3oM_SC" value="TODO" />
</node>
</node>
</node>
<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="3vh3iHvpMrp" resolve="replaceTest" />
<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="2c44tf" id="3vh3iHvqKTf" role="2XxRq1">
<node concept="17QB3L" id="3vh3iHvqP$N" role="2c44tc" />
</node>
<node concept="3xONca" id="3vh3iHvqPB5" role="2XxRq1">
<ref role="3xOPvv" node="55idZnEzOte" resolve="plusOp" />
</node>