Files
kotlin/compiler/testData/diagnostics/tests/controlStructures/improperElseInExpression.kt
Dmitry Petrov 609ffc10a9 KT-10322, KT-10646, KT-10647:
- update diagnostic to (supposedly) more useful
- also report IMPLICIT_CAST_TO_ANY if expected type is DONT_CARE
 (effectively "no expected type" for lambda expression).
2016-01-14 10:08:20 +03:00

33 lines
950 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_VARIABLE
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 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!>{}<!>
{
if (true) <!UNUSED_EXPRESSION!>true<!>
}();
{
if (true) true else false
}();
{
if (true) <!IMPLICIT_CAST_TO_ANY!>{}<!> else <!IMPLICIT_CAST_TO_ANY!>false<!>
}();
{
if (true) <!IMPLICIT_CAST_TO_ANY!>true<!> else <!IMPLICIT_CAST_TO_ANY!>{}<!>
}()
fun t(): Boolean {
return <!TYPE_MISMATCH, INVALID_IF_AS_EXPRESSION!>if (true) true<!>
}
return if (true) <!CONSTANT_EXPECTED_TYPE_MISMATCH!>true<!> else {}
}