Fix typing rule for FieldReferenceOperation

This commit is contained in:
Grigorii Kirgizov 2019-10-24 19:38:42 +03:00
parent 9ec95421bf
commit 8e1633b0fb
2 changed files with 192 additions and 104 deletions

View File

@ -2079,7 +2079,7 @@
</node>
<node concept="3cpWs8" id="12QmIo_cAgQ" role="3cqZAp">
<node concept="3cpWsn" id="12QmIo_cAgR" role="3cpWs9">
<property role="TrG5h" value="typeVariableDeclaration" />
<property role="TrG5h" value="tvds" />
<node concept="2I9FWS" id="12QmIo_cAgS" role="1tU5fm">
<ref role="2I9WkF" to="tpee:g96euPO" resolve="TypeVariableDeclaration" />
</node>
@ -2093,43 +2093,41 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="12QmIo_cAh2" role="3cqZAp">
<node concept="3cpWsn" id="12QmIo_cAh3" role="3cpWs9">
<node concept="3cpWs8" id="2PEDwPShzZh" role="3cqZAp">
<node concept="3cpWsn" id="2PEDwPShzZi" role="3cpWs9">
<property role="TrG5h" value="subs" />
<node concept="3rvAFt" id="12QmIo_cAh4" role="1tU5fm">
<node concept="3Tqbb2" id="12QmIo_cAh5" role="3rvQeY" />
<node concept="26uTi9" id="12QmIo_cAh6" role="3rvSg0" />
<node concept="3uibUv" id="2PEDwPShzZj" role="1tU5fm">
<ref role="3uigEE" node="6EY0p2w8VOq" resolve="TypeVarSubstitution" />
</node>
<node concept="2ShNRf" id="12QmIo_cAh7" role="33vP2m">
<node concept="3rGOSV" id="12QmIo_cAh8" role="2ShVmc">
<node concept="3Tqbb2" id="12QmIo_cAh9" role="3rHrn6" />
<node concept="26uTi9" id="12QmIo_cAha" role="3rHtpV" />
</node>
</node>
</node>
</node>
<node concept="2Gpval" id="12QmIo_cAhb" role="3cqZAp">
<node concept="2GrKxI" id="12QmIo_cAhc" role="2Gsz3X">
<property role="TrG5h" value="tv" />
</node>
<node concept="3clFbS" id="12QmIo_cAhd" role="2LFqv$">
<node concept="3clFbF" id="12QmIo_cAhe" role="3cqZAp">
<node concept="37vLTI" id="12QmIo_cAhf" role="3clFbG">
<node concept="10Nm6u" id="12QmIo_cAhg" role="37vLTx" />
<node concept="3EllGN" id="12QmIo_cAhh" role="37vLTJ">
<node concept="2GrUjf" id="12QmIo_cAhi" role="3ElVtu">
<ref role="2Gs0qQ" node="12QmIo_cAhc" resolve="tv" />
<node concept="2ShNRf" id="2PEDwPShzZk" role="33vP2m">
<node concept="1pGfFk" id="2PEDwPShzZl" role="2ShVmc">
<ref role="37wK5l" node="6EY0p2wsoT6" resolve="TypeVarSubstitution" />
<node concept="2OqwBi" id="2PEDwPShzZm" role="37wK5m">
<node concept="37vLTw" id="2PEDwPSh_6a" role="2Oq$k0">
<ref role="3cqZAo" node="12QmIo_cAgR" resolve="tvds" />
</node>
<node concept="37vLTw" id="12QmIo_cAhj" role="3ElQJh">
<ref role="3cqZAo" node="12QmIo_cAh3" resolve="subs" />
<node concept="3$u5V9" id="2PEDwPShzZo" role="2OqNvi">
<node concept="1bVj0M" id="2PEDwPShzZp" role="23t8la">
<node concept="3clFbS" id="2PEDwPShzZq" role="1bW5cS">
<node concept="3clFbF" id="2PEDwPShzZr" role="3cqZAp">
<node concept="2OqwBi" id="2PEDwPShzZs" role="3clFbG">
<node concept="37vLTw" id="2PEDwPShzZt" role="2Oq$k0">
<ref role="3cqZAo" node="2PEDwPShzZv" resolve="it" />
</node>
<node concept="iZEcu" id="2PEDwPShzZu" role="2OqNvi" />
</node>
</node>
</node>
<node concept="Rh6nW" id="2PEDwPShzZv" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="2PEDwPShzZw" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="12QmIo_cAhk" role="2GsD0m">
<ref role="3cqZAo" node="12QmIo_cAgR" resolve="typeVariableDeclaration" />
</node>
</node>
<node concept="3clFbH" id="12QmIo_cBVc" role="3cqZAp" />
<node concept="1nLNNL" id="12QmIo_cCic" role="3cqZAp">
@ -2138,78 +2136,162 @@
<node concept="3I6sU6" id="12QmIo_cDg7" role="3Ip0Jz">
<node concept="3IrJb3" id="12QmIo_cDk2" role="3I6sU7">
<node concept="3clFbS" id="12QmIo_cDk3" role="3IrJb0">
<node concept="1$59iH" id="12QmIo_cDk4" role="3cqZAp">
<ref role="1$58ik" node="6hqFpWmN1Sp" resolve="substitution" />
<node concept="2ShNRf" id="6EY0p2vSJz_" role="1$59jn">
<node concept="1pGfFk" id="6EY0p2waYpG" role="2ShVmc">
<ref role="37wK5l" node="6EY0p2w8VPo" resolve="TypeVarSubstitution" />
<node concept="3SKdUt" id="6cPUNFQM5oc" role="3cqZAp">
<node concept="1PaTwC" id="6cPUNFQM5od" role="3ndbpf">
<node concept="3oM_SD" id="6cPUNFQM5of" role="1PaTwD">
<property role="3oM_SC" value="capture" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7N0" role="1PaTwD">
<property role="3oM_SC" value="type" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7N3" role="1PaTwD">
<property role="3oM_SC" value="variable" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7N7" role="1PaTwD">
<property role="3oM_SC" value="args" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7Nc" role="1PaTwD">
<property role="3oM_SC" value="with" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7Ni" role="1PaTwD">
<property role="3oM_SC" value="a" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7Np" role="1PaTwD">
<property role="3oM_SC" value="help" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7Nx" role="1PaTwD">
<property role="3oM_SC" value="of" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7NE" role="1PaTwD">
<property role="3oM_SC" value="convertsTo" />
</node>
</node>
<node concept="3clFbS" id="12QmIo_cDk6" role="1$59iG">
<node concept="3SKdUt" id="12QmIo_cDk7" role="3cqZAp">
<node concept="1PaTwC" id="589APehYxDH" role="3ndbpf">
<node concept="3oM_SD" id="589APehYxDI" role="1PaTwD">
<property role="3oM_SC" value="using" />
</node>
<node concept="3oM_SD" id="589APehYxDJ" role="1PaTwD">
<property role="3oM_SC" value="substitution" />
</node>
<node concept="3oM_SD" id="589APehYxDK" role="1PaTwD">
<property role="3oM_SC" value="to" />
</node>
<node concept="3oM_SD" id="589APehYxDL" role="1PaTwD">
<property role="3oM_SC" value="capture" />
</node>
<node concept="3oM_SD" id="589APehYxDM" role="1PaTwD">
<property role="3oM_SC" value="inference" />
</node>
<node concept="3oM_SD" id="589APehYxDN" role="1PaTwD">
<property role="3oM_SC" value="vars" />
</node>
<node concept="3Aqczg" id="6cPUNFQEsUr" role="3cqZAp">
<node concept="3A8Hvi" id="6cPUNFQEsUl" role="3Aqpz8">
<node concept="a7P8L" id="6cPUNFQEvn7" role="3A8wtg">
<ref role="a7OzE" node="12QmIo_cClo" resolve="OpClsType" />
</node>
<node concept="ns1u0" id="6cPUNFQEtqh" role="3A8w4Q">
<ref role="ns1xF" node="JOGAOsVt2a" resolve="classifierType" />
<node concept="nsMwS" id="6cPUNFQEtxT" role="ns1xD">
<ref role="nsMwP" node="JOGAOsVt2e" resolve="parameter" />
<node concept="1nq8_$" id="6cPUNFQEtHo" role="nsMwV">
<node concept="a7P8L" id="6cPUNFQEtLi" role="1nq8_t">
<ref role="a7OzE" node="12QmIo_cClp" resolve="OpClsTypevars" />
</node>
</node>
</node>
</node>
<node concept="3Aqczg" id="12QmIo_cDk9" role="3cqZAp">
<node concept="B_ONY" id="12QmIo_cDka" role="3Aqpz8">
<ref role="17QRF" node="7XRk2O3zfxt" resolve="classifierType" />
<node concept="a7P8L" id="12QmIo_cDkb" role="B_OMz">
<ref role="a7OzE" node="12QmIo_cClo" resolve="OpClsType" />
</node>
</node>
<node concept="3Aqczg" id="6cPUNFQEs6i" role="3cqZAp">
<node concept="3Aqt3T" id="6cPUNFQEs6j" role="3Aqpz8">
<ref role="3AqCNq" node="3Qp4N06bUPu" resolve="convertsTo" />
<node concept="a7P8L" id="6cPUNFQEsEa" role="3AunhB">
<ref role="a7OzE" node="12QmIo_cCll" resolve="OpndType" />
</node>
<node concept="a7P8L" id="6cPUNFQEv0a" role="3AunhB">
<ref role="a7OzE" node="12QmIo_cClo" resolve="OpClsType" />
</node>
</node>
</node>
<node concept="3SKdUt" id="6cPUNFQM7NO" role="3cqZAp">
<node concept="1PaTwC" id="6cPUNFQM7NP" role="3ndbpf">
<node concept="3oM_SD" id="6cPUNFQM7Q$" role="1PaTwD">
<property role="3oM_SC" value="use" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7QA" role="1PaTwD">
<property role="3oM_SC" value="substitution" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7QD" role="1PaTwD">
<property role="3oM_SC" value="to" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7QH" role="1PaTwD">
<property role="3oM_SC" value="correctly" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7QM" role="1PaTwD">
<property role="3oM_SC" value="instantiate" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7QS" role="1PaTwD">
<property role="3oM_SC" value="a" />
</node>
<node concept="3oM_SD" id="6cPUNFQM8mm" role="1PaTwD">
<property role="3oM_SC" value="type" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7QZ" role="1PaTwD">
<property role="3oM_SC" value="of" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7R7" role="1PaTwD">
<property role="3oM_SC" value="the" />
</node>
<node concept="3oM_SD" id="6cPUNFQM7YZ" role="1PaTwD">
<property role="3oM_SC" value="field" />
</node>
</node>
</node>
<node concept="1Dw8fO" id="2PEDwPShI6L" role="3cqZAp">
<node concept="3clFbS" id="2PEDwPShI6N" role="2LFqv$">
<node concept="3clFbF" id="2PEDwPShRzO" role="3cqZAp">
<node concept="2OqwBi" id="2PEDwPShRDy" role="3clFbG">
<node concept="37vLTw" id="2PEDwPShRzM" role="2Oq$k0">
<ref role="3cqZAo" node="2PEDwPShzZi" resolve="subs" />
</node>
<node concept="1Q7qz5" id="12QmIo_cDkc" role="150vd">
<node concept="1Q7q5z" id="12QmIo_cDkd" role="1Q7qz4">
<ref role="1Q7tcy" node="7XRk2O3zfpB" resolve="cls1" />
<node concept="37vLTw" id="12QmIo_cDvM" role="1KxKwY">
<ref role="3cqZAo" node="12QmIo_cBBl" resolve="cls" />
<node concept="liA8E" id="2PEDwPShRSF" role="2OqNvi">
<ref role="37wK5l" node="6EY0p2w8YaM" resolve="substitute" />
<node concept="2OqwBi" id="2PEDwPShVHt" role="37wK5m">
<node concept="1y4W85" id="2PEDwPShUA5" role="2Oq$k0">
<node concept="37vLTw" id="2PEDwPShUL6" role="1y58nS">
<ref role="3cqZAo" node="2PEDwPShI6O" resolve="i" />
</node>
<node concept="37vLTw" id="2PEDwPShS4p" role="1y566C">
<ref role="3cqZAo" node="12QmIo_cAgR" resolve="tvds" />
</node>
</node>
<node concept="iZEcu" id="2PEDwPShW3Y" role="2OqNvi" />
</node>
<node concept="1nq8_$" id="2PEDwPShWlj" role="37wK5m">
<node concept="a7P8L" id="2PEDwPShWlh" role="1nq8_t">
<ref role="a7OzE" node="12QmIo_cClp" resolve="OpClsTypevars" />
<node concept="37vLTw" id="2PEDwPShW_S" role="3gCZO6">
<ref role="3cqZAo" node="2PEDwPShI6O" resolve="i" />
</node>
</node>
</node>
<node concept="1Q7q5z" id="12QmIo_cDkf" role="1Q7qz4">
<ref role="1Q7tcy" node="7XRk2O3zfvv" resolve="arguments" />
<node concept="10Nm6u" id="12QmIo_cDkg" role="1KxKwY" />
</node>
</node>
</node>
</node>
<node concept="3Aqczg" id="12QmIo_cDkh" role="3cqZAp">
<node concept="3Aqt3T" id="12QmIo_cDki" role="3Aqpz8">
<ref role="3AqCNq" node="3wxtToEiJ2p" resolve="capture" />
<node concept="a7P8L" id="12QmIo_cDkj" role="3AunhB">
<ref role="a7OzE" node="12QmIo_cCln" resolve="OpndTypeCap" />
</node>
<node concept="a7P8L" id="12QmIo_cDkk" role="3AunhB">
<ref role="a7OzE" node="12QmIo_cCll" resolve="OpndType" />
</node>
</node>
</node>
<node concept="3cpWsn" id="2PEDwPShI6O" role="1Duv9x">
<property role="TrG5h" value="i" />
<node concept="10Oyi0" id="2PEDwPShI7C" role="1tU5fm" />
<node concept="3cmrfG" id="2PEDwPShIft" role="33vP2m">
<property role="3cmrfH" value="0" />
</node>
<node concept="3Aqczg" id="12QmIo_cDkl" role="3cqZAp">
<node concept="3Aqt3T" id="12QmIo_cDkm" role="3Aqpz8">
<ref role="3AqCNq" node="3Qp4N06bUPu" resolve="convertsTo" />
<node concept="a7P8L" id="12QmIo_cDkn" role="3AunhB">
<ref role="a7OzE" node="12QmIo_cCln" resolve="OpndTypeCap" />
</node>
<node concept="a7P8L" id="12QmIo_cDko" role="3AunhB">
<ref role="a7OzE" node="12QmIo_cClo" resolve="OpClsType" />
</node>
</node>
<node concept="3eOVzh" id="2PEDwPShJ86" role="1Dwp0S">
<node concept="2OqwBi" id="2PEDwPShMnd" role="3uHU7w">
<node concept="37vLTw" id="2PEDwPShJca" role="2Oq$k0">
<ref role="3cqZAo" node="12QmIo_cAgR" resolve="tvds" />
</node>
<node concept="34oBXx" id="2PEDwPShQgX" role="2OqNvi" />
</node>
<node concept="37vLTw" id="2PEDwPShIfA" role="3uHU7B">
<ref role="3cqZAo" node="2PEDwPShI6O" resolve="i" />
</node>
</node>
<node concept="3uNrnE" id="2PEDwPShRmV" role="1Dwrff">
<node concept="37vLTw" id="2PEDwPShRmX" role="2$L3a6">
<ref role="3cqZAo" node="2PEDwPShI6O" resolve="i" />
</node>
</node>
</node>
<node concept="1$59iH" id="12QmIo_cDk4" role="3cqZAp">
<ref role="1$58ik" node="6hqFpWmN1Sp" resolve="substitution" />
<node concept="37vLTw" id="2PEDwPShHFe" role="1$59jn">
<ref role="3cqZAo" node="2PEDwPShzZi" resolve="subs" />
</node>
<node concept="3clFbS" id="12QmIo_cDk6" role="1$59iG">
<node concept="3Aqczg" id="12QmIo_cDkp" role="3cqZAp">
<node concept="1imXTs" id="12QmIo_cDkq" role="3Aqpz8">
<node concept="a7P8L" id="12QmIo_cDkr" role="1imXu6">
@ -2274,17 +2356,12 @@
<property role="TrG5h" value="OpClsType" />
</node>
<node concept="aZer4" id="12QmIo_cClp" role="3XD1gS">
<property role="TrG5h" value="OpClsTypevar" />
<property role="TrG5h" value="OpClsTypevars" />
<node concept="2OqwBi" id="12QmIo_cClq" role="3gj$pD">
<node concept="2OqwBi" id="12QmIo_cClr" role="2Oq$k0">
<node concept="37vLTw" id="12QmIo_cCLR" role="2Oq$k0">
<ref role="3cqZAo" node="12QmIo_cBBl" resolve="cls" />
</node>
<node concept="3Tsc0h" id="12QmIo_cClt" role="2OqNvi">
<ref role="3TtcxE" to="tpee:g96eVAe" resolve="typeVariableDeclaration" />
</node>
</node>
<node concept="34oBXx" id="12QmIo_cClu" role="2OqNvi" />
<node concept="37vLTw" id="2PEDwPShWWz" role="2Oq$k0">
<ref role="3cqZAo" node="12QmIo_cAgR" resolve="tvds" />
</node>
</node>
</node>
<node concept="aZer4" id="12QmIo_cClv" role="3XD1gS">
@ -2311,7 +2388,7 @@
</node>
</node>
</node>
<node concept="a7P8L" id="12QmIo_cCGd" role="3AunhB">
<node concept="a7P8L" id="6cPUNFQEuij" role="3AunhB">
<ref role="a7OzE" node="12QmIo_cCll" resolve="OpndType" />
</node>
</node>

