From b8e868caf6c8127b7bb52cc5c4364f6054ca7772 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 30 May 2023 09:23:56 +0200 Subject: [PATCH] [decompiler] navigate to containing class for fake object descriptors ^ KTIJ-25661 --- .../analysis/decompiler/psi/text/ByDescriptorIndexer.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/text/ByDescriptorIndexer.kt b/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/text/ByDescriptorIndexer.kt index 57d08b089c4..433d441f91b 100644 --- a/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/text/ByDescriptorIndexer.kt +++ b/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/text/ByDescriptorIndexer.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.psi.psiUtil.hasSuspendModifier import org.jetbrains.kotlin.psi.psiUtil.unwrapNullability import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes import org.jetbrains.kotlin.renderer.DescriptorRenderer +import org.jetbrains.kotlin.resolve.calls.util.FakeCallableDescriptorForObject import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.types.AbbreviatedType @@ -57,6 +58,10 @@ object ByDescriptorIndexer { return getDeclarationForDescriptor(original.containingDeclaration, file) } + if (original is FakeCallableDescriptorForObject) { + return getDeclarationForDescriptor(original.classDescriptor, file) + } + if (original is MemberDescriptor) { val declarationContainer: KtDeclarationContainer? = when { DescriptorUtils.isTopLevelDeclaration(original) -> file