From 088c25ea418718bca83e549d4f4efa9cabca7534 Mon Sep 17 00:00:00 2001 From: Nikita Bobko Date: Tue, 16 May 2023 17:11:47 +0200 Subject: [PATCH] [Test] Refactor DeferredInit testData to make it more readable Review: https://jetbrains.team/p/kt/reviews/9967 1. Fix weird indentation in ValDeferredInit* 2. Use meaningful names in ValDeferredInit* 3. Drop leading indentation in VarDeferredInit*. Not everyone has a wide monitor 4. Add some NOTICABLE comment that VarDeferredInit* test should be read as table --- .../ValDeferredInitInFinalClass.kt | 95 +++++++++---------- .../ValDeferredInitInOpenClassOpenValError.kt | 71 +++++++------- ...alDeferredInitInOpenClassOpenValWarning.kt | 71 +++++++------- .../VarDeferredInitInFinalClass.kt | 74 ++++++++++----- .../VarDeferredInitInOpenClass.kt | 74 ++++++++++----- 5 files changed, 206 insertions(+), 179 deletions(-) diff --git a/compiler/testData/diagnostics/tests/backingField/ValDeferredInitInFinalClass.kt b/compiler/testData/diagnostics/tests/backingField/ValDeferredInitInFinalClass.kt index fa40f8c6e02..f4414683b94 100644 --- a/compiler/testData/diagnostics/tests/backingField/ValDeferredInitInFinalClass.kt +++ b/compiler/testData/diagnostics/tests/backingField/ValDeferredInitInFinalClass.kt @@ -1,71 +1,64 @@ // FIR_IDENTICAL // DIAGNOSTICS: -DEBUG_INFO_LEAKING_THIS -// a = final + not initialized in place + deferred init -// e = final + not initialized in place -// c = final + initialized in place - -// b = open + not initialized in place + deferred init -// f = open + not initialized in place -// d = open + initialized in place class Foo : I { // no getter - val a0: Int - val e0: Int - val c0: Int = 1 - override val b0: Int - override val f0: Int - override val d0: Int = 1 + val final_notInitializedInPlace_deferredInit0: Int + val final_notInitializedInPlace0: Int + val final_initializedInPlace0: Int = 1 + override val open_notInitializedInPlace_deferredInit0: Int + override val open_notInitializedInPlace0: Int + override val open_initializedInPlace0: Int = 1 // getter with field - val a1: Int; get() = field - val e1: Int; get() = field - val c1: Int = 1; get() = field - override val b1: Int; get() = field - override val f1: Int; get() = field - override val d1: Int = 1; get() = field + val final_notInitializedInPlace_deferredInit1: Int; get() = field + val final_notInitializedInPlace1: Int; get() = field + val final_initializedInPlace1: Int = 1; get() = field + override val open_notInitializedInPlace_deferredinit1: Int; get() = field + override val open_notInitializedInPlace1: Int; get() = field + override val open_initializedInPlace1: Int = 1; get() = field // getter with empty body - val a2: Int; get - val e2: Int; get - val c2: Int = 1; get - override val b2: Int; get - override val f2: Int; get - override val d2: Int = 1; get + val final_notInitializedInPlace_deferredInit2: Int; get + val final_notInitializedInPlace2: Int; get + val final_initializedInPlace2: Int = 1; get + override val open_notInitializedInPlace_deferredinit2: Int; get + override val open_notInitializedInPlace2: Int; get + override val open_initializedInPlace2: Int = 1; get // getter no field - val a3: Int; get() = 1 - val e3: Int; get() = 1 - val c3: Int = 1; get() = 1 - override val b3: Int; get() = 1 - override val f3: Int; get() = 1 - override val d3: Int = 1; get() = 1 + val final_notInitializedInPlace_deferredInit3: Int; get() = 1 + val final_notInitializedInPlace3: Int; get() = 1 + val final_initializedInPlace3: Int = 1; get() = 1 + override val open_notInitializedInPlace_deferredinit3: Int; get() = 1 + override val open_notInitializedInPlace3: Int; get() = 1 + override val open_initializedInPlace3: Int = 1; get() = 1 init { - a0 = 1 - a1 = 1 - a2 = 1 - a3 = 1 + final_notInitializedInPlace_deferredInit0 = 1 + final_notInitializedInPlace_deferredInit1 = 1 + final_notInitializedInPlace_deferredInit2 = 1 + final_notInitializedInPlace_deferredInit3 = 1 - b0 = 1 - b1 = 1 - b2 = 1 - b3 = 1 + open_notInitializedInPlace_deferredInit0 = 1 + open_notInitializedInPlace_deferredinit1 = 1 + open_notInitializedInPlace_deferredinit2 = 1 + open_notInitializedInPlace_deferredinit3 = 1 } } interface I { - val b0: Int - val b1: Int - val b2: Int - val b3: Int + val open_notInitializedInPlace_deferredInit0: Int + val open_notInitializedInPlace_deferredinit1: Int + val open_notInitializedInPlace_deferredinit2: Int + val open_notInitializedInPlace_deferredinit3: Int - val f0: Int - val f1: Int - val f2: Int - val f3: Int + val open_notInitializedInPlace0: Int + val open_notInitializedInPlace1: Int + val open_notInitializedInPlace2: Int + val open_notInitializedInPlace3: Int - val d0: Int - val d1: Int - val d2: Int - val d3: Int + val open_initializedInPlace0: Int + val open_initializedInPlace1: Int + val open_initializedInPlace2: Int + val open_initializedInPlace3: Int } diff --git a/compiler/testData/diagnostics/tests/backingField/ValDeferredInitInOpenClassOpenValError.kt b/compiler/testData/diagnostics/tests/backingField/ValDeferredInitInOpenClassOpenValError.kt index f2f2e287c0b..4d82fe28ef1 100644 --- a/compiler/testData/diagnostics/tests/backingField/ValDeferredInitInOpenClassOpenValError.kt +++ b/compiler/testData/diagnostics/tests/backingField/ValDeferredInitInOpenClassOpenValError.kt @@ -1,55 +1,48 @@ // FIR_IDENTICAL // DIAGNOSTICS: -DEBUG_INFO_LEAKING_THIS // LANGUAGE:+ProhibitOpenValDeferredInitialization -// a = final + not initialized in place + deferred init -// e = final + not initialized in place -// c = final + initialized in place - -// b = open + not initialized in place + deferred init -// f = open + not initialized in place -// d = open + initialized in place open class Foo { // no getter - val a0: Int - val e0: Int - val c0: Int = 1 - open val b0: Int - open val f0: Int - open val d0: Int = 1 + val final_notInitializedInPlace_deferredInit0: Int + val final_notInitializedInPlace0: Int + val final_initializedInPlace0: Int = 1 + open val open_notInitializedInPlace_deferredInit0: Int + open val open_notInitializedInPlace0: Int + open val open_initializedInPlace0: Int = 1 // getter with field - val a1: Int; get() = field - val e1: Int; get() = field - val c1: Int = 1; get() = field - open val b1: Int; get() = field - open val f1: Int; get() = field - open val d1: Int = 1; get() = field + val final_notInitializedInPlace_deferredInit1: Int; get() = field + val final_notInitializedInPlace1: Int; get() = field + val final_initializedInPlace1: Int = 1; get() = field + open val open_notInitializedInPlace_deferredinit1: Int; get() = field + open val open_notInitializedInPlace1: Int; get() = field + open val open_initializedInPlace1: Int = 1; get() = field // getter with empty body - val a2: Int; get - val e2: Int; get - val c2: Int = 1; get - open val b2: Int; get - open val f2: Int; get - open val d2: Int = 1; get + val final_notInitializedInPlace_deferredInit2: Int; get + val final_notInitializedInPlace2: Int; get + val final_initializedInPlace2: Int = 1; get + open val open_notInitializedInPlace_deferredinit2: Int; get + open val open_notInitializedInPlace2: Int; get + open val open_initializedInPlace2: Int = 1; get // getter no field - val a3: Int; get() = 1 - val e3: Int; get() = 1 - val c3: Int = 1; get() = 1 - open val b3: Int; get() = 1 - open val f3: Int; get() = 1 - open val d3: Int = 1; get() = 1 + val final_notInitializedInPlace_deferredInit3: Int; get() = 1 + val final_notInitializedInPlace3: Int; get() = 1 + val final_initializedInPlace3: Int = 1; get() = 1 + open val open_notInitializedInPlace_deferredinit3: Int; get() = 1 + open val open_notInitializedInPlace3: Int; get() = 1 + open val open_initializedInPlace3: Int = 1; get() = 1 init { - a0 = 1 - a1 = 1 - a2 = 1 - a3 = 1 + final_notInitializedInPlace_deferredInit0 = 1 + final_notInitializedInPlace_deferredInit1 = 1 + final_notInitializedInPlace_deferredInit2 = 1 + final_notInitializedInPlace_deferredInit3 = 1 - b0 = 1 - b1 = 1 - b2 = 1 - b3 = 1 + open_notInitializedInPlace_deferredInit0 = 1 + open_notInitializedInPlace_deferredinit1 = 1 + open_notInitializedInPlace_deferredinit2 = 1 + open_notInitializedInPlace_deferredinit3 = 1 } } diff --git a/compiler/testData/diagnostics/tests/backingField/ValDeferredInitInOpenClassOpenValWarning.kt b/compiler/testData/diagnostics/tests/backingField/ValDeferredInitInOpenClassOpenValWarning.kt index d096c5aab1a..4a1078eddfc 100644 --- a/compiler/testData/diagnostics/tests/backingField/ValDeferredInitInOpenClassOpenValWarning.kt +++ b/compiler/testData/diagnostics/tests/backingField/ValDeferredInitInOpenClassOpenValWarning.kt @@ -1,55 +1,48 @@ // FIR_IDENTICAL // DIAGNOSTICS: -DEBUG_INFO_LEAKING_THIS // LANGUAGE:-ProhibitOpenValDeferredInitialization -// a = final + not initialized in place + deferred init -// e = final + not initialized in place -// c = final + initialized in place - -// b = open + not initialized in place + deferred init -// f = open + not initialized in place -// d = open + initialized in place open class Foo { // no getter - val a0: Int - val e0: Int - val c0: Int = 1 - open val b0: Int - open val f0: Int - open val d0: Int = 1 + val final_notInitializedInPlace_deferredInit0: Int + val final_notInitializedInPlace0: Int + val final_initializedInPlace0: Int = 1 + open val open_notInitializedInPlace_deferredInit0: Int + open val open_notInitializedInPlace0: Int + open val open_initializedInPlace0: Int = 1 // getter with field - val a1: Int; get() = field - val e1: Int; get() = field - val c1: Int = 1; get() = field - open val b1: Int; get() = field - open val f1: Int; get() = field - open val d1: Int = 1; get() = field + val final_notInitializedInPlace_deferredInit1: Int; get() = field + val final_notInitializedInPlace1: Int; get() = field + val final_initializedInPlace1: Int = 1; get() = field + open val open_notInitializedInPlace_deferredinit1: Int; get() = field + open val open_notInitializedInPlace1: Int; get() = field + open val open_initializedInPlace1: Int = 1; get() = field // getter with empty body - val a2: Int; get - val e2: Int; get - val c2: Int = 1; get - open val b2: Int; get - open val f2: Int; get - open val d2: Int = 1; get + val final_notInitializedInPlace_deferredInit2: Int; get + val final_notInitializedInPlace2: Int; get + val final_initializedInPlace2: Int = 1; get + open val open_notInitializedInPlace_deferredinit2: Int; get + open val open_notInitializedInPlace2: Int; get + open val open_initializedInPlace2: Int = 1; get // getter no field - val a3: Int; get() = 1 - val e3: Int; get() = 1 - val c3: Int = 1; get() = 1 - open val b3: Int; get() = 1 - open val f3: Int; get() = 1 - open val d3: Int = 1; get() = 1 + val final_notInitializedInPlace_deferredInit3: Int; get() = 1 + val final_notInitializedInPlace3: Int; get() = 1 + val final_initializedInPlace3: Int = 1; get() = 1 + open val open_notInitializedInPlace_deferredinit3: Int; get() = 1 + open val open_notInitializedInPlace3: Int; get() = 1 + open val open_initializedInPlace3: Int = 1; get() = 1 init { - a0 = 1 - a1 = 1 - a2 = 1 - a3 = 1 + final_notInitializedInPlace_deferredInit0 = 1 + final_notInitializedInPlace_deferredInit1 = 1 + final_notInitializedInPlace_deferredInit2 = 1 + final_notInitializedInPlace_deferredInit3 = 1 - b0 = 1 - b1 = 1 - b2 = 1 - b3 = 1 + open_notInitializedInPlace_deferredInit0 = 1 + open_notInitializedInPlace_deferredinit1 = 1 + open_notInitializedInPlace_deferredinit2 = 1 + open_notInitializedInPlace_deferredinit3 = 1 } } diff --git a/compiler/testData/diagnostics/tests/backingField/VarDeferredInitInFinalClass.kt b/compiler/testData/diagnostics/tests/backingField/VarDeferredInitInFinalClass.kt index c0c49edda3c..cb26ede251d 100644 --- a/compiler/testData/diagnostics/tests/backingField/VarDeferredInitInFinalClass.kt +++ b/compiler/testData/diagnostics/tests/backingField/VarDeferredInitInFinalClass.kt @@ -1,5 +1,29 @@ // FIR_IDENTICAL // DIAGNOSTICS: -DEBUG_INFO_LEAKING_THIS + + + + + + + + + + +////////////////////////////////////////////////////////////////////////////////////////////////// +/// READ THIS TEST AS A TABLE IN IDE (It may be not correctly displayed in Space or GitHub)!!! /// +////////////////////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + // a = final + not initialized in place + deferred init // e = final + not initialized in place // c = final + initialized in place @@ -8,35 +32,35 @@ // f = open + not initialized in place // d = open + initialized in place class Foo : I { - // no setter; setter with field; setter with empty body; setter no field; + // no setter; setter with field; setter with empty body; setter no field; // no getter - var a00: Int; var a01: Int; set(v) { field = v }; var a02: Int; set; var a03: Int; set(v) {}; - var e00: Int; var e01: Int; set(v) { field = v }; var e02: Int; set; var e03: Int; set(v) {}; - var c00: Int = 1; var c01: Int = 1; set(v) { field = v }; var c02: Int = 1; set; var c03: Int = 1; set(v) {}; - override var b00: Int; override var b01: Int; set(v) { field = v }; override var b02: Int; set; override var b03: Int; set(v) {}; - override var f00: Int; override var f01: Int; set(v) { field = v }; override var f02: Int; set; override var f03: Int; set(v) {}; - override var d00: Int = 1; override var d01: Int = 1; set(v) { field = v }; override var d02: Int = 1; set; override var d03: Int = 1; set(v) {}; + var a00: Int; var a01: Int; set(v) { field = v }; var a02: Int; set; var a03: Int; set(v) {}; + var e00: Int; var e01: Int; set(v) { field = v }; var e02: Int; set; var e03: Int; set(v) {}; + var c00: Int = 1; var c01: Int = 1; set(v) { field = v }; var c02: Int = 1; set; var c03: Int = 1; set(v) {}; + override var b00: Int; override var b01: Int; set(v) { field = v }; override var b02: Int; set; override var b03: Int; set(v) {}; + override var f00: Int; override var f01: Int; set(v) { field = v }; override var f02: Int; set; override var f03: Int; set(v) {}; + override var d00: Int = 1; override var d01: Int = 1; set(v) { field = v }; override var d02: Int = 1; set; override var d03: Int = 1; set(v) {}; // getter with field - var a10: Int; get() = field; var a11: Int; set(v) { field = v } get() = field; var a12: Int; set get() = field; var a13: Int; set(v) {} get() = field; - var e10: Int; get() = field; var e11: Int; set(v) { field = v } get() = field; var e12: Int; set get() = field; var e13: Int; set(v) {} get() = field; - var c10: Int = 1; get() = field; var c11: Int = 1; set(v) { field = v } get() = field; var c12: Int = 1; set get() = field; var c13: Int = 1; set(v) {} get() = field; - override var b10: Int; get() = field; override var b11: Int; set(v) { field = v } get() = field; override var b12: Int; set get() = field; override var b13: Int; set(v) {} get() = field; - override var f10: Int; get() = field; override var f11: Int; set(v) { field = v } get() = field; override var f12: Int; set get() = field; override var f13: Int; set(v) {} get() = field; - override var d10: Int = 1; get() = field; override var d11: Int = 1; set(v) { field = v } get() = field; override var d12: Int = 1; set get() = field; override var d13: Int = 1; set(v) {} get() = field; + var a10: Int; get() = field; var a11: Int; set(v) { field = v } get() = field; var a12: Int; set get() = field; var a13: Int; set(v) {} get() = field; + var e10: Int; get() = field; var e11: Int; set(v) { field = v } get() = field; var e12: Int; set get() = field; var e13: Int; set(v) {} get() = field; + var c10: Int = 1; get() = field; var c11: Int = 1; set(v) { field = v } get() = field; var c12: Int = 1; set get() = field; var c13: Int = 1; set(v) {} get() = field; + override var b10: Int; get() = field; override var b11: Int; set(v) { field = v } get() = field; override var b12: Int; set get() = field; override var b13: Int; set(v) {} get() = field; + override var f10: Int; get() = field; override var f11: Int; set(v) { field = v } get() = field; override var f12: Int; set get() = field; override var f13: Int; set(v) {} get() = field; + override var d10: Int = 1; get() = field; override var d11: Int = 1; set(v) { field = v } get() = field; override var d12: Int = 1; set get() = field; override var d13: Int = 1; set(v) {} get() = field; // getter with empty body - var a20: Int; get; var a21: Int; set(v) { field = v } get; var a22: Int; set get; var a23: Int; set(v) {} get; - var e20: Int; get; var e21: Int; set(v) { field = v } get; var e22: Int; set get; var e23: Int; set(v) {} get; - var c20: Int = 1; get; var c21: Int = 1; set(v) { field = v } get; var c22: Int = 1; set get; var c23: Int = 1; set(v) {} get; - override var b20: Int; get; override var b21: Int; set(v) { field = v } get; override var b22: Int; set get; override var b23: Int; set(v) {} get; - override var f20: Int; get; override var f21: Int; set(v) { field = v } get; override var f22: Int; set get; override var f23: Int; set(v) {} get; - override var d20: Int = 1; get; override var d21: Int = 1; set(v) { field = v } get; override var d22: Int = 1; set get; override var d23: Int = 1; set(v) {} get; + var a20: Int; get; var a21: Int; set(v) { field = v } get; var a22: Int; set get; var a23: Int; set(v) {} get; + var e20: Int; get; var e21: Int; set(v) { field = v } get; var e22: Int; set get; var e23: Int; set(v) {} get; + var c20: Int = 1; get; var c21: Int = 1; set(v) { field = v } get; var c22: Int = 1; set get; var c23: Int = 1; set(v) {} get; + override var b20: Int; get; override var b21: Int; set(v) { field = v } get; override var b22: Int; set get; override var b23: Int; set(v) {} get; + override var f20: Int; get; override var f21: Int; set(v) { field = v } get; override var f22: Int; set get; override var f23: Int; set(v) {} get; + override var d20: Int = 1; get; override var d21: Int = 1; set(v) { field = v } get; override var d22: Int = 1; set get; override var d23: Int = 1; set(v) {} get; // getter no field - var a30: Int; get() = 1; var a31: Int; set(v) { field = v } get() = 1; var a32: Int; set get() = 1; var a33: Int; set(v) {} get() = 1; - var e30: Int; get() = 1; var e31: Int; set(v) { field = v } get() = 1; var e32: Int; set get() = 1; var e33: Int; set(v) {} get() = 1; - var c30: Int = 1; get() = 1; var c31: Int = 1; set(v) { field = v } get() = 1; var c32: Int = 1; set get() = 1; var c33: Int = 1; set(v) {} get() = 1; - override var b30: Int; get() = 1; override var b31: Int; set(v) { field = v } get() = 1; override var b32: Int; set get() = 1; override var b33: Int; set(v) {} get() = 1; - override var f30: Int; get() = 1; override var f31: Int; set(v) { field = v } get() = 1; override var f32: Int; set get() = 1; override var f33: Int; set(v) {} get() = 1; - override var d30: Int = 1; get() = 1; override var d31: Int = 1; set(v) { field = v } get() = 1; override var d32: Int = 1; set get() = 1; override var d33: Int = 1; set(v) {} get() = 1; + var a30: Int; get() = 1; var a31: Int; set(v) { field = v } get() = 1; var a32: Int; set get() = 1; var a33: Int; set(v) {} get() = 1; + var e30: Int; get() = 1; var e31: Int; set(v) { field = v } get() = 1; var e32: Int; set get() = 1; var e33: Int; set(v) {} get() = 1; + var c30: Int = 1; get() = 1; var c31: Int = 1; set(v) { field = v } get() = 1; var c32: Int = 1; set get() = 1; var c33: Int = 1; set(v) {} get() = 1; + override var b30: Int; get() = 1; override var b31: Int; set(v) { field = v } get() = 1; override var b32: Int; set get() = 1; override var b33: Int; set(v) {} get() = 1; + override var f30: Int; get() = 1; override var f31: Int; set(v) { field = v } get() = 1; override var f32: Int; set get() = 1; override var f33: Int; set(v) {} get() = 1; + override var d30: Int = 1; get() = 1; override var d31: Int = 1; set(v) { field = v } get() = 1; override var d32: Int = 1; set get() = 1; override var d33: Int = 1; set(v) {} get() = 1; init { a00 = 1 diff --git a/compiler/testData/diagnostics/tests/backingField/VarDeferredInitInOpenClass.kt b/compiler/testData/diagnostics/tests/backingField/VarDeferredInitInOpenClass.kt index 9bdfe308bfa..bcc8dea7503 100644 --- a/compiler/testData/diagnostics/tests/backingField/VarDeferredInitInOpenClass.kt +++ b/compiler/testData/diagnostics/tests/backingField/VarDeferredInitInOpenClass.kt @@ -1,5 +1,29 @@ // FIR_IDENTICAL // DIAGNOSTICS: -DEBUG_INFO_LEAKING_THIS + + + + + + + + + + +////////////////////////////////////////////////////////////////////////////////////////////////// +/// READ THIS TEST AS A TABLE IN IDE (It may be not correctly displayed in Space or GitHub)!!! /// +////////////////////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + // a = final + not initialized in place + deferred init // e = final + not initialized in place // c = final + initialized in place @@ -8,35 +32,35 @@ // f = open + not initialized in place // d = open + initialized in place open class Foo { - // no setter; setter with field; setter with empty body; setter no field; + // no setter; setter with field; setter with empty body; setter no field; // no getter - var a00: Int; var a01: Int; set(v) { field = v }; var a02: Int; set; var a03: Int; set(v) {}; - var e00: Int; var e01: Int; set(v) { field = v }; var e02: Int; set; var e03: Int; set(v) {}; - var c00: Int = 1; var c01: Int = 1; set(v) { field = v }; var c02: Int = 1; set; var c03: Int = 1; set(v) {}; - open var b00: Int; open var b01: Int; set(v) { field = v }; open var b02: Int; set; open var b03: Int; set(v) {}; - open var f00: Int; open var f01: Int; set(v) { field = v }; open var f02: Int; set; open var f03: Int; set(v) {}; - open var d00: Int = 1; open var d01: Int = 1; set(v) { field = v }; open var d02: Int = 1; set; open var d03: Int = 1; set(v) {}; + var a00: Int; var a01: Int; set(v) { field = v }; var a02: Int; set; var a03: Int; set(v) {}; + var e00: Int; var e01: Int; set(v) { field = v }; var e02: Int; set; var e03: Int; set(v) {}; + var c00: Int = 1; var c01: Int = 1; set(v) { field = v }; var c02: Int = 1; set; var c03: Int = 1; set(v) {}; + open var b00: Int; open var b01: Int; set(v) { field = v }; open var b02: Int; set; open var b03: Int; set(v) {}; + open var f00: Int; open var f01: Int; set(v) { field = v }; open var f02: Int; set; open var f03: Int; set(v) {}; + open var d00: Int = 1; open var d01: Int = 1; set(v) { field = v }; open var d02: Int = 1; set; open var d03: Int = 1; set(v) {}; // getter with field - var a10: Int; get() = field; var a11: Int; set(v) { field = v } get() = field; var a12: Int; set get() = field; var a13: Int; set(v) {} get() = field; - var e10: Int; get() = field; var e11: Int; set(v) { field = v } get() = field; var e12: Int; set get() = field; var e13: Int; set(v) {} get() = field; - var c10: Int = 1; get() = field; var c11: Int = 1; set(v) { field = v } get() = field; var c12: Int = 1; set get() = field; var c13: Int = 1; set(v) {} get() = field; - open var b10: Int; get() = field; open var b11: Int; set(v) { field = v } get() = field; open var b12: Int; set get() = field; open var b13: Int; set(v) {} get() = field; - open var f10: Int; get() = field; open var f11: Int; set(v) { field = v } get() = field; open var f12: Int; set get() = field; open var f13: Int; set(v) {} get() = field; - open var d10: Int = 1; get() = field; open var d11: Int = 1; set(v) { field = v } get() = field; open var d12: Int = 1; set get() = field; open var d13: Int = 1; set(v) {} get() = field; + var a10: Int; get() = field; var a11: Int; set(v) { field = v } get() = field; var a12: Int; set get() = field; var a13: Int; set(v) {} get() = field; + var e10: Int; get() = field; var e11: Int; set(v) { field = v } get() = field; var e12: Int; set get() = field; var e13: Int; set(v) {} get() = field; + var c10: Int = 1; get() = field; var c11: Int = 1; set(v) { field = v } get() = field; var c12: Int = 1; set get() = field; var c13: Int = 1; set(v) {} get() = field; + open var b10: Int; get() = field; open var b11: Int; set(v) { field = v } get() = field; open var b12: Int; set get() = field; open var b13: Int; set(v) {} get() = field; + open var f10: Int; get() = field; open var f11: Int; set(v) { field = v } get() = field; open var f12: Int; set get() = field; open var f13: Int; set(v) {} get() = field; + open var d10: Int = 1; get() = field; open var d11: Int = 1; set(v) { field = v } get() = field; open var d12: Int = 1; set get() = field; open var d13: Int = 1; set(v) {} get() = field; // getter with empty body - var a20: Int; get; var a21: Int; set(v) { field = v } get; var a22: Int; set get; var a23: Int; set(v) {} get; - var e20: Int; get; var e21: Int; set(v) { field = v } get; var e22: Int; set get; var e23: Int; set(v) {} get; - var c20: Int = 1; get; var c21: Int = 1; set(v) { field = v } get; var c22: Int = 1; set get; var c23: Int = 1; set(v) {} get; - open var b20: Int; get; open var b21: Int; set(v) { field = v } get; open var b22: Int; set get; open var b23: Int; set(v) {} get; - open var f20: Int; get; open var f21: Int; set(v) { field = v } get; open var f22: Int; set get; open var f23: Int; set(v) {} get; - open var d20: Int = 1; get; open var d21: Int = 1; set(v) { field = v } get; open var d22: Int = 1; set get; open var d23: Int = 1; set(v) {} get; + var a20: Int; get; var a21: Int; set(v) { field = v } get; var a22: Int; set get; var a23: Int; set(v) {} get; + var e20: Int; get; var e21: Int; set(v) { field = v } get; var e22: Int; set get; var e23: Int; set(v) {} get; + var c20: Int = 1; get; var c21: Int = 1; set(v) { field = v } get; var c22: Int = 1; set get; var c23: Int = 1; set(v) {} get; + open var b20: Int; get; open var b21: Int; set(v) { field = v } get; open var b22: Int; set get; open var b23: Int; set(v) {} get; + open var f20: Int; get; open var f21: Int; set(v) { field = v } get; open var f22: Int; set get; open var f23: Int; set(v) {} get; + open var d20: Int = 1; get; open var d21: Int = 1; set(v) { field = v } get; open var d22: Int = 1; set get; open var d23: Int = 1; set(v) {} get; // getter no field - var a30: Int; get() = 1; var a31: Int; set(v) { field = v } get() = 1; var a32: Int; set get() = 1; var a33: Int; set(v) {} get() = 1; - var e30: Int; get() = 1; var e31: Int; set(v) { field = v } get() = 1; var e32: Int; set get() = 1; var e33: Int; set(v) {} get() = 1; - var c30: Int = 1; get() = 1; var c31: Int = 1; set(v) { field = v } get() = 1; var c32: Int = 1; set get() = 1; var c33: Int = 1; set(v) {} get() = 1; - open var b30: Int; get() = 1; open var b31: Int; set(v) { field = v } get() = 1; open var b32: Int; set get() = 1; open var b33: Int; set(v) {} get() = 1; - open var f30: Int; get() = 1; open var f31: Int; set(v) { field = v } get() = 1; open var f32: Int; set get() = 1; open var f33: Int; set(v) {} get() = 1; - open var d30: Int = 1; get() = 1; open var d31: Int = 1; set(v) { field = v } get() = 1; open var d32: Int = 1; set get() = 1; open var d33: Int = 1; set(v) {} get() = 1; + var a30: Int; get() = 1; var a31: Int; set(v) { field = v } get() = 1; var a32: Int; set get() = 1; var a33: Int; set(v) {} get() = 1; + var e30: Int; get() = 1; var e31: Int; set(v) { field = v } get() = 1; var e32: Int; set get() = 1; var e33: Int; set(v) {} get() = 1; + var c30: Int = 1; get() = 1; var c31: Int = 1; set(v) { field = v } get() = 1; var c32: Int = 1; set get() = 1; var c33: Int = 1; set(v) {} get() = 1; + open var b30: Int; get() = 1; open var b31: Int; set(v) { field = v } get() = 1; open var b32: Int; set get() = 1; open var b33: Int; set(v) {} get() = 1; + open var f30: Int; get() = 1; open var f31: Int; set(v) { field = v } get() = 1; open var f32: Int; set get() = 1; open var f33: Int; set(v) {} get() = 1; + open var d30: Int = 1; get() = 1; open var d31: Int = 1; set(v) { field = v } get() = 1; open var d32: Int = 1; set get() = 1; open var d33: Int = 1; set(v) {} get() = 1; init { a00 = 1