From 95703786ee10bdf5957c4d5b8fc70471ab509a11 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Wed, 13 Apr 2016 09:44:57 +0200 Subject: [PATCH] Change error reporting for unresolved script definition types --- .../jetbrains/kotlin/script/KotlinScriptDefinition.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/script/KotlinScriptDefinition.kt b/compiler/frontend/src/org/jetbrains/kotlin/script/KotlinScriptDefinition.kt index 727ef3ca71f..a646b7c67b6 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/script/KotlinScriptDefinition.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/script/KotlinScriptDefinition.kt @@ -26,7 +26,9 @@ import org.jetbrains.kotlin.parsing.KotlinParserDefinition import org.jetbrains.kotlin.psi.KtScript import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns import org.jetbrains.kotlin.resolve.descriptorUtil.module -import org.jetbrains.kotlin.serialization.deserialization.findClassAcrossModuleDependencies +import org.jetbrains.kotlin.serialization.deserialization.NotFoundClasses +import org.jetbrains.kotlin.serialization.deserialization.findNonGenericClassAcrossDependencies +import org.jetbrains.kotlin.storage.LockBasedStorageManager import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.Variance import kotlin.reflect.KClass @@ -78,5 +80,7 @@ fun getKotlinType(scriptDescriptor: ScriptDescriptor, kClass: KClass): kClass.qualifiedName ?: throw RuntimeException("Cannot get FQN from $kClass")) fun getKotlinTypeByFqName(scriptDescriptor: ScriptDescriptor, fqName: String): KotlinType = - scriptDescriptor.module.findClassAcrossModuleDependencies(ClassId.topLevel(FqName(fqName)))?.defaultType ?: - throw RuntimeException("Cannot find class $fqName in the dependencies, may be it is missing in the classpath") + scriptDescriptor.module.findNonGenericClassAcrossDependencies( + ClassId.topLevel(FqName(fqName)), + NotFoundClasses(LockBasedStorageManager.NO_LOCKS, scriptDescriptor.module) + ).defaultType