[FIR] Don't generated fake-overrides for private declarations of actualized super classes

^KT-58252 Fixed
This commit is contained in:
Dmitriy Novozhilov
2023-04-26 15:54:55 +03:00
committed by Space Team
parent cfa481d38f
commit e9c8be3b64
17 changed files with 124 additions and 0 deletions
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.backend.common.actualizer
import org.jetbrains.kotlin.KtDiagnosticReporterWithImplicitIrBasedContext
import org.jetbrains.kotlin.backend.common.CommonBackendErrors
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
import org.jetbrains.kotlin.ir.builders.declarations.buildProperty
@@ -67,6 +68,7 @@ internal class MissingFakeOverridesAdder(
val actualClass = expectActualMap[expectClass.symbol]?.owner as? IrClass ?: continue
for (actualMember in actualClass.declarations) {
if (actualMember.isBuiltinMember() || actualMember in added) continue
if ((actualMember as? IrDeclarationWithVisibility)?.visibility == DescriptorVisibilities.PRIVATE) continue
addFakeOverride(actualMember, members, declaration)
}
}