Error on 'if' without an 'else' branch when used as an expression

This commit is contained in:
Yan Zhulanow
2015-10-13 18:13:51 +03:00
parent de5dc61820
commit e14c9645dc
29 changed files with 121 additions and 91 deletions
@@ -0,0 +1,33 @@
// !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 = <!IMPLICIT_CAST_TO_UNIT_OR_ANY!>if (true) {} else false<!>
val f = <!IMPLICIT_CAST_TO_UNIT_OR_ANY!>if (true) true else {}<!>
{
if (true) <!UNUSED_EXPRESSION!>true<!>
}();
{
if (true) true else false
}();
{
if (true) {} else false
}();
{
if (true) true else {}
}()
fun t(): Boolean {
return <!TYPE_MISMATCH, INVALID_IF_AS_EXPRESSION!>if (true) true<!>
}
return if (true) <!CONSTANT_EXPECTED_TYPE_MISMATCH!>true<!> else {}
}