diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt index 060057635f8..8fc9d35832a 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt @@ -415,7 +415,7 @@ class JavaClassUseSiteMemberScope( ?.symbol as? FirNamedFunctionSymbol ?: unwrappedSubstitutionOverride.symbol val originalDeclaredFunction = declaredMemberScope.getFunctions(naturalName).firstOrNull { - it.hasSameJvmDescriptorButDoesNotOverride(functionFromSupertypeWithErasedParameterType) + it.hasSameJvmDescriptor(functionFromSupertypeWithErasedParameterType) && it.hasErasedParameters() } ?: return false val renamedDeclaredFunction = buildJavaMethodCopy(originalDeclaredFunction.fir as FirJavaMethod) { name = naturalName @@ -451,11 +451,10 @@ class JavaClassUseSiteMemberScope( return false } - private fun FirNamedFunctionSymbol.hasSameJvmDescriptorButDoesNotOverride( + private fun FirNamedFunctionSymbol.hasSameJvmDescriptor( builtinWithErasedParameters: FirNamedFunctionSymbol ): Boolean { return fir.computeJvmDescriptor(includeReturnType = false) == builtinWithErasedParameters.fir.computeJvmDescriptor(includeReturnType = false) - && overrideChecker.isOverriddenFunction(this, builtinWithErasedParameters) } private fun processOverridesForFunctionsWithDifferentJvmName( diff --git a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/irrelevantImplMutableList.fir.kt b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/irrelevantImplMutableList.fir.kt index 014849f0c5d..8df9cb824e5 100644 --- a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/irrelevantImplMutableList.fir.kt +++ b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/irrelevantImplMutableList.fir.kt @@ -115,5 +115,5 @@ fun main() { x[0] x.size x.remove("") - x.remove(1) + x.remove(1) } diff --git a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/irrelevantImplMutableListKotlin.fir.kt b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/irrelevantImplMutableListKotlin.fir.kt index 7a1d20c36df..d3e62671310 100644 --- a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/irrelevantImplMutableListKotlin.fir.kt +++ b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/irrelevantImplMutableListKotlin.fir.kt @@ -102,5 +102,5 @@ fun main() { x[0] x.size x.remove("") - x.remove(1) + x.remove(1) }