Support strong convert/coerce queries

This commit is contained in:
Fedor Isakov 2021-04-25 15:09:32 +02:00
parent 870966bd70
commit ab87c8a129
5 changed files with 850 additions and 492 deletions

View File

@ -6737,6 +6737,7 @@
<node concept="2YIFZM" id="3j46jeGEZGP" role="37vLTx">
<ref role="1Pybhc" to="tj24:5EDW3XDYg8Y" resolve="TypecheckingQueries" />
<ref role="37wK5l" to="tj24:5EDW3XDYgsl" resolve="convert" />
<node concept="3clFbT" id="51h1DIGn_5I" role="37wK5m" />
<node concept="37vLTw" id="3j46jeGEZN2" role="37wK5m">
<ref role="3cqZAo" node="3j46jeGPBbX" resolve="from" />
</node>
@ -6821,6 +6822,7 @@
<node concept="2YIFZM" id="3j46jeGXnsM" role="37vLTx">
<ref role="1Pybhc" to="tj24:5EDW3XDYg8Y" resolve="TypecheckingQueries" />
<ref role="37wK5l" to="tj24:5EDW3XEtfON" resolve="coerceConcept" />
<node concept="3clFbT" id="51h1DIGcPgA" role="37wK5m" />
<node concept="37vLTw" id="3j46jeGXnsN" role="37wK5m">
<ref role="3cqZAo" node="3j46jeGX9tL" resolve="source" />
</node>

View File

@ -4300,6 +4300,7 @@
</node>
<node concept="liA8E" id="61G6TdBSPPR" role="2OqNvi">
<ref role="37wK5l" to="tj24:1z4$59iIpuJ" resolve="convertsTo" />
<node concept="3clFbT" id="51h1DIGpblJ" role="37wK5m" />
<node concept="37vLTw" id="3IIf9OA557F" role="37wK5m">
<ref role="3cqZAo" node="3IIf9OA4zN5" resolve="barType" />
</node>
@ -4331,6 +4332,7 @@
</node>
<node concept="liA8E" id="61G6TdBSQky" role="2OqNvi">
<ref role="37wK5l" to="tj24:1z4$59iIpuJ" resolve="convertsTo" />
<node concept="3clFbT" id="51h1DIGpaX0" role="37wK5m" />
<node concept="37vLTw" id="61G6TdBSQk$" role="37wK5m">
<ref role="3cqZAo" node="3IIf9OA4zNj" resolve="quxType" />
</node>

View File

