Files
kotlin-fork/idea/testData/codeInsight/codeVision/ClassPropertiesOverrides.kt
T
2020-06-05 19:15:34 +02:00

23 lines
692 B
Kotlin
Vendored

// 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}
}