diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/ClassVtablesBuilder.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/ClassVtablesBuilder.kt index 7fa24dcc83f..84f55edcf00 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/ClassVtablesBuilder.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/ClassVtablesBuilder.kt @@ -93,21 +93,14 @@ internal class ClassVtablesBuilder(val classDescriptor: ClassDescriptor, val con return index } - private val ClassDescriptor.contributedMethodsWithOverridden: List - get() { - return contributedMethods.flatMap { method -> - method.allOverriddenDescriptors.map { OverriddenFunctionDescriptor(method, it) } - }.distinctBy { - Triple(it.overriddenDescriptor.functionName, it.descriptor, it.needBridge) - }.sortedBy { - it.overriddenDescriptor.functionName.localHash.value - } - } - val methodTableEntries: List by lazy { assert(!classDescriptor.isAbstract()) - classDescriptor.contributedMethodsWithOverridden.filter { it.canBeCalledVirtually } + classDescriptor.contributedMethods + .flatMap { method -> method.allOverriddenDescriptors.map { OverriddenFunctionDescriptor(method, it) } } + .filter { it.canBeCalledVirtually } + .distinctBy { Triple(it.overriddenDescriptor.functionName, it.descriptor, it.needBridge) } + .sortedBy { it.overriddenDescriptor.functionName.localHash.value } // TODO: probably method table should contain all accessible methods to improve binary compatibility }