diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/JavaClassDeclaredMembersEnhancementScope.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/JavaClassDeclaredMembersEnhancementScope.kt index 20bdc40b12d..8f302ff1023 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/JavaClassDeclaredMembersEnhancementScope.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/JavaClassDeclaredMembersEnhancementScope.kt @@ -64,10 +64,8 @@ internal class JavaClassDeclaredMembersEnhancementScope( } override fun processDeclaredConstructors(processor: (FirConstructorSymbol) -> Unit) { - owner.declarations.filterIsInstance().forEach { constructor -> - useSiteMemberEnhancementScope.processDeclaredConstructors { - processor(constructor.symbol) - } + useSiteMemberEnhancementScope.processDeclaredConstructors { symbol -> + processor(symbol) } } diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/scopes/FirIdeNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/scopes/FirIdeNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.java index bcd2e3801d2..10a7f1984de 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/scopes/FirIdeNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/scopes/FirIdeNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.java @@ -57,4 +57,10 @@ public class FirIdeNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated ex public void testJavaDeclaredInheritList() throws Exception { runTest("analysis/analysis-api/testData/scopes/declaredMemberScope/javaDeclaredInheritList.kt"); } + + @Test + @TestMetadata("javaInnerClassConstructor.kt") + public void testJavaInnerClassConstructor() throws Exception { + runTest("analysis/analysis-api/testData/scopes/declaredMemberScope/javaInnerClassConstructor.kt"); + } } diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/scopes/FirStandaloneNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/scopes/FirStandaloneNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.java index 60a774057da..e576ca7108f 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/scopes/FirStandaloneNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/scopes/FirStandaloneNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.java @@ -57,4 +57,10 @@ public class FirStandaloneNormalAnalysisSourceModuleDeclaredMemberScopeTestGener public void testJavaDeclaredInheritList() throws Exception { runTest("analysis/analysis-api/testData/scopes/declaredMemberScope/javaDeclaredInheritList.kt"); } + + @Test + @TestMetadata("javaInnerClassConstructor.kt") + public void testJavaInnerClassConstructor() throws Exception { + runTest("analysis/analysis-api/testData/scopes/declaredMemberScope/javaInnerClassConstructor.kt"); + } } diff --git a/analysis/analysis-api/testData/scopes/declaredMemberScope/javaInnerClassConstructor.kt b/analysis/analysis-api/testData/scopes/declaredMemberScope/javaInnerClassConstructor.kt new file mode 100644 index 00000000000..b8b0ef56e16 --- /dev/null +++ b/analysis/analysis-api/testData/scopes/declaredMemberScope/javaInnerClassConstructor.kt @@ -0,0 +1,10 @@ +// RUNTIME +// class: JavaClass.InnerClass +// FILE: main.kt + +// FILE: JavaClass.java +public class JavaClass { + class InnerClass { + InnerClass(JavaClass other) {} + } +} \ No newline at end of file diff --git a/analysis/analysis-api/testData/scopes/declaredMemberScope/javaInnerClassConstructor.pretty.txt b/analysis/analysis-api/testData/scopes/declaredMemberScope/javaInnerClassConstructor.pretty.txt new file mode 100644 index 00000000000..3a13a6ee6cd --- /dev/null +++ b/analysis/analysis-api/testData/scopes/declaredMemberScope/javaInnerClassConstructor.pretty.txt @@ -0,0 +1 @@ +constructor(other: JavaClass!) diff --git a/analysis/analysis-api/testData/scopes/declaredMemberScope/javaInnerClassConstructor.txt b/analysis/analysis-api/testData/scopes/declaredMemberScope/javaInnerClassConstructor.txt new file mode 100644 index 00000000000..0a8b0f73421 --- /dev/null +++ b/analysis/analysis-api/testData/scopes/declaredMemberScope/javaInnerClassConstructor.txt @@ -0,0 +1,46 @@ +KtConstructorSymbol: + annotationsList: [] + callableIdIfNonLocal: null + containingClassIdIfNonLocal: JavaClass.InnerClass + contextReceivers: [] + hasStableParameterNames: false + isExtension: false + isPrimary: false + origin: JAVA + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: JavaClass.InnerClass + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: other + origin: JAVA + receiverParameter: null + returnType: KtFlexibleType: + annotationsList: [] + type: JavaClass! + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + ] + visibility: PackageVisibility + getDispatchReceiver(): KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: JavaClass + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null