diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt index 0a32bbc8a22..0a2dac58aa4 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt @@ -213,36 +213,29 @@ private val simpleDeclarationCollector: (FirDeclaration, MutableMap.collectCallableNamesFromSupertypes( - session: FirSession, - result: MutableMap = mutableMapOf(), - record: (FirDeclaration, MutableMap) -> Unit = simpleDeclarationCollector -): Set { +internal fun FirClass<*>.collectCallableNamesFromSupertypes(session: FirSession): Set { + val result = mutableMapOf() for (superTypeRef in superTypeRefs) { - superTypeRef.collectDeclarationsFromThisAndSupertypes(session, result, record) + superTypeRef.collectDeclarationsFromThisAndSupertypes(session, result, simpleDeclarationCollector) } return result.keys } internal fun FirClass<*>.collectContributedFunctionsFromSupertypes( session: FirSession, - result: MutableMap = mutableMapOf(), - record: (FirDeclaration, MutableMap) -> Unit = { declaration, map -> - if (declaration is FirSimpleFunction && declaration.body != null) { - map.putIfAbsent(declaration.name, declaration) - } - } + record: (FirDeclaration, MutableMap) -> Unit ): Map { + val result = mutableMapOf() for (superTypeRef in superTypeRefs) { superTypeRef.collectDeclarationsFromThisAndSupertypes(session, result, record) } return result } -fun FirClass<*>.collectDeclarationsFromSupertypes( +private fun FirClass<*>.collectDeclarationsFromSupertypes( session: FirSession, - result: MutableMap = mutableMapOf(), - record: (FirDeclaration, MutableMap) -> Unit = simpleDeclarationCollector + result: MutableMap, + record: (FirDeclaration, MutableMap) -> Unit ): Map { for (superTypeRef in superTypeRefs) { superTypeRef.collectDeclarationsFromThisAndSupertypes(session, result, record) @@ -252,8 +245,8 @@ fun FirClass<*>.collectDeclarationsFromSupertypes( private fun FirTypeRef.collectDeclarationsFromThisAndSupertypes( session: FirSession, - result: MutableMap = mutableMapOf(), - record: (FirDeclaration, MutableMap) -> Unit = simpleDeclarationCollector + result: MutableMap, + record: (FirDeclaration, MutableMap) -> Unit ): Map { if (this is FirResolvedTypeRef) { val superType = type