@ -8791,6 +8791,9 @@
<node concept="1rXfSq" id="1RYTbd86JL8" role="37wK5m">
<ref role="37wK5l" node="1RYTbd85bdi" resolve="self" />
</node>
<node concept="37vLTw" id="51h1DIGp2Cd" role="37wK5m">
<ref role="3cqZAo" node="51h1DIGoRTB" resolve="isStrong" />
</node>
<node concept="37vLTw" id="1RYTbd86JL9" role="37wK5m">
<ref role="3cqZAo" node="1z4$59ioODR" resolve="source" />
</node>
@ -8870,6 +8873,11 @@
</node>
</node>
</node>
<node concept="37vLTG" id="51h1DIGoRTB" role="3clF46">
<property role="TrG5h" value="isStrong" />
<property role="3TUv4t" value="true" />
<node concept="10P_77" id="51h1DIGoZ67" role="1tU5fm" />
</node>
<node concept="37vLTG" id="1z4$59ioODR" role="3clF46">
<property role="TrG5h" value="source" />
<property role="3TUv4t" value="true" />
@ -9023,6 +9031,9 @@
<node concept="1rXfSq" id="1RYTbd8854y" role="37wK5m">
<ref role="37wK5l" node="1RYTbd85bdi" resolve="self" />
</node>
<node concept="37vLTw" id="51h1DIGjrW3" role="37wK5m">
<ref role="3cqZAo" node="51h1DIGi8sa" resolve="isStrong" />
</node>
<node concept="37vLTw" id="1RYTbd8854z" role="37wK5m">
<ref role="3cqZAo" node="1z4$59iqHlv" resolve="source" />
</node>
@ -9135,6 +9146,11 @@
</node>
</node>
</node>
<node concept="37vLTG" id="51h1DIGi8sa" role="3clF46">
<property role="TrG5h" value="isStrong" />
<property role="3TUv4t" value="true" />
<node concept="10P_77" id="51h1DIGig9u" role="1tU5fm" />
</node>
<node concept="37vLTG" id="1z4$59iqHlv" role="3clF46">
<property role="TrG5h" value="source" />
<property role="3TUv4t" value="true" />
@ -9286,6 +9302,9 @@
<node concept="1rXfSq" id="1RYTbd87GzH" role="37wK5m">
<ref role="37wK5l" node="1RYTbd85bdi" resolve="self" />
</node>
<node concept="37vLTw" id="51h1DIGj7pl" role="37wK5m">
<ref role="3cqZAo" node="51h1DIGihxt" resolve="isStrong" />
</node>
<node concept="37vLTw" id="1RYTbd87GzI" role="37wK5m">
<ref role="3cqZAo" node="1RYTbd7MH$D" resolve="source" />
</node>
@ -9397,6 +9416,11 @@
</node>
</node>
</node>
<node concept="37vLTG" id="51h1DIGihxt" role="3clF46">
<property role="TrG5h" value="isStrong" />
<property role="3TUv4t" value="true" />
<node concept="10P_77" id="51h1DIGiouz" role="1tU5fm" />
</node>
<node concept="37vLTG" id="1RYTbd7MH$D" role="3clF46">
<property role="TrG5h" value="source" />
<property role="3TUv4t" value="true" />
@ -9810,6 +9834,10 @@
<node concept="3qTvmN" id="1z4$59j0yD8" role="11_B2D" />
</node>
</node>
<node concept="37vLTG" id="51h1DIGnWHv" role="3clF46">
<property role="TrG5h" value="isStrong" />
<node concept="10P_77" id="51h1DIGo3dY" role="1tU5fm" />
</node>
<node concept="37vLTG" id="7yzrjo0K2me" role="3clF46">
<property role="TrG5h" value="source" />
<node concept="3Tqbb2" id="7yzrjo0K2mf" role="1tU5fm" />
@ -9835,6 +9863,9 @@
<node concept="2YIFZM" id="5EDW3XEtyNU" role="33vP2m">
<ref role="37wK5l" node="5EDW3XDYgsl" resolve="convert" />
<ref role="1Pybhc" node="5EDW3XDYg8Y" resolve="TypecheckingQueries" />
<node concept="37vLTw" id="51h1DIGoh2K" role="37wK5m">
<ref role="3cqZAo" node="51h1DIGnWHv" resolve="isStrong" />
</node>
<node concept="37vLTw" id="5EDW3XEtyNV" role="37wK5m">
<ref role="3cqZAo" node="7yzrjo0K2me" resolve="source" />
</node>
@ -9982,6 +10013,10 @@
<node concept="3qTvmN" id="1z4$59j0MwE" role="11_B2D" />
</node>
</node>
<node concept="37vLTG" id="51h1DIGitQ8" role="3clF46">
<property role="TrG5h" value="isStrong" />
<node concept="10P_77" id="51h1DIGizqc" role="1tU5fm" />
</node>
<node concept="37vLTG" id="7yzrjo0OFdd" role="3clF46">
<property role="TrG5h" value="source" />
<node concept="3Tqbb2" id="7yzrjo0OKaU" role="1tU5fm" />
@ -10060,6 +10095,9 @@
<node concept="2YIFZM" id="1RYTbd7TPAP" role="37vLTx">
<ref role="37wK5l" node="5EDW3XDYNBn" resolve="coerce" />
<ref role="1Pybhc" node="5EDW3XDYg8Y" resolve="TypecheckingQueries" />
<node concept="37vLTw" id="51h1DIGiRBD" role="37wK5m">
<ref role="3cqZAo" node="51h1DIGitQ8" resolve="isStrong" />
</node>
<node concept="37vLTw" id="1RYTbd7TPAQ" role="37wK5m">
<ref role="3cqZAo" node="7yzrjo0OFdd" resolve="source" />
</node>
@ -10102,6 +10140,9 @@
<node concept="2YIFZM" id="5EDW3XEt3e$" role="37vLTx">
<ref role="1Pybhc" node="5EDW3XDYg8Y" resolve="TypecheckingQueries" />
<ref role="37wK5l" node="5EDW3XEtfON" resolve="coerceConcept" />
<node concept="37vLTw" id="51h1DIGiYK5" role="37wK5m">
<ref role="3cqZAo" node="51h1DIGitQ8" resolve="isStrong" />
</node>
<node concept="37vLTw" id="7yzrjo0PbTC" role="37wK5m">
<ref role="3cqZAo" node="7yzrjo0OFdd" resolve="source" />
</node>
@ -14988,6 +15029,11 @@
<node concept="2tJIrI" id="5EDW3XDYgaw" role="jymVt" />
<node concept="2YIFZL" id="5EDW3XDYgsl" role="jymVt">
<property role="TrG5h" value="convert" />
<node concept="37vLTG" id="51h1DIGnray" role="3clF46">
<property role="TrG5h" value="isStrong" />
<property role="3TUv4t" value="true" />
<node concept="10P_77" id="51h1DIGnrpd" role="1tU5fm" />
</node>
<node concept="37vLTG" id="5EDW3XDY_GP" role="3clF46">
<property role="TrG5h" value="from" />
<property role="3TUv4t" value="true" />
@ -15037,6 +15083,22 @@
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="51h1DIGnpOe" role="jymVt" />
<node concept="3clFb_" id="51h1DIGnpVo" role="jymVt">
<property role="TrG5h" value="isStrong" />
<node concept="3Tm1VV" id="51h1DIGnpVq" role="1B3o_S" />
<node concept="10P_77" id="51h1DIGnpVr" role="3clF45" />
<node concept="3clFbS" id="51h1DIGnpVw" role="3clF47">
<node concept="3clFbF" id="51h1DIGnrDd" role="3cqZAp">
<node concept="37vLTw" id="51h1DIGnrDc" role="3clFbG">
<ref role="3cqZAo" node="51h1DIGnray" resolve="isStrong" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="51h1DIGnpVx" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
</node>
</node>
</node>
@ -15050,6 +15112,11 @@
<node concept="2tJIrI" id="5EDW3XDY_JV" role="jymVt" />
<node concept="2YIFZL" id="5EDW3XDYNBn" role="jymVt">
<property role="TrG5h" value="coerce" />
<node concept="37vLTG" id="51h1DIGcnjU" role="3clF46">
<property role="TrG5h" value="isStrong" />
<property role="3TUv4t" value="true" />
<node concept="10P_77" id="51h1DIGcn_g" role="1tU5fm" />
</node>
<node concept="37vLTG" id="5EDW3XDYNCZ" role="3clF46">
<property role="TrG5h" value="source" />
<property role="3TUv4t" value="true" />
@ -15138,6 +15205,21 @@
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="3clFb_" id="51h1DIGcnFE" role="jymVt">
<property role="TrG5h" value="isStrong" />
<node concept="3Tm1VV" id="51h1DIGcnFF" role="1B3o_S" />
<node concept="10P_77" id="51h1DIGcnFG" role="3clF45" />
<node concept="2AHcQZ" id="51h1DIGcnFK" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
<node concept="3clFbS" id="51h1DIGcnFM" role="3clF47">
<node concept="3clFbF" id="51h1DIGcpDx" role="3cqZAp">
<node concept="37vLTw" id="51h1DIGcpDu" role="3clFbG">
<ref role="3cqZAo" node="51h1DIGcnjU" resolve="isStrong" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -15151,6 +15233,11 @@
<node concept="2tJIrI" id="5EDW3XDY_Kg" role="jymVt" />
<node concept="2YIFZL" id="5EDW3XEtfON" role="jymVt">
<property role="TrG5h" value="coerceConcept" />
<node concept="37vLTG" id="51h1DIGcFCk" role="3clF46">
<property role="TrG5h" value="isStrong" />
<property role="3TUv4t" value="true" />
<node concept="10P_77" id="51h1DIGcFWX" role="1tU5fm" />
</node>
<node concept="37vLTG" id="5EDW3XEtfOO" role="3clF46">
<property role="TrG5h" value="source" />
<property role="3TUv4t" value="true" />
@ -15239,6 +15326,21 @@
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="3clFb_" id="51h1DIGcG2j" role="jymVt">
<property role="TrG5h" value="isStrong" />
<node concept="3Tm1VV" id="51h1DIGcG2k" role="1B3o_S" />
<node concept="10P_77" id="51h1DIGcG2l" role="3clF45" />
<node concept="2AHcQZ" id="51h1DIGcG2p" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
<node concept="3clFbS" id="51h1DIGcG2r" role="3clF47">
<node concept="3clFbF" id="51h1DIGcHXe" role="3cqZAp">
<node concept="37vLTw" id="51h1DIGcHXb" role="3clFbG">
<ref role="3cqZAo" node="51h1DIGcFCk" resolve="isStrong" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -15560,6 +15662,13 @@
<node concept="3Tm1VV" id="5EDW3XDYOe8" role="1B3o_S" />
<node concept="3clFbS" id="5EDW3XDYOe9" role="3clF47" />
</node>
<node concept="2tJIrI" id="51h1DIGnodO" role="jymVt" />
<node concept="3clFb_" id="51h1DIGnofl" role="jymVt">
<property role="TrG5h" value="isStrong" />
<node concept="3clFbS" id="51h1DIGnofo" role="3clF47" />
<node concept="3Tm1VV" id="51h1DIGnofp" role="1B3o_S" />
<node concept="10P_77" id="51h1DIGnoeF" role="3clF45" />
</node>
<node concept="2tJIrI" id="5EDW3XDYOgk" role="jymVt" />
<node concept="3Tm1VV" id="5EDW3XDYNS8" role="1B3o_S" />
<node concept="3uibUv" id="5EDW3XDYNTf" role="3HQHJm">
@ -15600,6 +15709,13 @@
<node concept="3Tm1VV" id="5EDW3XDYO58" role="1B3o_S" />
<node concept="3clFbS" id="5EDW3XDYO59" role="3clF47" />
</node>
<node concept="2tJIrI" id="51h1DIGcbeC" role="jymVt" />
<node concept="3clFb_" id="51h1DIGcbZg" role="jymVt">
<property role="TrG5h" value="isStrong" />
<node concept="3clFbS" id="51h1DIGcbZj" role="3clF47" />
<node concept="3Tm1VV" id="51h1DIGcbZk" role="1B3o_S" />
<node concept="10P_77" id="51h1DIGcbY9" role="3clF45" />
</node>
<node concept="2tJIrI" id="5EDW3XDYNVS" role="jymVt" />
<node concept="3Tm1VV" id="5EDW3XDYNTT" role="1B3o_S" />
<node concept="3uibUv" id="5EDW3XDYNVf" role="3HQHJm">

