FIR DFA: x !is T? => x != null

^KT-22996 tag fixed-in-k2
This commit is contained in:
pyos
2022-11-14 17:18:01 +01:00
committed by teamcity
parent 02fedeb9ed
commit f485413cfd
18 changed files with 118 additions and 53 deletions
@@ -235,7 +235,7 @@ fun case_3(value_1: Any?) {
// TESTCASE NUMBER: 4
fun case_4(value_1: Any?) {
case_4_1(value_1)
value_1?.<!UNRESOLVED_REFERENCE!>toByte<!>()
value_1<!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>toByte<!>()
case_4_2(<!ARGUMENT_TYPE_MISMATCH!>value_1<!>)
value_1.<!UNRESOLVED_REFERENCE!>toByte<!>()
case_4_3(<!ARGUMENT_TYPE_MISMATCH!>value_1<!>)
@@ -329,14 +329,14 @@ fun case_7(value_1: Any?) {
// TESTCASE NUMBER: 8
fun case_8(value_1: Any?) {
if (case_8_1(value_1)) {
value_1?.<!UNRESOLVED_REFERENCE!>toByte<!>()
value_1<!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>toByte<!>()
if (case_8_2(<!ARGUMENT_TYPE_MISMATCH!>value_1<!>)) {
value_1.<!UNRESOLVED_REFERENCE!>toByte<!>()
if (case_8_3(<!ARGUMENT_TYPE_MISMATCH!>value_1<!>)) value_1.<!UNRESOLVED_REFERENCE!>inv<!>()
}
}
if (!case_8_4(value_1)) {
value_1?.<!UNRESOLVED_REFERENCE!>toByte<!>()
value_1<!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>toByte<!>()
if (!case_8_5(<!ARGUMENT_TYPE_MISMATCH!>value_1<!>)) {
value_1.<!UNRESOLVED_REFERENCE!>toByte<!>()
if (!case_8_6(<!ARGUMENT_TYPE_MISMATCH!>value_1<!>)) value_1.<!UNRESOLVED_REFERENCE!>inv<!>()
@@ -58,7 +58,7 @@ import contracts.*
// TESTCASE NUMBER: 1
fun case_1(value_1: Any?) {
funWithReturns(value_1 !is Number?)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_1?.<!UNRESOLVED_REFERENCE!>toByte<!>())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_1<!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>toByte<!>())
if (funWithReturnsTrue(value_1 !is Number)) {
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_1.<!UNRESOLVED_REFERENCE!>toByte<!>())
if (funWithReturnsNotNull(value_1 is Int) == null) <!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_1.<!UNRESOLVED_REFERENCE!>inv<!>())
@@ -68,7 +68,7 @@ fun case_1(value_1: Any?) {
// TESTCASE NUMBER: 2
fun case_2(value_1: Any?) {
if (!funWithReturnsFalse(value_1 !is Number?)) {
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_1?.<!UNRESOLVED_REFERENCE!>toByte<!>())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_1<!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>toByte<!>())
funWithReturns(value_1 !is Number)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_1.<!UNRESOLVED_REFERENCE!>toByte<!>())
if (funWithReturnsNull(value_1 !is Int) == null) <!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_1.<!UNRESOLVED_REFERENCE!>inv<!>())
@@ -78,12 +78,12 @@ fun case_2(value_1: Any?) {
// TESTCASE NUMBER: 3
fun case_3(value_1: Int?, value_2: Any?) {
if (!value_1.case_3(value_1, value_2 is Number?)) {
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2?.<!UNRESOLVED_REFERENCE!>toByte<!>())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2<!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>toByte<!>())
println(value_1)
} else if (value_1.case_3(value_1, value_2 is Number?)) {
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2?.<!UNRESOLVED_REFERENCE!>toByte<!>())
} else {
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2?.<!UNRESOLVED_REFERENCE!>toByte<!>())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2<!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>toByte<!>())
}
}