Resolve variable declaration in 'when' subject

This commit is contained in:
Dmitry Petrov
2017-10-20 12:21:17 +03:00
parent 84e49e5b57
commit 1eeafc2d0e
11 changed files with 162 additions and 5 deletions
@@ -0,0 +1,16 @@
// !LANGUAGE: -VariableDeclarationInWhenSubject
// !DIAGNOSTICS: -UNUSED_VARIABLE
fun foo(): Any = 42
fun test(x: Any) {
// NB check that we still resolve 'y', even though current language version doesn' support variable declaration in when subject
val z1 = when (<!UNSUPPORTED_FEATURE!>val y = foo()<!>) {
42 -> "Magic: $y, $x"
else -> {
"Not magic: $y, $x"
}
}
val z2 = "Anyway, it was $<!UNRESOLVED_REFERENCE!>y<!>"
}