[FE] Prohibit open val deferred initialization
^KT-57553 Fixed Review: https://jetbrains.team/p/kt/reviews/9967 Other related tests: - testUninitializedOrReassignedVariables - testUseOfPropertiesWithoutPrimary - @TestMetadata("compiler/testData/diagnostics/tests/secondaryConstructors") - testAugmentedAssignmentInInitializer - testInitOpenSetter - testInitOverrideInConstructorComplex - testPropertyInitializationOrder
This commit is contained in:
+18
-18
@@ -9,28 +9,28 @@
|
||||
// d = open + initialized in place
|
||||
class Foo : I {
|
||||
// no getter
|
||||
val a0: Int
|
||||
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val e0: Int<!>
|
||||
val c0: Int = 1
|
||||
override val b0: Int
|
||||
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>override val f0: Int<!>
|
||||
override val d0: Int = 1
|
||||
val a0: Int
|
||||
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val e0: Int<!>
|
||||
val c0: Int = 1
|
||||
override val b0: Int
|
||||
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>override val f0: Int<!>
|
||||
override val d0: Int = 1
|
||||
|
||||
// getter with field
|
||||
val a1: Int; get() = field
|
||||
<!MUST_BE_INITIALIZED!>val e1: Int<!>; get() = field
|
||||
val c1: Int = 1; get() = field
|
||||
override val b1: Int; get() = field
|
||||
<!MUST_BE_INITIALIZED!>override val f1: Int<!>; get() = field
|
||||
override val d1: Int = 1; get() = field
|
||||
val a1: Int; get() = field
|
||||
<!MUST_BE_INITIALIZED!>val e1: Int<!>; get() = field
|
||||
val c1: Int = 1; get() = field
|
||||
override val b1: Int; get() = field
|
||||
<!MUST_BE_INITIALIZED!>override val f1: Int<!>; get() = field
|
||||
override val d1: Int = 1; get() = field
|
||||
|
||||
// getter with empty body
|
||||
val a2: Int; get
|
||||
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val e2: Int<!>; get
|
||||
val c2: Int = 1; get
|
||||
override val b2: Int; get
|
||||
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>override val f2: Int<!>; get
|
||||
override val d2: Int = 1; get
|
||||
val a2: Int; get
|
||||
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val e2: Int<!>; get
|
||||
val c2: Int = 1; get
|
||||
override val b2: Int; get
|
||||
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>override val f2: Int<!>; get
|
||||
override val d2: Int = 1; get
|
||||
|
||||
// getter no field
|
||||
val a3: Int; get() = 1
|
||||
|
||||
Reference in New Issue
Block a user