KT-10646, KT-10647:
Move IMPLICIT_CAST_TO_UNIT_OR_ANY to ControlFlowInformationProvider (where checks for 'if' and 'when' used as expressions are performed).
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
val test1 = { <!IMPLICIT_CAST_TO_UNIT_OR_ANY!>if (true) 1 else ""<!> }
|
||||
|
||||
val test2 = { { <!IMPLICIT_CAST_TO_UNIT_OR_ANY!>if (true) 1 else ""<!> } }
|
||||
|
||||
val test3: (Boolean) -> Any = { if (it) 1 else "" }
|
||||
|
||||
val test4: (Boolean) -> Any? = { if (it) 1 else "" }
|
||||
@@ -0,0 +1,6 @@
|
||||
package
|
||||
|
||||
public val test1: () -> kotlin.Any
|
||||
public val test2: () -> () -> kotlin.Any
|
||||
public val test3: (kotlin.Boolean) -> kotlin.Any
|
||||
public val test4: (kotlin.Boolean) -> kotlin.Any?
|
||||
+2
-2
@@ -17,12 +17,12 @@ fun example() {
|
||||
}();
|
||||
|
||||
{
|
||||
if (true) {} else false
|
||||
<!IMPLICIT_CAST_TO_UNIT_OR_ANY!>if (true) {} else false<!>
|
||||
}();
|
||||
|
||||
|
||||
{
|
||||
if (true) true else {}
|
||||
<!IMPLICIT_CAST_TO_UNIT_OR_ANY!>if (true) true else {}<!>
|
||||
}()
|
||||
|
||||
fun t(): Boolean {
|
||||
|
||||
+5
-5
@@ -18,13 +18,13 @@ val w = <!EXPRESSION_EXPECTED!>while (true) {}<!>
|
||||
|
||||
fun foo() {
|
||||
var <!ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE!>z<!> = 2
|
||||
val r = { // type fun(): Int is inferred
|
||||
if (true) {
|
||||
val r = { // type fun(): Any is inferred
|
||||
<!IMPLICIT_CAST_TO_UNIT_OR_ANY!>if (true) {
|
||||
2
|
||||
}
|
||||
else {
|
||||
z = 34
|
||||
}
|
||||
}<!>
|
||||
}
|
||||
val <!UNUSED_VARIABLE!>f<!>: ()-> Int = <!TYPE_MISMATCH!>r<!>
|
||||
val <!UNUSED_VARIABLE!>g<!>: ()-> Any = r
|
||||
@@ -73,11 +73,11 @@ fun testCoercionToUnit() {
|
||||
|
||||
var <!ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE!>x<!> = 43
|
||||
val checkType = {
|
||||
if (true) {
|
||||
<!IMPLICIT_CAST_TO_UNIT_OR_ANY!>if (true) {
|
||||
x = 4
|
||||
} else {
|
||||
45
|
||||
}
|
||||
}<!>
|
||||
}
|
||||
val <!UNUSED_VARIABLE!>f<!> : () -> String = <!TYPE_MISMATCH!>checkType<!>
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
val test1 = { <!IMPLICIT_CAST_TO_UNIT_OR_ANY!>when (true) { true -> 1; else -> "" }<!> }
|
||||
|
||||
val test2 = { { <!IMPLICIT_CAST_TO_UNIT_OR_ANY!>when (true) { true -> 1; else -> "" }<!> } }
|
||||
|
||||
val test3: (Boolean) -> Any = { when (true) { true -> 1; else -> "" } }
|
||||
|
||||
val test4: (Boolean) -> Any? = { when (true) { true -> 1; else -> "" } }
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
package
|
||||
|
||||
public val test1: () -> kotlin.Any
|
||||
public val test2: () -> () -> kotlin.Any
|
||||
public val test3: (kotlin.Boolean) -> kotlin.Any
|
||||
public val test4: (kotlin.Boolean) -> kotlin.Any?
|
||||
Reference in New Issue
Block a user