View File

@ -582,6 +582,7 @@
</node>
<node concept="liA8E" id="61G6TdBTpbU" role="2OqNvi">
<ref role="37wK5l" to="tj24:1z4$59iIxBp" resolve="coerceTo" />
<node concept="3clFbT" id="t7AM9FuuXn" role="37wK5m" />
<node concept="37vLTw" id="4pwDyRC1KSJ" role="37wK5m">
<ref role="3cqZAo" node="4pwDyRC1qW9" resolve="typeofa" />
</node>
@ -735,6 +736,7 @@
</node>
<node concept="liA8E" id="61G6TdBTqS9" role="2OqNvi">
<ref role="37wK5l" to="tj24:1z4$59iIxBp" resolve="coerceTo" />
<node concept="3clFbT" id="t7AM9Fuv0Z" role="37wK5m" />
<node concept="37vLTw" id="4pwDyRC4MUC" role="37wK5m">
<ref role="3cqZAo" node="4pwDyRC4$uj" resolve="typeofs" />
</node>
@ -883,6 +885,7 @@
</node>
<node concept="liA8E" id="61G6TdBTszG" role="2OqNvi">
<ref role="37wK5l" to="tj24:1z4$59iIxBp" resolve="coerceTo" />
<node concept="3clFbT" id="t7AM9Fuv4$" role="37wK5m" />
<node concept="37vLTw" id="4pwDyRC1ZNe" role="37wK5m">
<ref role="3cqZAo" node="4pwDyRC1RnR" resolve="typeofm" />
</node>