From edf9c3a2f5e0cf12581a0d315f3a931f754375bf Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Tue, 31 Jan 2023 09:09:28 +0000 Subject: [PATCH] Add more diagnostic info Resolver could be GCed if there is no any valid hard reference to it. Some impl of PackageFragmentProvider (like DelegatingPackageFragmentProvider) keep hard ref to resolver. For the sake of investigation it is worth to know what kind of PFP is there. #EA-725255 Merge-request: KT-MR-8581 Merged-by: Vladimir Dolzhenko --- .../kotlin/descriptors/impl/ModuleDescriptorImpl.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt index b459556d04c..16491416f3c 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt @@ -155,8 +155,12 @@ class ModuleDescriptorImpl @JvmOverloads constructor( override fun getCapability(capability: ModuleCapability) = capabilities[capability] as? T override fun toString(): String { - val toString = super.toString() - return if (isValid) toString else "$toString !isValid" + return buildString { + append(super.toString()) + if (!isValid) append(" !isValid") + append(" packageFragmentProvider: ") + append(packageFragmentProviderForModuleContent?.javaClass?.simpleName) + } } }