[AA] Fix processing of declared constructors in enhancement scope

^KTIJ-24948 Fixed
This commit is contained in:
aleksandrina-streltsova
2023-03-16 09:25:11 +02:00
committed by Space Team
parent 46db4b4e6d
commit f39d5d57e1
6 changed files with 71 additions and 4 deletions
@@ -64,10 +64,8 @@ internal class JavaClassDeclaredMembersEnhancementScope(
}
override fun processDeclaredConstructors(processor: (FirConstructorSymbol) -> Unit) {
owner.declarations.filterIsInstance<FirConstructor>().forEach { constructor ->
useSiteMemberEnhancementScope.processDeclaredConstructors {
processor(constructor.symbol)
}
useSiteMemberEnhancementScope.processDeclaredConstructors { symbol ->
processor(symbol)
}
}
@@ -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");
}
}
@@ -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");
}
}
@@ -0,0 +1,10 @@
// RUNTIME
// class: JavaClass.InnerClass
// FILE: main.kt
// FILE: JavaClass.java
public class JavaClass {
class InnerClass {
InnerClass(JavaClass other) {}
}
}
@@ -0,0 +1 @@
constructor(other: JavaClass!)
@@ -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