From a4f7bee9ad9a4030081dbce01340af56d8ac45da Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 1 Dec 2021 10:54:16 +0300 Subject: [PATCH] FirTypeIntersectionScope: minor mutability refactoring --- .../kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt index 789b6cd7fe0..0cef5fc4be8 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt @@ -102,7 +102,7 @@ class FirTypeIntersectionScope private constructor( while (allMembersWithScope.size > 1) { val maxByVisibility = findMemberWithMaxVisibility(allMembersWithScope) val extractBothWaysWithPrivate = extractBothWaysOverridable(maxByVisibility, allMembersWithScope) - val extractedOverrides = extractBothWaysWithPrivate.filterNotTo(mutableListOf()) { + val extractedOverrides = extractBothWaysWithPrivate.filterNot { Visibilities.isPrivate((it.member.fir as FirMemberDeclaration).visibility) }.takeIf { it.isNotEmpty() } ?: extractBothWaysWithPrivate val baseMembersForIntersection = extractedOverrides.calcBaseMembersForIntersectionOverride() @@ -194,9 +194,7 @@ class FirTypeIntersectionScope private constructor( } } } - val result = this.toMutableList() - result.removeIf { (member, _) -> member.fir.unwrapSubstitutionOverrides().symbol in baseMembers } - return result + return filterNot { (member, _) -> member.fir.unwrapSubstitutionOverrides().symbol in baseMembers } } private fun > chooseIntersectionOverrideModality( @@ -467,7 +465,7 @@ class FirTypeIntersectionScope private constructor( private fun > extractBothWaysOverridable( overrider: MemberWithBaseScope, members: MutableCollection> - ): MutableList> { + ): List> { val result = mutableListOf>().apply { add(overrider) } val iterator = members.iterator()