Implementation of exhaustive whens in control flow analysis.

Now control flow analyzer knows when is exhaustive.
If despite of this all conditions are accidentally false, jump to error is generated.
A set of tests (diagnostic, control flow). #KT-5113 Fixed. #KT-6046 Fixed. #KT-1882 Fixed.
This commit is contained in:
Mikhail Glukhikh
2015-05-12 19:20:31 +03:00
parent c4aa6d01a9
commit 0d7f649cc2
16 changed files with 367 additions and 1 deletions
@@ -0,0 +1,6 @@
fun foo(flag: Boolean): Int {
when (flag) {
true -> return 1
false -> return 0
}
}