Report error about invalid if as expression on the if keyword
#KT-14633 Fixed
This commit is contained in:
@@ -4,13 +4,13 @@ fun test() {
|
||||
if (false);
|
||||
if (true);
|
||||
|
||||
val x = <!INVALID_IF_AS_EXPRESSION!>if (false)<!>;
|
||||
val x = <!INVALID_IF_AS_EXPRESSION!>if<!> (false);
|
||||
foo(x)
|
||||
|
||||
val y: Unit = <!INVALID_IF_AS_EXPRESSION!>if (false)<!>;
|
||||
val y: Unit = <!INVALID_IF_AS_EXPRESSION!>if<!> (false);
|
||||
foo(y)
|
||||
|
||||
foo({if (1==1);}())
|
||||
|
||||
return <!INVALID_IF_AS_EXPRESSION!>if (true)<!>;
|
||||
return <!INVALID_IF_AS_EXPRESSION!>if<!> (true);
|
||||
}
|
||||
+6
-6
@@ -8,23 +8,23 @@ fun testMixedIfAndWhen() =
|
||||
if (true)
|
||||
when {
|
||||
true -> if (true) <!IMPLICIT_CAST_TO_ANY!>42<!>
|
||||
else <!IMPLICIT_CAST_TO_ANY!>1<!>
|
||||
true -> if (true) <!IMPLICIT_CAST_TO_ANY!>42<!>
|
||||
else <!IMPLICIT_CAST_TO_ANY!>println()<!>
|
||||
else -> <!INVALID_IF_AS_EXPRESSION!>if (true) <!IMPLICIT_CAST_TO_ANY!>println()<!><!>
|
||||
else <!IMPLICIT_CAST_TO_ANY!>1<!>
|
||||
true -> if (true) <!IMPLICIT_CAST_TO_ANY!>42<!>
|
||||
else <!IMPLICIT_CAST_TO_ANY!>println()<!>
|
||||
else -> <!INVALID_IF_AS_EXPRESSION!>if<!> (true) <!IMPLICIT_CAST_TO_ANY!>println()<!>
|
||||
}
|
||||
else <!IMPLICIT_CAST_TO_ANY!>println()<!>
|
||||
|
||||
fun testWrappedExpressions() =
|
||||
if (true) {
|
||||
println()
|
||||
<!INVALID_IF_AS_EXPRESSION!>if (true) {
|
||||
<!INVALID_IF_AS_EXPRESSION!>if<!> (true) {
|
||||
println()
|
||||
if (true) {
|
||||
<!IMPLICIT_CAST_TO_ANY!>println()<!>
|
||||
}
|
||||
else <!IMPLICIT_CAST_TO_ANY!>{}<!>
|
||||
}<!>
|
||||
}
|
||||
}
|
||||
else {
|
||||
(((<!IMPLICIT_CAST_TO_ANY!>((42)) + 1<!>)))
|
||||
|
||||
+14
-14
@@ -10,13 +10,13 @@ val mlist = MList()
|
||||
|
||||
fun work() {}
|
||||
|
||||
val xx1 = <!INVALID_IF_AS_EXPRESSION!>if (true) 42<!>
|
||||
val xx2: Unit = <!INVALID_IF_AS_EXPRESSION!>if (true) 42<!>
|
||||
val xx3 = idAny(<!INVALID_IF_AS_EXPRESSION!>if (true) 42<!>)
|
||||
val xx4 = id(<!INVALID_IF_AS_EXPRESSION!>if (true) 42<!>)
|
||||
val xx5 = idUnit(<!INVALID_IF_AS_EXPRESSION!>if (true) 42<!>)
|
||||
val xx6 = null ?: <!INVALID_IF_AS_EXPRESSION!>if (true) 42<!>
|
||||
val xx7 = "" + <!INVALID_IF_AS_EXPRESSION!>if (true) 42<!>
|
||||
val xx1 = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) 42
|
||||
val xx2: Unit = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) 42
|
||||
val xx3 = idAny(<!INVALID_IF_AS_EXPRESSION!>if<!> (true) 42)
|
||||
val xx4 = id(<!INVALID_IF_AS_EXPRESSION!>if<!> (true) 42)
|
||||
val xx5 = idUnit(<!INVALID_IF_AS_EXPRESSION!>if<!> (true) 42)
|
||||
val xx6 = null ?: <!INVALID_IF_AS_EXPRESSION!>if<!> (true) 42
|
||||
val xx7 = "" + <!INVALID_IF_AS_EXPRESSION!>if<!> (true) 42
|
||||
|
||||
val wxx1 = <!NO_ELSE_IN_WHEN!>when<!> { true -> 42 }
|
||||
val wxx2: Unit = <!NO_ELSE_IN_WHEN!>when<!> { true -> <!CONSTANT_EXPECTED_TYPE_MISMATCH!>42<!> }
|
||||
@@ -40,12 +40,12 @@ val ufn4: () -> Unit = { when { true -> <!UNUSED_EXPRESSION!>42<!> } }
|
||||
val ufn5: () -> Unit = { when { true -> mlist.add() } }
|
||||
val ufn6: () -> Unit = { when { true -> work() } }
|
||||
|
||||
fun f1() = <!INVALID_IF_AS_EXPRESSION!>if (true) work()<!>
|
||||
fun f2() = <!INVALID_IF_AS_EXPRESSION!>if (true) mlist.add()<!>
|
||||
fun f3() = <!INVALID_IF_AS_EXPRESSION!>if (true) 42<!>
|
||||
fun f4(): Unit = <!INVALID_IF_AS_EXPRESSION!>if (true) work()<!>
|
||||
fun f5(): Unit = <!INVALID_IF_AS_EXPRESSION!>if (true) mlist.add()<!>
|
||||
fun f6(): Unit = <!INVALID_IF_AS_EXPRESSION!>if (true) 42<!>
|
||||
fun f1() = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) work()
|
||||
fun f2() = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) mlist.add()
|
||||
fun f3() = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) 42
|
||||
fun f4(): Unit = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) work()
|
||||
fun f5(): Unit = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) mlist.add()
|
||||
fun f6(): Unit = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) 42
|
||||
fun g1() = <!NO_ELSE_IN_WHEN!>when<!> { true -> work() }
|
||||
fun g2() = <!NO_ELSE_IN_WHEN!>when<!> { true -> mlist.add() }
|
||||
fun g3() = <!NO_ELSE_IN_WHEN!>when<!> { true -> 42 }
|
||||
@@ -54,7 +54,7 @@ fun g5(): Unit = <!NO_ELSE_IN_WHEN!>when<!> { true -> <!TYPE_MISMATCH!>mlist.add
|
||||
fun g6(): Unit = <!NO_ELSE_IN_WHEN!>when<!> { true -> <!CONSTANT_EXPECTED_TYPE_MISMATCH!>42<!> }
|
||||
|
||||
fun foo1(x: String?) {
|
||||
"" + <!INVALID_IF_AS_EXPRESSION!>if (true) 42<!>
|
||||
"" + <!INVALID_IF_AS_EXPRESSION!>if<!> (true) 42
|
||||
w@while (true) {
|
||||
x ?: if (true) break
|
||||
x ?: when { true -> break@w }
|
||||
|
||||
+4
-4
@@ -2,9 +2,9 @@
|
||||
|
||||
fun example() {
|
||||
val a = if (true) true else false
|
||||
val b = <!INVALID_IF_AS_EXPRESSION!>if (true) else false<!>
|
||||
val c = <!INVALID_IF_AS_EXPRESSION!>if (true) true<!>
|
||||
val d = <!INVALID_IF_AS_EXPRESSION!>if (true) true else<!>;
|
||||
val b = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) else false
|
||||
val c = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) true
|
||||
val d = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) true else;
|
||||
val e = if (true) <!IMPLICIT_CAST_TO_ANY!>{}<!> else <!IMPLICIT_CAST_TO_ANY!>false<!>
|
||||
val f = if (true) <!IMPLICIT_CAST_TO_ANY!>true<!> else <!IMPLICIT_CAST_TO_ANY!>{}<!>
|
||||
|
||||
@@ -26,7 +26,7 @@ fun example() {
|
||||
}()
|
||||
|
||||
fun t(): Boolean {
|
||||
return <!TYPE_MISMATCH, INVALID_IF_AS_EXPRESSION!>if (true) true<!>
|
||||
return <!TYPE_MISMATCH!><!INVALID_IF_AS_EXPRESSION!>if<!> (true) true<!>
|
||||
}
|
||||
|
||||
return if (true) <!CONSTANT_EXPECTED_TYPE_MISMATCH!>true<!> else {}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
fun test1() {
|
||||
run {
|
||||
if (true) {
|
||||
<!INVALID_IF_AS_EXPRESSION!>if (true) {}<!>
|
||||
<!INVALID_IF_AS_EXPRESSION!>if<!> (true) {}
|
||||
}
|
||||
else {
|
||||
1
|
||||
|
||||
@@ -4,7 +4,7 @@ fun test(a: Boolean, b: Boolean): Int {
|
||||
return if(a) {
|
||||
1
|
||||
} else {
|
||||
<!TYPE_MISMATCH, INVALID_IF_AS_EXPRESSION!>if (b) {
|
||||
<!TYPE_MISMATCH!><!INVALID_IF_AS_EXPRESSION!>if<!> (b) {
|
||||
3
|
||||
}<!>
|
||||
}
|
||||
|
||||
+6
-6
@@ -95,21 +95,21 @@ fun testImplicitCoercion() {
|
||||
|
||||
var <!UNUSED_VARIABLE!>u<!> = when(d) {
|
||||
3 -> {
|
||||
<!IMPLICIT_CAST_TO_ANY!><!UNUSED_VALUE!>z =<!> 34<!>
|
||||
}
|
||||
<!IMPLICIT_CAST_TO_ANY!><!UNUSED_VALUE!>z =<!> 34<!>
|
||||
}
|
||||
else -> <!UNUSED_CHANGED_VALUE, IMPLICIT_CAST_TO_ANY!>z--<!>
|
||||
}
|
||||
|
||||
var <!UNUSED_VARIABLE!>iff<!> = <!INVALID_IF_AS_EXPRESSION!>if (true) {
|
||||
var <!UNUSED_VARIABLE!>iff<!> = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) {
|
||||
<!UNUSED_VALUE!>z =<!> 34
|
||||
}<!>
|
||||
val <!UNUSED_VARIABLE!>g<!> = <!INVALID_IF_AS_EXPRESSION!>if (true) 4<!>
|
||||
}
|
||||
val <!UNUSED_VARIABLE!>g<!> = <!INVALID_IF_AS_EXPRESSION!>if<!> (true) 4
|
||||
val <!UNUSED_VARIABLE!>h<!> = if (false) <!IMPLICIT_CAST_TO_ANY!>4<!> else <!IMPLICIT_CAST_TO_ANY!>{}<!>
|
||||
|
||||
bar(if (true) {
|
||||
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>4<!>
|
||||
}
|
||||
else {
|
||||
else {
|
||||
<!UNUSED_VALUE!>z =<!> 342
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user