FIR DFA: x !is T? => x != null
^KT-22996 tag fixed-in-k2
This commit is contained in:
+3
-3
@@ -20,7 +20,7 @@ inline fun case_1(value_1: Int?, block: () -> Unit): Boolean {
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
inline fun <T> T?.case_2(value_1: Int?, value_2: Any?, block: () -> Unit): Boolean? {
|
||||
<!WRONG_IMPLIES_CONDITION, WRONG_IMPLIES_CONDITION!>contract {
|
||||
<!WRONG_IMPLIES_CONDITION, WRONG_IMPLIES_CONDITION, WRONG_IMPLIES_CONDITION!>contract {
|
||||
callsInPlace(block, InvocationKind.AT_MOST_ONCE)
|
||||
returns(true) implies (value_1 == null && this@case_2 == null && value_2 !is Boolean?)
|
||||
returns(false) implies (value_2 is Boolean?)
|
||||
@@ -55,7 +55,7 @@ fun case_2(value_1: Int?, value_2: Int?, value_3: Any?) {
|
||||
val value_4: Int
|
||||
when (value_1.case_2(value_2, value_3) { value_4 = 10 }) {
|
||||
true -> {
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_3?.<!UNRESOLVED_REFERENCE!>xor<!>(true))
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_3<!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>xor<!>(true))
|
||||
println(<!UNINITIALIZED_VARIABLE!>value_4<!>)
|
||||
println(value_1<!UNSAFE_CALL!>.<!>inv())
|
||||
println(value_2<!UNSAFE_CALL!>.<!>inv())
|
||||
@@ -66,7 +66,7 @@ fun case_2(value_1: Int?, value_2: Int?, value_3: Any?) {
|
||||
println(value_2)
|
||||
}
|
||||
null -> {
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_3?.<!UNRESOLVED_REFERENCE!>xor<!>(true))
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_3<!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>xor<!>(true))
|
||||
println(<!UNINITIALIZED_VARIABLE!>value_4<!>)
|
||||
println(value_1)
|
||||
println(value_2)
|
||||
|
||||
Vendored
+3
-3
@@ -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<!>()
|
||||
|
||||
Vendored
+4
-4
@@ -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<!>())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user