diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AbstractResolverForProject.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AbstractResolverForProject.kt index fddd38687ce..573cc1e9d56 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AbstractResolverForProject.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AbstractResolverForProject.kt @@ -124,6 +124,7 @@ abstract class AbstractResolverForProject( */ private fun resolverForModuleDescriptorImpl(descriptor: ModuleDescriptor): ResolverForModule? { return projectContext.storageManager.compute { + descriptor.assertValid() val module = moduleInfoByDescriptor[descriptor] if (module == null) { if (delegateResolver is EmptyResolverForProject<*>) { 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 50b3775c4c9..b459556d04c 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt @@ -153,6 +153,11 @@ class ModuleDescriptorImpl @JvmOverloads constructor( @Suppress("UNCHECKED_CAST") override fun getCapability(capability: ModuleCapability) = capabilities[capability] as? T + + override fun toString(): String { + val toString = super.toString() + return if (isValid) toString else "$toString !isValid" + } } interface ModuleDependencies {