Control flow changes for secondary constructors

This commit is contained in:
Denis Zharkov
2015-03-10 19:42:45 +03:00
parent 61ae694be4
commit 7f20c4a237
39 changed files with 1785 additions and 30 deletions
@@ -0,0 +1,33 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
class A(val w: Char) {
val x: Int
var y: Int
val z: Int
val v = -1
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val uninitialized: Int<!>
val overinitialized: Int
constructor(): this('a') {
y = 1
<!VAL_REASSIGNMENT!>overinitialized<!> = 2
<!VAL_REASSIGNMENT!>uninitialized<!> = 3
}
// anonymous
init {
x = 4
z = 5
overinitialized = 6
}
constructor(a: Int): this('b') {
y = 7
}
// anonymous
init {
y = 8
}
}