From 3c74751f733939ed59c730cd162f50ace8a14203 Mon Sep 17 00:00:00 2001 From: Jinseong Jeon Date: Sun, 11 Sep 2022 01:11:05 -0700 Subject: [PATCH] AA: look up inner class from parent class stub --- .../KotlinStaticPsiDeclarationFromBinaryModuleProvider.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/analysis/providers/impl/KotlinStaticPsiDeclarationFromBinaryModuleProvider.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/analysis/providers/impl/KotlinStaticPsiDeclarationFromBinaryModuleProvider.kt index ed55ad91ed7..6d24e1e3c20 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/analysis/providers/impl/KotlinStaticPsiDeclarationFromBinaryModuleProvider.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/analysis/providers/impl/KotlinStaticPsiDeclarationFromBinaryModuleProvider.kt @@ -63,7 +63,13 @@ private class KotlinStaticPsiDeclarationFromBinaryModuleProvider( return fakeFile.classes.single() as ClsClassImpl } - override fun getClassesByClassId(classId: ClassId): Collection { + override fun getClassesByClassId(classId: ClassId): Collection { + classId.parentClassId?.let { parentClassId -> + val innerClassName = classId.relativeClassName.asString().split(".").last() + return getClassesByClassId(parentClassId).mapNotNull { parentClsClass -> + parentClsClass.innerClasses.find { it.name == innerClassName } + } + } return clsClassImplsByFqName(classId.asSingleFqName(), isPackageName = false) }