[decompiler] navigate to containing class for fake object descriptors

^ KTIJ-25661
This commit is contained in:
Anna Kozlova
2023-05-30 09:23:56 +02:00
committed by Space Team
parent 793e3552e7
commit b8e868caf6
@@ -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