From db0788c68fca73a3334ea420e08bffd628bd987b Mon Sep 17 00:00:00 2001 From: Vladimir Ilmov Date: Fri, 5 Jun 2020 22:21:52 +0200 Subject: [PATCH] (LightClass) KotlinShortNamesCacheTest fix for methods, referenced from companions and classes --- .../jetbrains/kotlin/asJava/LightClassUtil.kt | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassUtil.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassUtil.kt index 5555a8da5d6..02ac43782c5 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassUtil.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassUtil.kt @@ -128,18 +128,10 @@ object LightClassUtil { return getPsiMethodWrappers(declaration).firstOrNull() } - private fun getPsiMethodWrappers(declaration: KtDeclaration): Sequence { - val classes = getWrappingClasses(declaration) - for (clazz in classes) { - // the first class with methods found should contain all methods with kotlinOrigin, so no need to look after - val methods = clazz.methods - .filterIsInstance() - .filter { it.kotlinOrigin === declaration } - if (methods.isNotEmpty()) - return methods.asSequence() - } - return emptySequence() - } + private fun getPsiMethodWrappers(declaration: KtDeclaration): Sequence = + getWrappingClasses(declaration).flatMap { it.methods.asSequence() } + .filterIsInstance() + .filter { it.kotlinOrigin === declaration } private fun getWrappingClass(declaration: KtDeclaration): PsiClass? { if (declaration is KtParameter) {