Ensure typechecking cache is cleared on closing session. Closes MPSCR-23

This commit is contained in:
Fedor Isakov 2019-12-09 14:15:16 +01:00
parent 7c781a7f87
commit 0af0d0152d
2 changed files with 345 additions and 163 deletions

View File

@ -1250,10 +1250,18 @@
<node concept="3clFbF" id="1oUwjADnDmX" role="3cqZAp">
<node concept="2ShNRf" id="1oUwjADnDmV" role="3clFbG">
<node concept="1pGfFk" id="4MaHsBDeKk6" role="2ShVmc">
<ref role="37wK5l" node="4MaHsBDeJMk" resolve="CoderulesTypecheckingProvider.Queries" />
<ref role="37wK5l" node="4duYm8_rntF" resolve="CoderulesTypecheckingProvider.Queries" />
<node concept="1rXfSq" id="4MaHsBDeNGb" role="37wK5m">
<ref role="37wK5l" node="4MaHsBDes9w" resolve="discoverMPSProject" />
</node>
<node concept="2OqwBi" id="4duYm8_rN9V" role="37wK5m">
<node concept="37vLTw" id="4duYm8_rN9W" role="2Oq$k0">
<ref role="3cqZAo" node="lvX$8VFrSd" resolve="flags" />
</node>
<node concept="liA8E" id="4duYm8_rN9X" role="2OqNvi">
<ref role="37wK5l" to="1ka:~TypecheckingSession$Flags.getRoot()" resolve="getRoot" />
</node>
</node>
</node>
</node>
</node>
@ -1297,7 +1305,71 @@
<ref role="2AI5Lk" to="mhfm:~NotNull" resolve="NotNull" />
</node>
</node>
<node concept="3clFbS" id="lvX$8VFrSr" role="3clF47" />
<node concept="3clFbS" id="lvX$8VFrSr" role="3clF47">
<node concept="3clFbJ" id="4duYm8_r$nY" role="3cqZAp">
<node concept="3clFbS" id="4duYm8_r$o0" role="3clFbx">
<node concept="3cpWs8" id="4duYm8_rEe5" role="3cqZAp">
<node concept="3cpWsn" id="4duYm8_rEe6" role="3cpWs9">
<property role="TrG5h" value="root" />
<node concept="3Tqbb2" id="4duYm8_rE3C" role="1tU5fm" />
<node concept="2OqwBi" id="4duYm8_rEe7" role="33vP2m">
<node concept="1eOMI4" id="4duYm8_rEe8" role="2Oq$k0">
<node concept="10QFUN" id="4duYm8_rEe9" role="1eOMHV">
<node concept="3uibUv" id="4duYm8_rEea" role="10QFUM">
<ref role="3uigEE" node="5BwsbZJE17w" resolve="CoderulesTypecheckingProvider.Queries" />
</node>
<node concept="37vLTw" id="4duYm8_rEeb" role="10QFUP">
<ref role="3cqZAo" node="lvX$8VFrSo" resolve="queries" />
</node>
</node>
</node>
<node concept="2OwXpG" id="4duYm8_rEec" role="2OqNvi">
<ref role="2Oxat5" node="4duYm8_rvM9" resolve="root" />
</node>
</node>
</node>
</node>
<node concept="3clFbJ" id="4duYm8_rGgl" role="3cqZAp">
<node concept="3clFbS" id="4duYm8_rGgn" role="3clFbx">
<node concept="3clFbF" id="4duYm8_rHf4" role="3cqZAp">
<node concept="2OqwBi" id="4duYm8_rJMu" role="3clFbG">
<node concept="1eOMI4" id="4duYm8_rHf2" role="2Oq$k0">
<node concept="10QFUN" id="4duYm8_rHeZ" role="1eOMHV">
<node concept="3uibUv" id="4duYm8_rHmL" role="10QFUM">
<ref role="3uigEE" node="5BwsbZJE17w" resolve="CoderulesTypecheckingProvider.Queries" />
</node>
<node concept="37vLTw" id="4duYm8_rJze" role="10QFUP">
<ref role="3cqZAo" node="lvX$8VFrSo" resolve="queries" />
</node>
</node>
</node>
<node concept="liA8E" id="4duYm8_rLLd" role="2OqNvi">
<ref role="37wK5l" node="6l3eCxofJGN" resolve="clearCache" />
<node concept="37vLTw" id="4duYm8_rM6V" role="37wK5m">
<ref role="3cqZAo" node="4duYm8_rEe6" resolve="root" />
</node>
</node>
</node>
</node>
</node>
<node concept="3y3z36" id="4duYm8_rGD3" role="3clFbw">
<node concept="10Nm6u" id="4duYm8_rGQR" role="3uHU7w" />
<node concept="37vLTw" id="4duYm8_rGpA" role="3uHU7B">
<ref role="3cqZAo" node="4duYm8_rEe6" resolve="root" />
</node>
</node>
</node>
</node>
<node concept="2ZW3vV" id="4duYm8_r_ez" role="3clFbw">
<node concept="3uibUv" id="4duYm8_r_Dh" role="2ZW6by">
<ref role="3uigEE" node="5BwsbZJE17w" resolve="CoderulesTypecheckingProvider.Queries" />
</node>
<node concept="37vLTw" id="4duYm8_r$PT" role="2ZW6bz">
<ref role="3cqZAo" node="lvX$8VFrSo" resolve="queries" />
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="lvX$8VFrSs" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
@ -1333,6 +1405,49 @@
</node>
</node>
<node concept="2tJIrI" id="4MaHsBDeIUW" role="jymVt" />
<node concept="3clFbW" id="4duYm8_rntF" role="jymVt">
<node concept="3cqZAl" id="4duYm8_rntG" role="3clF45" />
<node concept="3Tm1VV" id="4duYm8_rntH" role="1B3o_S" />
<node concept="3clFbS" id="4duYm8_rntI" role="3clF47">
<node concept="3clFbF" id="4duYm8_rntJ" role="3cqZAp">
<node concept="37vLTI" id="4duYm8_rntK" role="3clFbG">
<node concept="2OqwBi" id="4duYm8_rntL" role="37vLTJ">
<node concept="Xjq3P" id="4duYm8_rntM" role="2Oq$k0" />
<node concept="2OwXpG" id="4duYm8_rntN" role="2OqNvi">
<ref role="2Oxat5" node="4MaHsBDeL9t" resolve="mpsProject" />
</node>
</node>
<node concept="37vLTw" id="4duYm8_rntO" role="37vLTx">
<ref role="3cqZAo" node="4duYm8_rntP" resolve="mpsProject" />
</node>
</node>
</node>
<node concept="3clFbF" id="4duYm8_rvMd" role="3cqZAp">
<node concept="37vLTI" id="4duYm8_rvMf" role="3clFbG">
<node concept="2OqwBi" id="4duYm8_rzzC" role="37vLTJ">
<node concept="Xjq3P" id="4duYm8_rzOQ" role="2Oq$k0" />
<node concept="2OwXpG" id="4duYm8_rzzF" role="2OqNvi">
<ref role="2Oxat5" node="4duYm8_rvM9" resolve="root" />
</node>
</node>
<node concept="37vLTw" id="4duYm8_rvMj" role="37vLTx">
<ref role="3cqZAo" node="4duYm8_rqLV" resolve="root" />
</node>
</node>
</node>
</node>
<node concept="37vLTG" id="4duYm8_rntP" role="3clF46">
<property role="TrG5h" value="mpsProject" />
<node concept="3uibUv" id="4duYm8_rntQ" role="1tU5fm">
<ref role="3uigEE" to="z1c4:~MPSProject" resolve="MPSProject" />
</node>
</node>
<node concept="37vLTG" id="4duYm8_rqLV" role="3clF46">
<property role="TrG5h" value="root" />
<node concept="3Tqbb2" id="4duYm8_rvDA" role="1tU5fm" />
</node>
</node>
<node concept="2tJIrI" id="4duYm8_rntE" role="jymVt" />
<node concept="3clFb_" id="siuT5mmA08" role="jymVt">
<property role="TrG5h" value="getTypeOf" />
<node concept="3Tm1VV" id="siuT5mmA09" role="1B3o_S" />
@ -2077,69 +2192,22 @@
</node>
</node>
<node concept="3clFbS" id="6l3eCxofJGT" role="3clF47">
<node concept="3SKdUt" id="2qsG4AwLTT$" role="3cqZAp">
<node concept="1PaTwC" id="2qsG4AwLTT_" role="3ndbpf">
<node concept="3oM_SD" id="2qsG4AwLTTB" role="1PaTwD">
<property role="3oM_SC" value="TODO:" />
<node concept="3clFbF" id="4duYm8_iIVe" role="3cqZAp">
<node concept="2OqwBi" id="4duYm8_iKJH" role="3clFbG">
<node concept="2YIFZM" id="4duYm8_iJCp" role="2Oq$k0">
<ref role="37wK5l" to="tj24:3IIf9O_Z6Ip" resolve="forNode" />
<ref role="1Pybhc" to="tj24:7kaxm0sEy3e" resolve="TypecheckingService" />
<node concept="37vLTw" id="4duYm8_iKse" role="37wK5m">
<ref role="3cqZAo" node="6l3eCxofJGR" resolve="node" />
</node>
</node>
<node concept="3oM_SD" id="2qsG4AwLTU0" role="1PaTwD">
<property role="3oM_SC" value="introduce" />
</node>
<node concept="3oM_SD" id="2qsG4AwLU2Z" role="1PaTwD">
<property role="3oM_SC" value="a" />
</node>
<node concept="3oM_SD" id="2qsG4AwLU4U" role="1PaTwD">
<property role="3oM_SC" value="flag" />
</node>
</node>
</node>
<node concept="3clFbJ" id="2qsG4AwLyh2" role="3cqZAp">
<node concept="3clFbS" id="2qsG4AwLyh4" role="3clFbx">
<node concept="3clFbF" id="2qsG4AwL68J" role="3cqZAp">
<node concept="2OqwBi" id="2qsG4AwL68K" role="3clFbG">
<node concept="2YIFZM" id="2qsG4AwL68L" role="2Oq$k0">
<ref role="1Pybhc" to="31yc:4MaHsBDdlvx" resolve="MessageLog" />
<ref role="37wK5l" to="31yc:2mhJggjuVj0" resolve="get" />
<node concept="37vLTw" id="2qsG4AwL68M" role="37wK5m">
<ref role="3cqZAo" node="4MaHsBDeL9t" resolve="mpsProject" />
</node>
</node>
<node concept="liA8E" id="2qsG4AwL68O" role="2OqNvi">
<ref role="37wK5l" to="31yc:4MaHsBDgiaT" resolve="handle" />
<node concept="2YIFZM" id="2qsG4AwL68P" role="37wK5m">
<ref role="1Pybhc" to="et5u:~Message" resolve="Message" />
<ref role="37wK5l" to="et5u:~Message.createMessage(jetbrains.mps.messages.MessageKind,java.lang.String,java.lang.String)" resolve="createMessage" />
<node concept="Rm8GO" id="2qsG4AwL68Q" role="37wK5m">
<ref role="1Px2BO" to="et5u:~MessageKind" resolve="MessageKind" />
<ref role="Rm8GQ" to="et5u:~MessageKind.WARNING" resolve="WARNING" />
</node>
<node concept="2OqwBi" id="2qsG4AwL68R" role="37wK5m">
<node concept="3VsKOn" id="2qsG4AwL68S" role="2Oq$k0">
<ref role="3VsUkX" node="5BwsbZJE17w" resolve="CoderulesTypecheckingProvider.Queries" />
</node>
<node concept="liA8E" id="2qsG4AwL68T" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~Class.getSimpleName()" resolve="getSimpleName" />
</node>
</node>
<node concept="3cpWs3" id="2qsG4AwL68U" role="37wK5m">
<node concept="3cpWs3" id="2qsG4AwL68Y" role="3uHU7B">
<node concept="Xl_RD" id="2qsG4AwL68Z" role="3uHU7B">
<property role="Xl_RC" value="NOT IMPLEMENTED: clearCache" />
</node>
<node concept="37vLTw" id="2qsG4AwL7yW" role="3uHU7w">
<ref role="3cqZAo" node="6l3eCxofJGR" resolve="node" />
</node>
</node>
<node concept="Xl_RD" id="2qsG4AwL692" role="3uHU7w">
<property role="Xl_RC" value=")" />
</node>
</node>
</node>
</node>
<node concept="liA8E" id="4duYm8_nC08" role="2OqNvi">
<ref role="37wK5l" to="tj24:4duYm8_j5Ga" resolve="clearCache" />
<node concept="37vLTw" id="4duYm8_nS5V" role="37wK5m">
<ref role="3cqZAo" node="6l3eCxofJGR" resolve="node" />
</node>
</node>
</node>
<node concept="3clFbT" id="2qsG4AwLyCv" role="3clFbw" />
</node>
</node>
<node concept="2AHcQZ" id="6l3eCxofJGU" role="2AJF6D">
@ -2610,6 +2678,11 @@
<ref role="3uigEE" to="z1c4:~MPSProject" resolve="MPSProject" />
</node>
</node>
<node concept="312cEg" id="4duYm8_rvM9" role="jymVt">
<property role="TrG5h" value="root" />
<node concept="3Tm6S6" id="4duYm8_rvMa" role="1B3o_S" />
<node concept="3Tqbb2" id="4duYm8_rvMc" role="1tU5fm" />
</node>
</node>
<node concept="2tJIrI" id="6hpwxwisYIe" role="jymVt" />
<node concept="312cEu" id="2mhJggjDyUw" role="jymVt">

