blob: f678ba45cec8dde0f66ff6debe4ad3b618cd9e4b [file] [log] [blame]
// MODE: inheritors
<# block [ 1 Inheritor] #>
abstract class SomeClass {
<# block [ 1 Override] #>
abstract val someAbstractProperty: Int
<# block [ 2 Overrides] #>
open val nonAbstractProperty: Int = 10
open val notToBeOverriddenProperty: Int = 10
}
<# block [ 1 Inheritor] #>
open class DerivedClassA : SomeClass() {
override val someAbstractProperty: Int = 5
<# block [ 1 Override] #>
override val nonAbstractProperty: Int = 15 // NOTE that DerivedClassB overrides both getter and setter but counted once
}
class DerivedClassB : DerivedClassA() {
override var nonAbstractProperty: Int = 15
get() = 20
set(value) {field = value / 2}
}