Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolveWithStdlib/properties/backingField/lateinitBackingFields.kt
T
Vladislav Grechko cd6e865fb3 Improve support of 'lateinit' modifier
- Allow 'lateinit' for inline classes which underlying type
is suitable for 'lateinit'

- K2: report all problems related to 'lateinit' modifier

^KT-55052: Fixed
2022-11-24 19:47:21 +00:00

36 lines
928 B
Kotlin
Vendored

var that: Int
lateinit field: String
get() = field.length
set(value) {
field = value.toString()
}
fun test() {
that = 1
println(that)
}
// Not allowed for properties with
// custom accessors & backing fields
<!INAPPLICABLE_LATEINIT_MODIFIER, INAPPLICABLE_LATEINIT_MODIFIER!>lateinit<!> var number: Number
field = 4
set(value) {
field = 10
}
val something: Number
<!LATEINIT_FIELD_IN_VAL_PROPERTY, LATEINIT_PROPERTY_FIELD_DECLARATION_WITH_INITIALIZER!>lateinit<!> field = 4
<!INAPPLICABLE_LATEINIT_MODIFIER, INAPPLICABLE_LATEINIT_MODIFIER!>lateinit<!> var oneMore: Number
<!LATEINIT_PROPERTY_FIELD_DECLARATION_WITH_INITIALIZER!>lateinit<!> field = 4
set(value) {
field = 10
}
var thingWithNullableField: Number
<!LATEINIT_NULLABLE_BACKING_FIELD!>lateinit<!> field: String?
get() = 20
set(value) {
field = value.toString()
}