package b abstract class B { open val propWithFinal: Int get() = 1 open val propWithNonFinal: Int get() = 2 } abstract class Base: B() { override final val propWithFinal: Int = 3 override val propWithNonFinal: Int = 4 fun fooFinal() = this.propWithFinal fun fooNonFinal() = this.propWithNonFinal } // 2 GETFIELD b/Base.propWithFinal : I // 1 INVOKEVIRTUAL b/Base.getPropWithNonFinal \(\)I