View File

@ -277,16 +277,27 @@
</node>
</node>
</node>
<node concept="3cpWs6" id="3g$8GQCaQ0m" role="3cqZAp">
<node concept="2OqwBi" id="3g$8GQCaQOh" role="3cqZAk">
<node concept="37vLTw" id="3g$8GQCaQox" role="2Oq$k0">
<ref role="3cqZAo" node="3g$8GQCaQou" resolve="foo" />
<node concept="3cpWs8" id="2PEDwPShpfH" role="3cqZAp">
<node concept="3cpWsn" id="2PEDwPShpfI" role="3cpWs9">
<property role="TrG5h" value="testStr" />
<node concept="3uibUv" id="2PEDwPShpfJ" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~String" resolve="String" />
</node>
<node concept="2OwXpG" id="3g$8GQCaR1I" role="2OqNvi">
<ref role="2Oxat5" node="3g$8GQCaPRz" resolve="theField" />
<node concept="2OqwBi" id="2PEDwPShpxq" role="33vP2m">
<node concept="37vLTw" id="2PEDwPShpu7" role="2Oq$k0">
<ref role="3cqZAo" node="3g$8GQCaQou" resolve="foo" />
</node>
<node concept="2OwXpG" id="2PEDwPShpCO" role="2OqNvi">
<ref role="2Oxat5" node="3g$8GQCaPRz" resolve="theField" />
</node>
</node>
</node>
</node>
<node concept="3cpWs6" id="2PEDwPShpPn" role="3cqZAp">
<node concept="37vLTw" id="2PEDwPShqNQ" role="3cqZAk">
<ref role="3cqZAo" node="2PEDwPShpfI" resolve="testStr" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="2BnJViikS_Z" role="jymVt" />