diff --git a/native/frontend/src/org/jetbrains/kotlin/resolve/konan/platform/NativePlatformAnalyzerServices.kt b/native/frontend/src/org/jetbrains/kotlin/resolve/konan/platform/NativePlatformAnalyzerServices.kt index 53d9da61b78..f074516d22d 100644 --- a/native/frontend/src/org/jetbrains/kotlin/resolve/konan/platform/NativePlatformAnalyzerServices.kt +++ b/native/frontend/src/org/jetbrains/kotlin/resolve/konan/platform/NativePlatformAnalyzerServices.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.resolve.konan.platform +import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.resolve.* import org.jetbrains.kotlin.storage.StorageManager @@ -14,4 +15,9 @@ object NativePlatformAnalyzerServices : PlatformDependentAnalyzerServices() { } override val platformConfigurator: PlatformConfigurator = NativePlatformConfigurator + + override val excludedImports: List = + listOf("identityHashCode").map { + FqName("kotlin.native.$it") + } } diff --git a/native/frontend/src/org/jetbrains/kotlin/resolve/konan/platform/NativePlatformConfigurator.kt b/native/frontend/src/org/jetbrains/kotlin/resolve/konan/platform/NativePlatformConfigurator.kt index b43074e8662..bc6c35913c5 100644 --- a/native/frontend/src/org/jetbrains/kotlin/resolve/konan/platform/NativePlatformConfigurator.kt +++ b/native/frontend/src/org/jetbrains/kotlin/resolve/konan/platform/NativePlatformConfigurator.kt @@ -7,14 +7,19 @@ package org.jetbrains.kotlin.resolve.konan.platform import org.jetbrains.kotlin.container.StorageComponentContainer import org.jetbrains.kotlin.container.useImpl +import org.jetbrains.kotlin.container.useInstance +import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor +import org.jetbrains.kotlin.psi.KtCallableDeclaration import org.jetbrains.kotlin.resolve.* import org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker +import org.jetbrains.kotlin.resolve.inline.ReasonableInlineRule import org.jetbrains.kotlin.resolve.jvm.checkers.SuperCallWithDefaultArgumentsChecker object NativePlatformConfigurator : PlatformConfiguratorBase( additionalCallCheckers = listOf(SuperCallWithDefaultArgumentsChecker()) ) { override fun configureModuleComponents(container: StorageComponentContainer) { + container.useInstance(NativeInliningRule) } override fun configureModuleDependentCheckers(container: StorageComponentContainer) { @@ -22,3 +27,11 @@ object NativePlatformConfigurator : PlatformConfiguratorBase( container.useImpl() } } + +object NativeInliningRule : ReasonableInlineRule { + override fun isInlineReasonable( + descriptor: CallableMemberDescriptor, + declaration: KtCallableDeclaration, + context: BindingContext + ): Boolean = true +} \ No newline at end of file