[FIR] Don't generate delegated members for java methods with default implementation

^KT-62334 Fixed
This commit is contained in:
Dmitriy Novozhilov
2023-10-05 12:04:37 +03:00
committed by Space Team
parent 5857e6cc5d
commit 61ec143b74
16 changed files with 78 additions and 30 deletions
@@ -54,6 +54,7 @@ import org.jetbrains.kotlin.fir.scopes.FirOverrideService
import org.jetbrains.kotlin.fir.scopes.FirPlatformClassMapper
import org.jetbrains.kotlin.fir.scopes.PlatformSpecificOverridabilityRules
import org.jetbrains.kotlin.fir.scopes.impl.*
import org.jetbrains.kotlin.fir.scopes.jvm.FirJvmDelegatedMembersFilter
import org.jetbrains.kotlin.fir.scopes.jvm.JvmMappedScope.FirMappedSymbolStorage
import org.jetbrains.kotlin.fir.serialization.FirProvidedDeclarationsForMetadataService
import org.jetbrains.kotlin.fir.symbols.FirLazyDeclarationResolver
@@ -159,6 +160,7 @@ fun FirSession.registerJavaComponents(
register(FirOverridesBackwardCompatibilityHelper::class, FirJvmOverridesBackwardCompatibilityHelper)
register(FirInlineCheckerPlatformSpecificComponent::class, FirJvmInlineCheckerComponent())
register(FirGenericArrayClassLiteralSupport::class, FirGenericArrayClassLiteralSupport.Enabled)
register(FirDelegatedMembersFilter::class, FirJvmDelegatedMembersFilter(this))
}
// -------------------------- Resolve components --------------------------
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.extensions.FirExtensionService
import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider
import org.jetbrains.kotlin.fir.resolve.calls.ConeCallConflictResolverFactory
import org.jetbrains.kotlin.fir.scopes.FirPlatformClassMapper
import org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment
import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope
import org.jetbrains.kotlin.incremental.components.EnumWhenTracker
@@ -138,5 +139,6 @@ object FirSessionFactoryHelper {
register(ConeCallConflictResolverFactory::class, DefaultCallConflictResolverFactory)
register(FirPlatformClassMapper::class, FirPlatformClassMapper.Default)
register(FirOverridesBackwardCompatibilityHelper::class, FirDefaultOverridesBackwardCompatibilityHelper)
register(FirDelegatedMembersFilter::class, FirDelegatedMembersFilter.Default)
}
}