Files
kotlin-fork/compiler/testData/diagnostics/tests/backingField/InitCustomSetter.kt
T
Mikhail Glukhikh c0faf82f77 Initializer is now required for mutable properties with backing fields and open or custom setter #KT-9449 Fixed
Setters without body are not taken into account accordingly to KT-9449.
Old INITIALIZATION_USING_BACKING_FIELD_SETTER are both dropped.
2015-10-14 18:00:13 +03:00

31 lines
543 B
Kotlin
Vendored

class My(val v: Int) {
// Ok: setter is just private
var x: Int
private set
<!MUST_BE_INITIALIZED!>var y: Int<!>
set(arg) { field = arg }
<!MUST_BE_INITIALIZED!>var z: Int<!>
set(arg) { field = arg }
// Ok: initializer available
var w: Int = v
set(arg) { field = arg }
// Ok: no backing field
var u: Int
get() = w
set(arg) { w = 2 * arg }
constructor(): this(0) {
z = v
}
init {
x = 1
y = 2
u = 3
}
}