From 89313b34957760a5c68fad6d6e8de264f61f4f01 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 21 Nov 2016 19:29:27 +0100 Subject: [PATCH] Fix exception when companion object is on the top level of a file (EA-89388 - CCE: LightClassUtil$getWrappingClasses$.invoke) --- .../src/org/jetbrains/kotlin/asJava/LightClassUtil.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 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 9e8754fbdc4..a5829e4561d 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassUtil.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassUtil.kt @@ -29,7 +29,6 @@ import org.jetbrains.kotlin.fileClasses.javaFileFacadeFqName import org.jetbrains.kotlin.load.java.JvmAbi import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType -import org.jetbrains.kotlin.utils.addToStdlib.sequenceOfLazyValues object LightClassUtil { @@ -169,8 +168,8 @@ object LightClassUtil { private fun getWrappingClasses(declaration: KtDeclaration): Sequence { val wrapperClass = getWrappingClass(declaration) ?: return emptySequence() val wrapperClassOrigin = (wrapperClass as KtLightClass).kotlinOrigin - if (wrapperClassOrigin is KtObjectDeclaration && wrapperClassOrigin.isCompanion()) { - return sequenceOfLazyValues({ wrapperClass }, { wrapperClass.parent as PsiClass }) + if (wrapperClassOrigin is KtObjectDeclaration && wrapperClassOrigin.isCompanion() && wrapperClass.parent is PsiClass) { + return sequenceOf(wrapperClass, wrapperClass.parent as PsiClass) } return sequenceOf(wrapperClass) }