[NI] Report unsafe implicit invoke accordingly to OI

There are several issues with unsafe desugaring for convention calls.
Proper fix is not implemented here (see design proposal KT-30872).
This commit only applies the old logic in the new inference.
^KT-30695 Fixed
This commit is contained in:
Pavel Kirpichenkov
2020-02-07 18:14:12 +03:00
parent 9d51180202
commit b045adf83a
30 changed files with 286 additions and 62 deletions
@@ -583,7 +583,7 @@ fun case_29(x: Boolean) {
val y = if (x) z else null
if (false || false || false || false || y !== <!DEBUG_INFO_CONSTANT!>v<!>) {
val t = <!DEBUG_INFO_EXPRESSION_TYPE("case_29.<anonymous>.<no name provided>?")!><!UNSAFE_CALL!>y<!>()<!>
val t = <!DEBUG_INFO_EXPRESSION_TYPE("case_29.<anonymous>.<no name provided>?")!><!UNSAFE_IMPLICIT_INVOKE_CALL!>y<!>()<!>
if (<!EQUALITY_NOT_APPLICABLE!>z !== t<!> || false) {
<!DEBUG_INFO_EXPRESSION_TYPE("case_29.<anonymous>.<no name provided>?")!>t<!><!UNSAFE_CALL!>.<!>a