Better diagnostics for "no resolver for module descriptor" situation (EA-72838 - ISE: EmptyResolverForProject.resolverForModuleDescriptor)

This commit is contained in:
Dmitry Jemerov
2016-12-02 16:10:20 +03:00
parent bd0aa5a358
commit 48513c7b1d
@@ -93,7 +93,12 @@ class ResolverForProjectImpl<M : ModuleInfo>(
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()
}