Switch kotlin version to 1.7
* Change 1.6 to 1.7 constants * Fix SAFE_CALL_WILL_CHANGE_NULLABILITY for testData * Change EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_WARNING to EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR * Change NON_EXHAUSTIVE_WHEN_STATEMENT to NO_ELSE_IN_WHEN * Fix testData for SafeCallsAreAlwaysNullable * Change T -> T & Any in test dumps * Change INVALID_CHARACTERS_NATIVE_WARNING -> INVALID_CHARACTERS_NATIVE_ERROR * TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_WARNING -> TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR
This commit is contained in:
+1
-1
@@ -1 +1 @@
|
||||
java.lang.IllegalStateException: NO_ELSE_IN_WHEN: 'when' expression must be exhaustive, add necessary 'false' branch or 'else' branch instead (15,17) in /1.2.kt
|
||||
java.lang.IllegalStateException: NO_ELSE_IN_WHEN: 'when' expression must be exhaustive, add necessary 'true', 'false' branches or 'else' branch instead (15,17) in /1.2.kt
|
||||
Vendored
+2
-2
@@ -60,11 +60,11 @@ fun case_5(value_1: Int, value_2: Int, value_3: Boolean?) {
|
||||
false -> "2"
|
||||
null -> "3"
|
||||
}
|
||||
value_1 == 5 -> <!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_3) {
|
||||
value_1 == 5 -> <!NO_ELSE_IN_WHEN!>when<!> (value_3) {
|
||||
true -> "1"
|
||||
false -> "2"
|
||||
}
|
||||
value_1 == 6 -> <!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_3) {}
|
||||
value_1 == 6 -> <!NO_ELSE_IN_WHEN!>when<!> (value_3) {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+5
-2
@@ -71,11 +71,14 @@ fun case_5(value_1: Int, value_2: Int, value_3: Boolean?) {
|
||||
false -> "2"
|
||||
null -> "3"
|
||||
}
|
||||
value_1 == 5 -> <!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_3) {
|
||||
value_1 == 5 -> when (value_3) {
|
||||
true -> "1"
|
||||
false -> "2"
|
||||
else -> ""
|
||||
}
|
||||
value_1 == 6 -> when (value_3) {
|
||||
else -> ""
|
||||
}
|
||||
value_1 == 6 -> <!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_3) {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Vendored
+11
-4
@@ -51,21 +51,28 @@ fun case_5(value_1: Int, value_2: Int, value_3: Boolean?) {
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>value_2 > 100<!> -> "2"
|
||||
else -> "3"
|
||||
}
|
||||
2 -> <!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_3) {
|
||||
2 -> when (value_3) {
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>value_2 > 1000<!> -> "1"
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>value_2 > 100<!> -> "2"
|
||||
else -> ""
|
||||
}
|
||||
3 -> when (value_3) {
|
||||
else -> ""
|
||||
}
|
||||
3 -> <!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_3) {}
|
||||
4 -> when (value_3) {
|
||||
true -> "1"
|
||||
false -> "2"
|
||||
null -> "3"
|
||||
else -> ""
|
||||
}
|
||||
5 -> <!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_3) {
|
||||
5 -> when (value_3) {
|
||||
true -> "1"
|
||||
false -> "2"
|
||||
else -> ""
|
||||
}
|
||||
6 -> when (value_3) {
|
||||
else -> ""
|
||||
}
|
||||
6 -> <!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_3) {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+10
-4
@@ -62,21 +62,27 @@ fun case_5(value_1: Int, value_2: Int, value_3: Boolean?) {
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>value_2 > 100<!> -> "2"
|
||||
else -> "3"
|
||||
}
|
||||
2 -> <!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_3) {
|
||||
2 -> when (value_3) {
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>value_2 > 1000<!> -> "1"
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>value_2 > 100<!> -> "2"
|
||||
else -> ""
|
||||
}
|
||||
3 -> when (value_3) {
|
||||
else -> ""
|
||||
}
|
||||
3 -> <!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_3) {}
|
||||
4 -> when (value_3) {
|
||||
true -> "1"
|
||||
false -> "2"
|
||||
null -> "3"
|
||||
}
|
||||
5 -> <!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_3) {
|
||||
5 -> when (value_3) {
|
||||
true -> "1"
|
||||
false -> "2"
|
||||
else -> ""
|
||||
}
|
||||
6 -> when (value_3) {
|
||||
else -> ""
|
||||
}
|
||||
6 -> <!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_3) {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -42,9 +42,10 @@ fun case_3(value_1: SealedClass?): String = when (value_1) {
|
||||
* ISSUES: KT-22996
|
||||
*/
|
||||
fun case_4(value_1: SealedClass?) {
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_1) {
|
||||
when (value_1) {
|
||||
!is SealedChild2 -> {} // including null
|
||||
<!USELESS_IS_CHECK!>is SealedChild2?<!> -> {} // redundant nullable type check
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -24,7 +24,7 @@ fun case_2(value_1: Number, value_2: Int) {
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
fun case_3(value_1: Boolean, value_2: Boolean, value_3: Long) {
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_1) {
|
||||
<!NO_ELSE_IN_WHEN!>when<!> (value_1) {
|
||||
value_2 -> {}
|
||||
!value_2 -> {}
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>getBoolean() && value_2<!> -> {}
|
||||
|
||||
+2
-1
@@ -34,13 +34,14 @@ fun case_2(value_1: Number, value_2: Int) {
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
fun case_3(value_1: Boolean, value_2: Boolean, value_3: Long) {
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_1) {
|
||||
when (value_1) {
|
||||
value_2 -> {}
|
||||
!value_2 -> {}
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>getBoolean() && value_2<!> -> {}
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>getChar() != 'a'<!> -> {}
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>getList() === getAny()<!> -> {}
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>value_3 <= 11<!> -> {}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -18,7 +18,7 @@ fun case_2(value_1: Number, value_2: Int) {
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
fun case_3(value_1: Boolean, value_2: Boolean, value_3: Long) {
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_1) {
|
||||
<!NO_ELSE_IN_WHEN!>when<!> (value_1) {
|
||||
value_2, !value_2, <!CONFUSING_BRANCH_CONDITION_WARNING!>getBoolean() && value_2<!>, <!CONFUSING_BRANCH_CONDITION_WARNING!>getChar() != 'a'<!> -> {}
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>getList() === getAny()<!>, <!CONFUSING_BRANCH_CONDITION_WARNING!>value_3 <= 11<!> -> {}
|
||||
}
|
||||
|
||||
+2
-1
@@ -28,9 +28,10 @@ fun case_2(value_1: Number, value_2: Int) {
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
fun case_3(value_1: Boolean, value_2: Boolean, value_3: Long) {
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_1) {
|
||||
when (value_1) {
|
||||
value_2, !value_2, <!CONFUSING_BRANCH_CONDITION_WARNING!>getBoolean() && value_2<!>, <!CONFUSING_BRANCH_CONDITION_WARNING!>getChar() != 'a'<!> -> {}
|
||||
<!CONFUSING_BRANCH_CONDITION_WARNING!>getList() === getAny()<!>, <!CONFUSING_BRANCH_CONDITION_WARNING!>value_3 <= 11<!> -> {}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-8
@@ -8,18 +8,13 @@
|
||||
package testPackCase1
|
||||
|
||||
fun case1(a: A, c: C) {
|
||||
|
||||
<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!><!SAFE_CALL_WILL_CHANGE_NULLABILITY!>a?.b<!> += c<!>
|
||||
<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>a?.b<!> .<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!>plusAssign(c)<!>
|
||||
a?.b <!UNSAFE_CALL!>.<!><!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>plusAssign(c)<!>
|
||||
|
||||
val x = {
|
||||
<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!><!SAFE_CALL_WILL_CHANGE_NULLABILITY!>a?.b<!> += c<!>
|
||||
<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>a?.b<!>.<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!>plusAssign(c)<!>
|
||||
a?.b<!UNSAFE_CALL!>.<!><!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>plusAssign(c)<!>
|
||||
}()
|
||||
|
||||
<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!><!SAFE_CALL_WILL_CHANGE_NULLABILITY!>a?.b<!> += { c }()<!>
|
||||
|
||||
<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>a?.b<!>.<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!>plusAssign({ c }())<!>
|
||||
a?.b<!UNSAFE_CALL!>.<!><!DEBUG_INFO_CALL("fqName: fqName is unknown; typeCall: unresolved")!>plusAssign({ c }())<!>
|
||||
}
|
||||
|
||||
class A(val b: B)
|
||||
|
||||
+3
-8
@@ -19,18 +19,13 @@
|
||||
package testPackCase1
|
||||
|
||||
fun case1(a: A, c: C) {
|
||||
|
||||
<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!><!SAFE_CALL_WILL_CHANGE_NULLABILITY!>a?.b<!> += c<!>
|
||||
<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>a?.b<!> .<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!>plusAssign(c)<!>
|
||||
a.b.<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!>plusAssign(c)<!>
|
||||
|
||||
val x = {
|
||||
<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!><!SAFE_CALL_WILL_CHANGE_NULLABILITY!>a?.b<!> += c<!>
|
||||
<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>a?.b<!>.<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!>plusAssign(c)<!>
|
||||
a.b.<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!>plusAssign(c)<!>
|
||||
}()
|
||||
|
||||
<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!><!SAFE_CALL_WILL_CHANGE_NULLABILITY!>a?.b<!> += { c }()<!>
|
||||
|
||||
<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>a?.b<!>.<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!>plusAssign({ c }())<!>
|
||||
a.b.<!DEBUG_INFO_CALL("fqName: testPackCase1.B.plusAssign; typeCall: operator function")!>plusAssign({ c }())<!>
|
||||
}
|
||||
|
||||
class A(val b: B)
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
fun case_1(value_1: EnumClass?) {
|
||||
val value_2: Int
|
||||
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_1) {
|
||||
<!NO_ELSE_IN_WHEN!>when<!> (value_1) {
|
||||
EnumClass.NORTH -> funWithExactlyOnceCallsInPlace { value_2 = 1 }
|
||||
EnumClass.SOUTH -> funWithExactlyOnceCallsInPlace { value_2 = 2 }
|
||||
EnumClass.EAST -> funWithExactlyOnceCallsInPlace { value_2 = 4 }
|
||||
|
||||
+2
-1
@@ -16,11 +16,12 @@
|
||||
fun case_1(value_1: EnumClass?) {
|
||||
val value_2: Int
|
||||
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_1) {
|
||||
when (value_1) {
|
||||
EnumClass.NORTH -> funWithExactlyOnceCallsInPlace { value_2 = 1 }
|
||||
EnumClass.SOUTH -> funWithExactlyOnceCallsInPlace { value_2 = 2 }
|
||||
EnumClass.EAST -> funWithExactlyOnceCallsInPlace { value_2 = 4 }
|
||||
null -> funWithExactlyOnceCallsInPlace { value_2 = 5 }
|
||||
else -> {}
|
||||
}
|
||||
|
||||
<!UNINITIALIZED_VARIABLE!>value_2<!>.inc()
|
||||
|
||||
Vendored
+1
-1
@@ -100,7 +100,7 @@ fun case_4(value_1: Number, value_2: (() -> Unit)?) {
|
||||
|
||||
// TESTCASE NUMBER: 5
|
||||
fun case_5(value_1: Number?, value_2: String?) {
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_2.case_5(value_1)) {
|
||||
<!NO_ELSE_IN_WHEN!>when<!> (value_2.case_5(value_1)) {
|
||||
true -> {
|
||||
println(value_2<!UNSAFE_CALL!>.<!>length)
|
||||
println(value_1.toByte())
|
||||
|
||||
+2
-1
@@ -110,7 +110,7 @@ fun case_4(value_1: Number, value_2: (() -> Unit)?) {
|
||||
|
||||
// TESTCASE NUMBER: 5
|
||||
fun case_5(value_1: Number?, value_2: String?) {
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_2.case_5(value_1)) {
|
||||
when (value_2.case_5(value_1)) {
|
||||
true -> {
|
||||
println(value_2<!UNSAFE_CALL!>.<!>length)
|
||||
println(value_1<!UNSAFE_CALL!>.<!>toByte())
|
||||
@@ -119,6 +119,7 @@ fun case_5(value_1: Number?, value_2: String?) {
|
||||
println(value_2<!UNSAFE_CALL!>.<!>length)
|
||||
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>inv<!>())
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Vendored
+11
-11
@@ -27,7 +27,7 @@ fun case_3(value_1: Any?, value_2: Any?) {
|
||||
fun case_4(value_1: Any?, value_2: Number?) {
|
||||
funWithReturns(value_1 is Float? && value_1 != null && value_2 != null)
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 5
|
||||
@@ -38,7 +38,7 @@ class case_5_class {
|
||||
val o = case_5_class()
|
||||
funWithReturns(value_1 is Float? && value_1 != null && value_2 != null && o.prop_1 != null)
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(o.prop_1.plus(3))
|
||||
}
|
||||
}
|
||||
@@ -107,19 +107,19 @@ fun case_8(value_1: Any?, value_2: Any?) {
|
||||
fun case_9(value_1: Any?, value_2: Number?) {
|
||||
if (funWithReturnsTrue(value_1 is Float? && value_1 != null && value_2 != null)) {
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
}
|
||||
if (!funWithReturnsFalse(value_1 is Float? && value_1 != null && value_2 != null)) {
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
}
|
||||
if (funWithReturnsNotNull(value_1 is Float? && value_1 != null && value_2 != null) != null) {
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
}
|
||||
if (funWithReturnsNull(value_1 is Float? && value_1 != null && value_2 != null) == null) {
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,22 +131,22 @@ class case_10_class {
|
||||
val o = case_10_class()
|
||||
if (funWithReturnsTrue(value_1 is Float? && value_1 != null && value_2 != null && o.prop_1 != null && this.prop_1 != null)) {
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(o.prop_1.plus(3))
|
||||
}
|
||||
if (!funWithReturnsFalse(value_1 is Float? && value_1 != null && value_2 != null && o.prop_1 != null && this.prop_1 != null)) {
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(o.prop_1.plus(3))
|
||||
}
|
||||
if (funWithReturnsNotNull(value_1 is Float? && value_1 != null && value_2 != null && o.prop_1 != null && this.prop_1 != null) != null) {
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(o.prop_1.plus(3))
|
||||
}
|
||||
if (funWithReturnsNull(value_1 is Float? && value_1 != null && value_2 != null && o.prop_1 != null && this.prop_1 != null) == null) {
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(o.prop_1.plus(3))
|
||||
}
|
||||
}
|
||||
@@ -160,5 +160,5 @@ class case_10_class {
|
||||
fun case_11(value_1: Any?, value_2: Any?, value_3: Any?) {
|
||||
funWithReturnsAndInvertCondition(value_1 !is String || value_2 !is Number || <!USELESS_IS_CHECK!>value_3 !is Any?<!>)
|
||||
println(value_1<!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>.length)
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
}
|
||||
|
||||
+11
-11
@@ -36,7 +36,7 @@ fun case_3(value_1: Any?, value_2: Any?) {
|
||||
fun case_4(value_1: Any?, value_2: Number?) {
|
||||
funWithReturns(value_1 is Float? && value_1 != null && value_2 != null)
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 5
|
||||
@@ -47,7 +47,7 @@ class case_5_class {
|
||||
val o = case_5_class()
|
||||
funWithReturns(value_1 is Float? && value_1 != null && value_2 != null && o.prop_1 != null)
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(<!DEBUG_INFO_SMARTCAST!>o.prop_1<!>.plus(3))
|
||||
}
|
||||
}
|
||||
@@ -116,19 +116,19 @@ fun case_8(value_1: Any?, value_2: Any?) {
|
||||
fun case_9(value_1: Any?, value_2: Number?) {
|
||||
if (funWithReturnsTrue(value_1 is Float? && value_1 != null && value_2 != null)) {
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
}
|
||||
if (!funWithReturnsFalse(value_1 is Float? && value_1 != null && value_2 != null)) {
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
}
|
||||
if (funWithReturnsNotNull(value_1 is Float? && value_1 != null && value_2 != null) != null) {
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
}
|
||||
if (funWithReturnsNull(value_1 is Float? && value_1 != null && value_2 != null) == null) {
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,22 +140,22 @@ class case_10_class {
|
||||
val o = case_10_class()
|
||||
if (funWithReturnsTrue(value_1 is Float? && value_1 != null && value_2 != null && o.prop_1 != null && this.prop_1 != null)) {
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(<!DEBUG_INFO_SMARTCAST!>o.prop_1<!>.plus(3))
|
||||
}
|
||||
if (!funWithReturnsFalse(value_1 is Float? && value_1 != null && value_2 != null && o.prop_1 != null && this.prop_1 != null)) {
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(<!DEBUG_INFO_SMARTCAST!>o.prop_1<!>.plus(3))
|
||||
}
|
||||
if (funWithReturnsNotNull(value_1 is Float? && value_1 != null && value_2 != null && o.prop_1 != null && this.prop_1 != null) != null) {
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(<!DEBUG_INFO_SMARTCAST!>o.prop_1<!>.plus(3))
|
||||
}
|
||||
if (funWithReturnsNull(value_1 is Float? && value_1 != null && value_2 != null && o.prop_1 != null && this.prop_1 != null) == null) {
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(<!DEBUG_INFO_SMARTCAST!>o.prop_1<!>.plus(3))
|
||||
}
|
||||
}
|
||||
@@ -169,5 +169,5 @@ class case_10_class {
|
||||
fun case_11(value_1: Any?, value_2: Any?, value_3: Any?) {
|
||||
funWithReturnsAndInvertCondition(value_1 !is String || value_2 !is Number || <!USELESS_IS_CHECK!>value_3 !is Any?<!>)
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!><!UNNECESSARY_NOT_NULL_ASSERTION!>!!<!>.length)
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!><!DEBUG_INFO_SMARTCAST!>value_2<!><!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_2<!><!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
}
|
||||
|
||||
Vendored
+5
-5
@@ -103,7 +103,7 @@ class case_3_class {
|
||||
val o = case_3_class()
|
||||
contracts.case_3(value_1, value_2, o.prop_1, this.prop_1)
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(o.prop_1.plus(3))
|
||||
}
|
||||
}
|
||||
@@ -155,22 +155,22 @@ class case_6_class {
|
||||
val o = case_6_class()
|
||||
if (contracts.case_6_1(value_1, value_2, o.prop_1, this.prop_1)) {
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(o.prop_1.plus(3))
|
||||
}
|
||||
if (!contracts.case_6_2(value_1, value_2, o.prop_1, this.prop_1)) {
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(o.prop_1.plus(3))
|
||||
}
|
||||
if (contracts.case_6_3(value_1, value_2, o.prop_1, this.prop_1) != null) {
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(o.prop_1.plus(3))
|
||||
}
|
||||
if (contracts.case_6_4(value_1, value_2, o.prop_1, this.prop_1) == null) {
|
||||
println(value_1.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(o.prop_1.plus(3))
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -111,7 +111,7 @@ class case_3_class {
|
||||
val o = case_3_class()
|
||||
contracts.case_3(value_1, value_2, o.prop_1, this.prop_1)
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(<!DEBUG_INFO_SMARTCAST!>o.prop_1<!>.plus(3))
|
||||
}
|
||||
}
|
||||
@@ -163,22 +163,22 @@ class case_6_class {
|
||||
val o = case_6_class()
|
||||
if (contracts.case_6_1(value_1, value_2, o.prop_1, this.prop_1)) {
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(<!DEBUG_INFO_SMARTCAST!>o.prop_1<!>.plus(3))
|
||||
}
|
||||
if (!contracts.case_6_2(value_1, value_2, o.prop_1, this.prop_1)) {
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(<!DEBUG_INFO_SMARTCAST!>o.prop_1<!>.plus(3))
|
||||
}
|
||||
if (contracts.case_6_3(value_1, value_2, o.prop_1, this.prop_1) != null) {
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(<!DEBUG_INFO_SMARTCAST!>o.prop_1<!>.plus(3))
|
||||
}
|
||||
if (contracts.case_6_4(value_1, value_2, o.prop_1, this.prop_1) == null) {
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.dec())
|
||||
println(<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte()<!>)
|
||||
println(value_2<!UNNECESSARY_SAFE_CALL!>?.<!>toByte())
|
||||
println(<!DEBUG_INFO_SMARTCAST!>o.prop_1<!>.plus(3))
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -105,7 +105,7 @@ fun case_4(value_1: Number, value_2: (() -> Unit)?) {
|
||||
* ISSUES: KT-26612
|
||||
*/
|
||||
fun case_5(value_1: Number?, value_2: String?) {
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_2.case_5(value_1)) {
|
||||
<!NO_ELSE_IN_WHEN!>when<!> (value_2.case_5(value_1)) {
|
||||
true -> {
|
||||
println(value_2.length)
|
||||
println(value_1.toByte())
|
||||
|
||||
+2
-1
@@ -115,7 +115,7 @@ fun case_4(value_1: Number, value_2: (() -> Unit)?) {
|
||||
* ISSUES: KT-26612
|
||||
*/
|
||||
fun case_5(value_1: Number?, value_2: String?) {
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (value_2.case_5(value_1)) {
|
||||
when (value_2.case_5(value_1)) {
|
||||
true -> {
|
||||
println(value_2<!UNSAFE_CALL!>.<!>length)
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.toByte())
|
||||
@@ -124,6 +124,7 @@ fun case_5(value_1: Number?, value_2: String?) {
|
||||
println(value_2<!UNSAFE_CALL!>.<!>length)
|
||||
println(<!DEBUG_INFO_SMARTCAST!>value_1<!>.inv())
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ fun case_4(x: Any) {
|
||||
fun case_5(x: Any?) {
|
||||
if (!(x !is Nothing?)) {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Nothing")!>x<!>
|
||||
<!SAFE_CALL_WILL_CHANGE_NULLABILITY!><!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Nothing")!>x<!><!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>inv<!>()<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Nothing")!>x<!><!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>inv<!>()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ fun case_8(x: Any?) {
|
||||
fun case_9(x: Any?) {
|
||||
if (!!(x !is Nothing?)) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Nothing")!>x<!>
|
||||
<!SAFE_CALL_WILL_CHANGE_NULLABILITY!><!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Nothing")!>x<!><!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>inv<!>()<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Nothing")!>x<!><!UNNECESSARY_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>inv<!>()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ fun case_3(x: Class?) {
|
||||
* ISSUES: KT-30376
|
||||
*/
|
||||
fun case_4(x: Class?) {
|
||||
if (<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>x!!<!UNNECESSARY_SAFE_CALL!>?.<!>prop_8<!>?.prop_8?.prop_8?.prop_8 == null == true) else {
|
||||
if (x!!<!UNNECESSARY_SAFE_CALL!>?.<!>prop_8?.prop_8?.prop_8?.prop_8 == null == true) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.prop_8
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.prop_8.prop_8
|
||||
@@ -68,7 +68,7 @@ fun case_4(x: Class?) {
|
||||
* ISSUES: KT-30376
|
||||
*/
|
||||
fun case_5(x: Class?) {
|
||||
if (<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>x?.prop_8!!<!UNNECESSARY_SAFE_CALL!>?.<!>prop_8<!>?.prop_8?.prop_8 == null == true) else {
|
||||
if (x?.prop_8!!<!UNNECESSARY_SAFE_CALL!>?.<!>prop_8?.prop_8?.prop_8 == null == true) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.prop_8
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.prop_8.prop_8
|
||||
@@ -83,7 +83,7 @@ fun case_5(x: Class?) {
|
||||
* ISSUES: KT-30376
|
||||
*/
|
||||
fun case_6(x: Class?) {
|
||||
if (<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>x?.prop_8?.prop_8?.prop_8!!<!UNNECESSARY_SAFE_CALL!>?.<!>prop_8<!> == null == true) else {
|
||||
if (x?.prop_8?.prop_8?.prop_8!!<!UNNECESSARY_SAFE_CALL!>?.<!>prop_8 == null == true) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.prop_8
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.prop_8.prop_8
|
||||
|
||||
@@ -62,7 +62,7 @@ fun case_3(x: Class?) {
|
||||
* ISSUES: KT-30376
|
||||
*/
|
||||
fun case_4(x: Class?) {
|
||||
if (<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>x!!<!UNNECESSARY_SAFE_CALL!>?.<!>prop_8<!>?.prop_8?.prop_8?.prop_8 == null == true) else {
|
||||
if (x!!<!UNNECESSARY_SAFE_CALL!>?.<!>prop_8?.prop_8?.prop_8?.prop_8 == null == true) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!>x<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!><!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?"), DEBUG_INFO_SMARTCAST!>x<!>.prop_8<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!><!DEBUG_INFO_EXPRESSION_TYPE("Class?")!><!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?"), DEBUG_INFO_SMARTCAST!>x<!>.prop_8<!><!UNSAFE_CALL!>.<!>prop_8<!>
|
||||
@@ -77,7 +77,7 @@ fun case_4(x: Class?) {
|
||||
* ISSUES: KT-30376
|
||||
*/
|
||||
fun case_5(x: Class?) {
|
||||
if (<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>x?.prop_8!!<!UNNECESSARY_SAFE_CALL!>?.<!>prop_8<!>?.prop_8?.prop_8 == null == true) else {
|
||||
if (x?.prop_8!!<!UNNECESSARY_SAFE_CALL!>?.<!>prop_8?.prop_8?.prop_8 == null == true) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!>x<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!><!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?"), DEBUG_INFO_SMARTCAST!>x<!>.prop_8<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!><!DEBUG_INFO_EXPRESSION_TYPE("Class"), DEBUG_INFO_SMARTCAST!><!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?"), DEBUG_INFO_SMARTCAST!>x<!>.prop_8<!>.prop_8<!>
|
||||
@@ -92,7 +92,7 @@ fun case_5(x: Class?) {
|
||||
* ISSUES: KT-30376
|
||||
*/
|
||||
fun case_6(x: Class?) {
|
||||
if (<!SAFE_CALL_WILL_CHANGE_NULLABILITY!>x?.prop_8?.prop_8?.prop_8!!<!UNNECESSARY_SAFE_CALL!>?.<!>prop_8<!> == null == true) else {
|
||||
if (x?.prop_8?.prop_8?.prop_8!!<!UNNECESSARY_SAFE_CALL!>?.<!>prop_8 == null == true) else {
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!>x<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!><!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?"), DEBUG_INFO_SMARTCAST!>x<!>.prop_8<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?")!><!DEBUG_INFO_EXPRESSION_TYPE("Class"), DEBUG_INFO_SMARTCAST!><!DEBUG_INFO_EXPRESSION_TYPE("Class & Class?"), DEBUG_INFO_SMARTCAST!>x<!>.prop_8<!>.prop_8<!>
|
||||
|
||||
@@ -137,7 +137,7 @@ fun case_7() {
|
||||
var b = a
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.String")!>b<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.String")!>b<!>.length
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (true) {
|
||||
<!NO_ELSE_IN_WHEN!>when<!> (true) {
|
||||
true -> b = a
|
||||
}
|
||||
|
||||
|
||||
@@ -146,8 +146,9 @@ fun case_7() {
|
||||
var b = a
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.String")!>b<!>
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.String"), DEBUG_INFO_SMARTCAST!>b<!>.length
|
||||
<!NON_EXHAUSTIVE_WHEN_STATEMENT!>when<!> (true) {
|
||||
when (true) {
|
||||
true -> b = a
|
||||
else -> {}
|
||||
}
|
||||
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.String")!>b<!>
|
||||
|
||||
Reference in New Issue
Block a user