View File

@ -5726,33 +5726,6 @@
</node>
</node>
</node>
<node concept="3clFbH" id="1FOQehxe1WI" role="3cqZAp" />
<node concept="3clFbJ" id="1FOQehxe0DU" role="3cqZAp">
<node concept="3clFbS" id="1FOQehxe0DW" role="3clFbx">
<node concept="YS8fn" id="1FOQehxe1zc" role="3cqZAp">
<node concept="2ShNRf" id="1FOQehxe1$D" role="YScLw">
<node concept="1pGfFk" id="1FOQehxe1PX" role="2ShVmc">
<ref role="37wK5l" to="wyt6:~IllegalArgumentException.&lt;init&gt;(java.lang.String)" resolve="IllegalArgumentException" />
<node concept="Xl_RD" id="7eK3Dxvm5Au" role="37wK5m">
<property role="Xl_RC" value="root node expected" />
</node>
</node>
</node>
</node>
</node>
<node concept="3y3z36" id="1FOQehxe14$" role="3clFbw">
<node concept="2OqwBi" id="1FOQehxe1db" role="3uHU7w">
<node concept="37vLTw" id="1FOQehxe17a" role="2Oq$k0">
<ref role="3cqZAo" node="1FOQehxdZUm" resolve="root" />
</node>
<node concept="2Rxl7S" id="1FOQehxe1xA" role="2OqNvi" />
</node>
<node concept="37vLTw" id="1FOQehxe0GC" role="3uHU7B">
<ref role="3cqZAo" node="1FOQehxdZUm" resolve="root" />
</node>
</node>
</node>
<node concept="3clFbH" id="1GKZK$A5eIX" role="3cqZAp" />
<node concept="3clFbF" id="7eK3Dxvm4c8" role="3cqZAp">
<node concept="1rXfSq" id="7eK3Dxvm4ca" role="3clFbG">
<ref role="37wK5l" node="3IIf9O_qVvl" resolve="calcTypeIndex" />
@ -5785,7 +5758,7 @@
<node concept="3clFb_" id="19OC90lY7P" role="jymVt">
<property role="TrG5h" value="isCacheUpToDate" />
<node concept="37vLTG" id="19OC90lY7Q" role="3clF46">
<property role="TrG5h" value="node" />
<property role="TrG5h" value="root" />
<node concept="3Tqbb2" id="19OC90lY7R" role="1tU5fm" />
</node>
<node concept="10P_77" id="19OC90njZT" role="3clF45" />
@ -5829,19 +5802,6 @@
</node>
</node>
<node concept="3clFbH" id="19OC90lY89" role="3cqZAp" />
<node concept="3cpWs8" id="19OC90lY8a" role="3cqZAp">
<node concept="3cpWsn" id="19OC90lY8b" role="3cpWs9">
<property role="TrG5h" value="containingRoot" />
<node concept="3Tqbb2" id="19OC90lY8c" role="1tU5fm" />
<node concept="2OqwBi" id="19OC90lY8d" role="33vP2m">
<node concept="37vLTw" id="19OC90lY8e" role="2Oq$k0">
<ref role="3cqZAo" node="19OC90lY7Q" resolve="node" />
</node>
<node concept="2Rxl7S" id="19OC90lY8f" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3clFbH" id="19OC90lY8g" role="3cqZAp" />
<node concept="3cpWs8" id="19OC90lY8h" role="3cqZAp">
<node concept="3cpWsn" id="19OC90lY8i" role="3cpWs9">
<property role="TrG5h" value="tc" />
@ -5871,8 +5831,8 @@
<ref role="37wK5l" node="4Z$O9mrQJgp" resolve="cachedTypesIndex" />
<node concept="2OqwBi" id="19OC90lY8s" role="37wK5m">
<node concept="2JrnkZ" id="19OC90lY8t" role="2Oq$k0">
<node concept="37vLTw" id="19OC90lY8u" role="2JrQYb">
<ref role="3cqZAo" node="19OC90lY8b" resolve="containingRoot" />
<node concept="37vLTw" id="cmlg9N8D0i" role="2JrQYb">
<ref role="3cqZAo" node="19OC90lY7Q" resolve="root" />
</node>
</node>
<node concept="liA8E" id="19OC90lY8v" role="2OqNvi">
@ -5920,6 +5880,49 @@
</node>
</node>
</node>
<node concept="2tJIrI" id="4duYm8_iT_v" role="jymVt" />
<node concept="3clFb_" id="4duYm8_j5Ga" role="jymVt">
<property role="TrG5h" value="clearCache" />
<node concept="37vLTG" id="4duYm8_joH8" role="3clF46">
<property role="TrG5h" value="root" />
<node concept="3Tqbb2" id="4duYm8_jwN1" role="1tU5fm" />
</node>
<node concept="3cqZAl" id="4duYm8_j5Gc" role="3clF45" />
<node concept="3Tm1VV" id="4duYm8_j5Gd" role="1B3o_S" />
<node concept="3clFbS" id="4duYm8_j5Ge" role="3clF47">
<node concept="3cpWs8" id="4duYm8_jCao" role="3cqZAp">
<node concept="3cpWsn" id="4duYm8_jCap" role="3cpWs9">
<property role="TrG5h" value="tc" />
<node concept="3uibUv" id="4duYm8_jCaq" role="1tU5fm">
<ref role="3uigEE" node="4Z$O9mrQIzY" resolve="TypecheckingCache" />
</node>
<node concept="2YIFZM" id="4duYm8_jCar" role="33vP2m">
<ref role="37wK5l" node="4Z$O9mrQIG1" resolve="get" />
<ref role="1Pybhc" node="4Z$O9mrQIzY" resolve="TypecheckingCache" />
<node concept="37vLTw" id="4duYm8_jCas" role="37wK5m">
<ref role="3cqZAo" node="3IIf9O_u8qV" resolve="repository" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4duYm8_m0OA" role="3cqZAp">
<node concept="2OqwBi" id="4duYm8_m4kJ" role="3clFbG">
<node concept="37vLTw" id="4duYm8_m0O$" role="2Oq$k0">
<ref role="3cqZAo" node="4duYm8_jCap" resolve="tc" />
</node>
<node concept="liA8E" id="4duYm8_nGjv" role="2OqNvi">
<ref role="37wK5l" node="4duYm8_mMNK" resolve="clearCachedTypesIndex" />
<node concept="2OqwBi" id="4duYm8_nLm_" role="37wK5m">
<node concept="37vLTw" id="cmlg9N8NC2" role="2Oq$k0">
<ref role="3cqZAo" node="4duYm8_joH8" resolve="root" />
</node>
<node concept="iZEcu" id="4duYm8_nLs3" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="1FOQehxnwar" role="jymVt" />
<node concept="3clFb_" id="3IIf9O_tkwF" role="jymVt">
<property role="TrG5h" value="getTypeOf" />
@ -6711,6 +6714,34 @@
</node>
</node>
<node concept="3clFbH" id="5MNibENihBS" role="3cqZAp" />
<node concept="3SKdUt" id="cmlg9N9vNQ" role="3cqZAp">
<node concept="1PaTwC" id="cmlg9N9vNR" role="3ndbpf">
<node concept="3oM_SD" id="cmlg9N9vNT" role="1PaTwD">
<property role="3oM_SC" value="FIXME" />
</node>
<node concept="3oM_SD" id="cmlg9N9_F5" role="1PaTwD">
<property role="3oM_SC" value="this" />
</node>
<node concept="3oM_SD" id="cmlg9N9AaP" role="1PaTwD">
<property role="3oM_SC" value="userObject" />
</node>
<node concept="3oM_SD" id="cmlg9N9Abr" role="1PaTwD">
<property role="3oM_SC" value="business" />
</node>
<node concept="3oM_SD" id="cmlg9N9Ac2" role="1PaTwD">
<property role="3oM_SC" value="is" />
</node>
<node concept="3oM_SD" id="cmlg9N9Ac8" role="1PaTwD">
<property role="3oM_SC" value="a" />
</node>
<node concept="3oM_SD" id="cmlg9N9Acf" role="1PaTwD">
<property role="3oM_SC" value="dirty" />
</node>
<node concept="3oM_SD" id="cmlg9N9AeM" role="1PaTwD">
<property role="3oM_SC" value="hack" />
</node>
</node>
</node>
<node concept="3cpWs8" id="5MNibENhUYA" role="3cqZAp">
<node concept="3cpWsn" id="5MNibENhUYB" role="3cpWs9">
<property role="TrG5h" value="typeCollector" />
@ -7556,6 +7587,19 @@
</node>
</node>
</node>
<node concept="3SKdUt" id="4duYm8_nthj" role="3cqZAp">
<node concept="1PaTwC" id="4duYm8_nthk" role="3ndbpf">
<node concept="3oM_SD" id="4duYm8_nthm" role="1PaTwD">
<property role="3oM_SC" value="FIXME" />
</node>
<node concept="3oM_SD" id="4duYm8_ntrO" role="1PaTwD">
<property role="3oM_SC" value="hacky" />
</node>
<node concept="3oM_SD" id="4duYm8_nts7" role="1PaTwD">
<property role="3oM_SC" value="stuff" />
</node>
</node>
</node>
<node concept="3clFbJ" id="68BWwmZjQnt" role="3cqZAp">
<node concept="3clFbS" id="68BWwmZjQo4" role="3clFbx">
<node concept="3cpWs8" id="5gVsyvEQ4iV" role="3cqZAp">
@ -9756,6 +9800,83 @@
</node>
</node>
</node>
<node concept="2tJIrI" id="4duYm8_mKaj" role="jymVt" />
<node concept="3clFb_" id="4duYm8_mMNK" role="jymVt">
<property role="TrG5h" value="clearCachedTypesIndex" />
<node concept="37vLTG" id="4duYm8_mV8n" role="3clF46">
<property role="TrG5h" value="unitRef" />
<node concept="3uibUv" id="4duYm8_mWm6" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="3cqZAl" id="4duYm8_mMNM" role="3clF45" />
<node concept="3Tm1VV" id="4duYm8_mMNN" role="1B3o_S" />
<node concept="3clFbS" id="4duYm8_mMNO" role="3clF47">
<node concept="3clFbF" id="4duYm8_ndvw" role="3cqZAp">
<node concept="1rXfSq" id="4duYm8_ndvy" role="3clFbG">
<ref role="37wK5l" node="4duYm8_msa$" resolve="updateHolder" />
<node concept="37vLTw" id="4duYm8_ndvz" role="37wK5m">
<ref role="3cqZAo" node="4duYm8_mV8n" resolve="unitRef" />
</node>
<node concept="1bVj0M" id="4duYm8_ndv$" role="37wK5m">
<node concept="37vLTG" id="4duYm8_ndv_" role="1bW2Oz">
<property role="TrG5h" value="unitRef" />
<node concept="3uibUv" id="4duYm8_ndvA" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="37vLTG" id="4duYm8_ndvB" role="1bW2Oz">
<property role="TrG5h" value="holder" />
<node concept="3uibUv" id="4duYm8_ndvC" role="1tU5fm">
<ref role="3uigEE" node="4Z$O9mrQJw7" resolve="UnitTypecheckingCacheHolder" />
</node>
</node>
<node concept="3clFbS" id="4duYm8_ndvD" role="1bW5cS">
<node concept="1HWtB8" id="4duYm8_ndvF" role="3cqZAp">
<node concept="37vLTw" id="4duYm8_ndvG" role="1HWFw0">
<ref role="3cqZAo" node="4duYm8_ndvB" resolve="holder" />
</node>
<node concept="3clFbS" id="4duYm8_ndvH" role="1HWHxc">
<node concept="3clFbF" id="4duYm8_ndvI" role="3cqZAp">
<node concept="2OqwBi" id="4duYm8_ndvJ" role="3clFbG">
<node concept="37vLTw" id="4duYm8_ndvK" role="2Oq$k0">
<ref role="3cqZAo" node="4duYm8_ndvB" resolve="holder" />
</node>
<node concept="liA8E" id="4duYm8_ndvL" role="2OqNvi">
<ref role="37wK5l" node="3u5wJtfjHf" resolve="clearAll" />
<node concept="37vLTw" id="4duYm8_ndvM" role="37wK5m">
<ref role="3cqZAo" node="4Z$O9mrQIM1" resolve="repository" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3SKdUt" id="4duYm8_nfaC" role="3cqZAp">
<node concept="1PaTwC" id="4duYm8_nfaD" role="3ndbpf">
<node concept="3oM_SD" id="4duYm8_nfaF" role="1PaTwD">
<property role="3oM_SC" value="this" />
</node>
<node concept="3oM_SD" id="4duYm8_nfdN" role="1PaTwD">
<property role="3oM_SC" value="removes" />
</node>
<node concept="3oM_SD" id="4duYm8_nfj9" role="1PaTwD">
<property role="3oM_SC" value="the" />
</node>
<node concept="3oM_SD" id="4duYm8_nfjd" role="1PaTwD">
<property role="3oM_SC" value="mapping" />
</node>
</node>
</node>
<node concept="3clFbF" id="4duYm8_ndvN" role="3cqZAp">
<node concept="10Nm6u" id="4duYm8_ndvO" role="3clFbG" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="51a$_pPN_hS" role="jymVt" />
<node concept="3clFb_" id="7yzrjo0HsyC" role="jymVt">
<property role="TrG5h" value="cachedQueries" />
@ -10005,7 +10126,7 @@
</node>
</node>
</node>
<node concept="2tJIrI" id="5MNibENdpEp" role="jymVt" />
<node concept="2tJIrI" id="4duYm8_kKcT" role="jymVt" />
<node concept="3clFb_" id="5MNibENdrbE" role="jymVt">
<property role="TrG5h" value="setUserObject" />
<node concept="37vLTG" id="5MNibENdvHM" role="3clF46">
@ -10071,64 +10192,6 @@
</node>
</node>
<node concept="2tJIrI" id="5MNibENdEiZ" role="jymVt" />
<node concept="3clFb_" id="5MNibENdCSg" role="jymVt">
<property role="TrG5h" value="clearUserObject" />
<node concept="37vLTG" id="5MNibENdCSh" role="3clF46">
<property role="TrG5h" value="unitRef" />
<node concept="3uibUv" id="5MNibENdCSi" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="3cqZAl" id="5MNibENdCSj" role="3clF45" />
<node concept="3Tm1VV" id="5MNibENdCSk" role="1B3o_S" />
<node concept="3clFbS" id="5MNibENdCSl" role="3clF47">
<node concept="3clFbF" id="5MNibENdGAi" role="3cqZAp">
<node concept="2OqwBi" id="5MNibENdGAk" role="3clFbG">
<node concept="37vLTw" id="5MNibENdGAl" role="2Oq$k0">
<ref role="3cqZAo" node="4Z$O9mrTa0z" resolve="cacheHolders" />
</node>
<node concept="liA8E" id="5MNibENdGAm" role="2OqNvi">
<ref role="37wK5l" to="5zyv:~ConcurrentMap.computeIfPresent(java.lang.Object,java.util.function.BiFunction)" resolve="computeIfPresent" />
<node concept="37vLTw" id="5MNibENdGAn" role="37wK5m">
<ref role="3cqZAo" node="5MNibENdCSh" resolve="unitRef" />
</node>
<node concept="1bVj0M" id="5MNibENdGAo" role="37wK5m">
<node concept="3clFbS" id="5MNibENdGAp" role="1bW5cS">
<node concept="3clFbF" id="5MNibENdGAq" role="3cqZAp">
<node concept="2OqwBi" id="5MNibENdGAr" role="3clFbG">
<node concept="37vLTw" id="5MNibENdGAs" role="2Oq$k0">
<ref role="3cqZAo" node="5MNibENdGAz" resolve="holder" />
</node>
<node concept="liA8E" id="5MNibENdGAt" role="2OqNvi">
<ref role="37wK5l" node="5MNibENddcK" resolve="clearUserObject" />
</node>
</node>
</node>
<node concept="3clFbF" id="5MNibENdGAv" role="3cqZAp">
<node concept="37vLTw" id="5MNibENdGAw" role="3clFbG">
<ref role="3cqZAo" node="5MNibENdGAz" resolve="holder" />
</node>
</node>
</node>
<node concept="37vLTG" id="5MNibENdGAx" role="1bW2Oz">
<property role="TrG5h" value="key" />
<node concept="3uibUv" id="5MNibENdGAy" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="37vLTG" id="5MNibENdGAz" role="1bW2Oz">
<property role="TrG5h" value="holder" />
<node concept="3uibUv" id="5MNibENdGA$" role="1tU5fm">
<ref role="3uigEE" node="4Z$O9mrQJw7" resolve="UnitTypecheckingCacheHolder" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="51a$_pPNqSv" role="jymVt" />
<node concept="3clFb_" id="51a$_pPNw13" role="jymVt">
<property role="TrG5h" value="getOrCreateHolder" />
<node concept="37vLTG" id="51a$_pPNxXf" role="3clF46">
@ -10178,6 +10241,52 @@
</node>
</node>
<node concept="2tJIrI" id="6$gg4kBFKsl" role="jymVt" />
<node concept="3clFb_" id="4duYm8_msa$" role="jymVt">
<property role="TrG5h" value="updateHolder" />
<node concept="37vLTG" id="4duYm8_mxQx" role="3clF46">
<property role="TrG5h" value="unitRef" />
<node concept="3uibUv" id="4duYm8_mzbi" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="37vLTG" id="4duYm8_n1pY" role="3clF46">
<property role="TrG5h" value="updater" />
<node concept="3uibUv" id="4duYm8_p4Bu" role="1tU5fm">
<ref role="3uigEE" to="82uw:~BiFunction" resolve="BiFunction" />
<node concept="3uibUv" id="4duYm8_p5w3" role="11_B2D">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="3uibUv" id="4duYm8_p5Pz" role="11_B2D">
<ref role="3uigEE" node="4Z$O9mrQJw7" resolve="UnitTypecheckingCacheHolder" />
</node>
<node concept="3uibUv" id="4duYm8_p6fa" role="11_B2D">
<ref role="3uigEE" node="4Z$O9mrQJw7" resolve="UnitTypecheckingCacheHolder" />
</node>
</node>
</node>
<node concept="3uibUv" id="4duYm8_mXm6" role="3clF45">
<ref role="3uigEE" node="4Z$O9mrQJw7" resolve="UnitTypecheckingCacheHolder" />
</node>
<node concept="3Tm6S6" id="4duYm8_mzLu" role="1B3o_S" />
<node concept="3clFbS" id="4duYm8_msaC" role="3clF47">
<node concept="3clFbF" id="4duYm8_mzIx" role="3cqZAp">
<node concept="2OqwBi" id="4duYm8_m_fV" role="3clFbG">
<node concept="37vLTw" id="4duYm8_mzIw" role="2Oq$k0">
<ref role="3cqZAo" node="4Z$O9mrTa0z" resolve="cacheHolders" />
</node>
<node concept="liA8E" id="4duYm8_mA7y" role="2OqNvi">
<ref role="37wK5l" to="5zyv:~ConcurrentMap.computeIfPresent(java.lang.Object,java.util.function.BiFunction)" resolve="computeIfPresent" />
<node concept="37vLTw" id="4duYm8_mAQE" role="37wK5m">
<ref role="3cqZAo" node="4duYm8_mxQx" resolve="unitRef" />
</node>
<node concept="37vLTw" id="4duYm8_n6Zb" role="37wK5m">
<ref role="3cqZAo" node="4duYm8_n1pY" resolve="updater" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4Z$O9mrQJqd" role="jymVt" />
<node concept="3Tm1VV" id="4Z$O9mrQIzZ" role="1B3o_S" />
<node concept="3UR2Jj" id="443LGHBoAzB" role="lGtFl">