[FIR] Perform more accurate pre-check of candidate receiver type

This commit is contained in:
Mikhail Glukhikh
2020-12-29 13:32:22 +03:00
parent 4e4293b609
commit 0c0dbd6245
12 changed files with 54 additions and 60 deletions
@@ -6,7 +6,7 @@
class Case1(val nothing: Nothing)
fun case1() {
val res = <!INAPPLICABLE_CANDIDATE!>Case1<!>(<!INAPPLICABLE_CANDIDATE!>Nothing<!>())
val res = Case1(<!HIDDEN!>Nothing<!>())
}
@@ -30,14 +30,14 @@ import contracts.*
// TESTCASE NUMBER: 1
fun case_1(value: Any) {
if (contracts.case_1_2(contracts.case_1_1(value is Char))) {
println(value.<!INAPPLICABLE_CANDIDATE!>category<!>)
<!AMBIGUITY!>println<!>(value.<!UNRESOLVED_REFERENCE!>category<!>)
}
}
// TESTCASE NUMBER: 2
fun case_2(value: Any) {
if (contracts.case_2(value is Char) is Boolean) {
println(value.<!INAPPLICABLE_CANDIDATE!>category<!>)
<!AMBIGUITY!>println<!>(value.<!UNRESOLVED_REFERENCE!>category<!>)
}
}
@@ -263,7 +263,7 @@ fun case_16() {
// TESTCASE NUMBER: 17
val case_17 = if (nullableIntProperty == null == true == false) 0 else {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>nullableIntProperty<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>nullableIntProperty<!>.java
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>nullableIntProperty<!>.<!UNRESOLVED_REFERENCE!>java<!>
}
//TESTCASE NUMBER: 18