Handle cases with free & inference variables in containment, remove few unneeded rules (MPSCR-11)
Remove rules which handle capture+inference var case separately: it's already handled. Remove rule with error on bound which shouldn't be triggered with new hasBound semantics. Add symmetric rule for case value+inference var: types can be inferred nevermind relation direction. Add rules for free vars without bounds (these ain't inference vars). Need in such vars arise when e.g. params in classifierType terms must be somehow accessed. It's used in MethodCall rules.
This commit is contained in:
parent
8744263cb4
commit
a2f8f5e6f3
File diff suppressed because it is too large
Load Diff
|
|
@ -1695,7 +1695,6 @@
|
|||
</node>
|
||||
</node>
|
||||
<node concept="2tJIrI" id="2PEDwPSdgqw" role="jymVt" />
|
||||
<node concept="2tJIrI" id="2PEDwPSdka7" role="jymVt" />
|
||||
<node concept="2tJIrI" id="2PEDwPSdbcl" role="jymVt" />
|
||||
<node concept="312cEu" id="2PEDwPSdka8" role="jymVt">
|
||||
<property role="TrG5h" value="Demo" />
|
||||
|
|
@ -2255,6 +2254,15 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="37vLTG" id="2Cji6ER9GNr" role="3clF46">
|
||||
<property role="TrG5h" value="eTSer" />
|
||||
<node concept="3uibUv" id="2Cji6ER9H2K" role="1tU5fm">
|
||||
<ref role="3uigEE" node="2PEDwPSdka2" resolve="Containment.E" />
|
||||
<node concept="16syzq" id="2Cji6ER9Hcw" role="11_B2D">
|
||||
<ref role="16sUi3" node="2Cji6ER9FVq" resolve="TSer" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbS" id="2Cji6ER7duE" role="3clF47">
|
||||
<node concept="3SKdUt" id="2Cji6ER7duF" role="3cqZAp">
|
||||
<node concept="1PaTwC" id="2Cji6ER7duG" role="3ndbpf">
|
||||
|
|
@ -2329,9 +2337,106 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbF" id="2Cji6ER9IZ8" role="3cqZAp">
|
||||
<node concept="37vLTI" id="2Cji6ER9Jia" role="3clFbG">
|
||||
<node concept="37vLTw" id="2Cji6ER9JuE" role="37vLTx">
|
||||
<ref role="3cqZAo" node="2Cji6ER9GNr" resolve="eTSer" />
|
||||
</node>
|
||||
<node concept="37vLTw" id="2Cji6ER9IZ6" role="37vLTJ">
|
||||
<ref role="3cqZAo" node="2Cji6ER7duv" resolve="eeSer" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbF" id="2Cji6ER9S$l" role="3cqZAp">
|
||||
<node concept="37vLTI" id="2Cji6ER9SOP" role="3clFbG">
|
||||
<node concept="37vLTw" id="2Cji6ER9SXd" role="37vLTx">
|
||||
<ref role="3cqZAo" node="2Cji6ER7duv" resolve="eeSer" />
|
||||
</node>
|
||||
<node concept="37vLTw" id="2Cji6ER9S$j" role="37vLTJ">
|
||||
<ref role="3cqZAo" node="2Cji6ER9GNr" resolve="eTSer" />
|
||||
</node>
|
||||
<node concept="1U20sH" id="2Cji6ER9T9D" role="lGtFl">
|
||||
<property role="1U20sK" value="error" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbH" id="2Cji6ER9IR6" role="3cqZAp" />
|
||||
<node concept="3clFbF" id="2Cji6ER9DgY" role="3cqZAp">
|
||||
<node concept="2OqwBi" id="2Cji6ER9Dog" role="3clFbG">
|
||||
<node concept="37vLTw" id="2Cji6ER9DgW" role="2Oq$k0">
|
||||
<ref role="3cqZAo" node="2Cji6ER7duv" resolve="eeSer" />
|
||||
</node>
|
||||
<node concept="liA8E" id="2Cji6ER9D$I" role="2OqNvi">
|
||||
<ref role="37wK5l" node="2PEDwPSdk9O" resolve="add" />
|
||||
<node concept="2OqwBi" id="2Cji6ER9DV3" role="37wK5m">
|
||||
<node concept="37vLTw" id="2Cji6ER9DJD" role="2Oq$k0">
|
||||
<ref role="3cqZAo" node="2Cji6ER7dus" resolve="eStr" />
|
||||
</node>
|
||||
<node concept="liA8E" id="2Cji6ER9E82" role="2OqNvi">
|
||||
<ref role="37wK5l" node="4ObboSeq3Tj" resolve="get" />
|
||||
</node>
|
||||
<node concept="1U20sH" id="2Cji6ER9OKX" role="lGtFl">
|
||||
<property role="1U20sK" value="error" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbF" id="2Cji6ER9EB_" role="3cqZAp">
|
||||
<node concept="2OqwBi" id="2Cji6ER9EKi" role="3clFbG">
|
||||
<node concept="37vLTw" id="2Cji6ER9EBz" role="2Oq$k0">
|
||||
<ref role="3cqZAo" node="2Cji6ER7duv" resolve="eeSer" />
|
||||
</node>
|
||||
<node concept="liA8E" id="2Cji6ER9ETz" role="2OqNvi">
|
||||
<ref role="37wK5l" node="2PEDwPSdk9O" resolve="add" />
|
||||
<node concept="2OqwBi" id="2Cji6ER9Igg" role="37wK5m">
|
||||
<node concept="37vLTw" id="2Cji6ER9HU$" role="2Oq$k0">
|
||||
<ref role="3cqZAo" node="2Cji6ER9GNr" resolve="eTSer" />
|
||||
</node>
|
||||
<node concept="liA8E" id="2Cji6ER9Ipv" role="2OqNvi">
|
||||
<ref role="37wK5l" node="4ObboSeq3Tj" resolve="get" />
|
||||
</node>
|
||||
<node concept="1U20sH" id="2Cji6ER9P0j" role="lGtFl">
|
||||
<property role="1U20sK" value="error" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbH" id="2Cji6ERioZs" role="3cqZAp" />
|
||||
<node concept="3clFbF" id="2Cji6ERiqff" role="3cqZAp">
|
||||
<node concept="1rXfSq" id="2Cji6ERiqfg" role="3clFbG">
|
||||
<ref role="37wK5l" node="2Cji6ERinnP" resolve="callMe2" />
|
||||
<node concept="37vLTw" id="2Cji6ERiqfh" role="37wK5m">
|
||||
<ref role="3cqZAo" node="2Cji6ER7dus" resolve="eStr" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbF" id="2Cji6ERipT3" role="3cqZAp">
|
||||
<node concept="1rXfSq" id="2Cji6ERipT1" role="3clFbG">
|
||||
<ref role="37wK5l" node="2Cji6ERinnP" resolve="callMe2" />
|
||||
<node concept="37vLTw" id="2Cji6ERiqAp" role="37wK5m">
|
||||
<ref role="3cqZAo" node="2Cji6ER7duy" resolve="eeStr" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbF" id="2Cji6ERipff" role="3cqZAp">
|
||||
<node concept="1rXfSq" id="2Cji6ERipfd" role="3clFbG">
|
||||
<ref role="37wK5l" node="2Cji6ERinnP" resolve="callMe2" />
|
||||
<node concept="37vLTw" id="2Cji6ERiptT" role="37wK5m">
|
||||
<ref role="3cqZAo" node="2Cji6ER9GNr" resolve="eTSer" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3Tm1VV" id="2Cji6ER7dvr" role="1B3o_S" />
|
||||
<node concept="3cqZAl" id="2Cji6ER7dvs" role="3clF45" />
|
||||
<node concept="16euLQ" id="2Cji6ER9FVq" role="16eVyc">
|
||||
<property role="TrG5h" value="TSer" />
|
||||
<node concept="3uibUv" id="2Cji6ER9Gox" role="3ztrMU">
|
||||
<ref role="3uigEE" to="guwi:~Serializable" resolve="Serializable" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="2tJIrI" id="2Cji6ER51QH" role="jymVt" />
|
||||
<node concept="3clFb_" id="2Cji6ER51uE" role="jymVt">
|
||||
|
|
@ -2481,22 +2586,7 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3SKdUt" id="2Cji6ER7dnR" role="3cqZAp">
|
||||
<node concept="1PaTwC" id="2Cji6ER7dnS" role="3ndbpf">
|
||||
<node concept="3oM_SD" id="2Cji6ER7dnU" role="1PaTwD">
|
||||
<property role="3oM_SC" value="todo:" />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="2Cji6ER7drN" role="1PaTwD">
|
||||
<property role="3oM_SC" value="test" />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="2Cji6ER7drQ" role="1PaTwD">
|
||||
<property role="3oM_SC" value="super" />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="2Cji6ER7dsy" role="1PaTwD">
|
||||
<property role="3oM_SC" value="capture" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbH" id="2Cji6ER9s$t" role="3cqZAp" />
|
||||
<node concept="3clFbF" id="2Cji6ER51uZ" role="3cqZAp">
|
||||
<node concept="2OqwBi" id="2Cji6ER51v0" role="3clFbG">
|
||||
<node concept="37vLTw" id="2Cji6ER5pi0" role="2Oq$k0">
|
||||
|
|
@ -2649,6 +2739,29 @@
|
|||
</node>
|
||||
</node>
|
||||
<node concept="2tJIrI" id="4ObboSeqcmw" role="jymVt" />
|
||||
<node concept="3clFb_" id="2Cji6ERinnP" role="jymVt">
|
||||
<property role="TrG5h" value="callMe2" />
|
||||
<node concept="3clFbS" id="2Cji6ERinnS" role="3clF47" />
|
||||
<node concept="3Tm1VV" id="2Cji6ERimWP" role="1B3o_S" />
|
||||
<node concept="3cqZAl" id="2Cji6ERinBA" role="3clF45" />
|
||||
<node concept="16euLQ" id="2Cji6ERinRx" role="16eVyc">
|
||||
<property role="TrG5h" value="S" />
|
||||
<node concept="3uibUv" id="2Cji6ERiobv" role="3ztrMU">
|
||||
<ref role="3uigEE" node="2PEDwPSdka2" resolve="Containment.E" />
|
||||
<node concept="3qUE_q" id="2Cji6ERiodM" role="11_B2D">
|
||||
<node concept="3uibUv" id="2Cji6ERiolB" role="3qUE_r">
|
||||
<ref role="3uigEE" to="guwi:~Serializable" resolve="Serializable" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="37vLTG" id="2Cji6ERiopL" role="3clF46">
|
||||
<property role="TrG5h" value="s" />
|
||||
<node concept="16syzq" id="2Cji6ERiopK" role="1tU5fm">
|
||||
<ref role="16sUi3" node="2Cji6ERinRx" resolve="S" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="2tJIrI" id="4ObboSeF_gC" role="jymVt" />
|
||||
<node concept="3clFb_" id="4ObboSeETwX" role="jymVt">
|
||||
<property role="TrG5h" value="partialInference" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue