From 98c0a3bdaa63cd1f5638ac485f6222bedfc736d9 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Sat, 18 Aug 2018 15:21:32 +0200 Subject: [PATCH] Optimize script base class loading --- .../experimental/definitions/definitionFromAnnotation.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/scripting/common/src/kotlin/script/experimental/definitions/definitionFromAnnotation.kt b/libraries/scripting/common/src/kotlin/script/experimental/definitions/definitionFromAnnotation.kt index 711a7096171..8c073a69c74 100644 --- a/libraries/scripting/common/src/kotlin/script/experimental/definitions/definitionFromAnnotation.kt +++ b/libraries/scripting/common/src/kotlin/script/experimental/definitions/definitionFromAnnotation.kt @@ -32,6 +32,7 @@ fun createScriptDefinitionFromAnnotatedBaseClass( } catch (e: Throwable) { throw IllegalArgumentException("${ERROR_MSG_PREFIX}Unable to load base class $baseClassType", e) } + val loadedBaseClassType = if (baseClass == baseClassType.fromClass) baseClassType else KotlinType(baseClass) val mainAnnotation = baseClass.findAnnotation() ?: throw IllegalArgumentException("${ERROR_MSG_PREFIX}Expecting KotlinScript annotation on the $baseClass") @@ -43,7 +44,7 @@ fun createScriptDefinitionFromAnnotatedBaseClass( } return ScriptDefinition { - baseClass(baseClassType) + baseClass(loadedBaseClassType) fileExtension(baseClass.findAnnotation()?.extension ?: mainAnnotation.extension) displayName(mainAnnotation.name)