From 48513c7b1d7354a13b390a04e4b8a4c5299474d3 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 2 Dec 2016 16:10:20 +0300 Subject: [PATCH] Better diagnostics for "no resolver for module descriptor" situation (EA-72838 - ISE: EmptyResolverForProject.resolverForModuleDescriptor) --- .../src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt index 119aed1c44d..f3acd32a6ca 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt @@ -93,7 +93,12 @@ class ResolverForProjectImpl( private fun isCorrectModuleInfo(moduleInfo: M) = moduleInfo in allModules override fun resolverForModuleDescriptor(descriptor: ModuleDescriptor): ResolverForModule { - val computation = resolverByModuleDescriptor[descriptor] ?: return delegateResolver.resolverForModuleDescriptor(descriptor) + val computation = resolverByModuleDescriptor[descriptor] ?: run { + if (delegateResolver is EmptyResolverForProject<*>) { + throw IllegalStateException("$descriptor is not contained in resolver $name") + } + return delegateResolver.resolverForModuleDescriptor(descriptor) + } return computation() }