From 236e41e024beb2f3933c00e8bcb9e7ba00e93fa0 Mon Sep 17 00:00:00 2001 From: Igor Yakovlev Date: Tue, 14 Jul 2020 12:26:52 +0300 Subject: [PATCH] [ULC] Fixed invalid super type for UL scripts --- .../kotlin/asJava/classes/KtLightClassForScript.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForScript.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForScript.kt index 0810f629a8f..4cf66ee730a 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForScript.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForScript.kt @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.asJava.builder.LightClassDataProviderForScript import org.jetbrains.kotlin.asJava.elements.FakeFileForLightClass import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind +import org.jetbrains.kotlin.load.kotlin.TypeMappingMode import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtCodeFragment @@ -49,7 +50,13 @@ open class KtLightClassForScript(val script: KtScript) : KtLazyLightClass(script private val modifierList: PsiModifierList = LightModifierList(manager, KotlinLanguage.INSTANCE, PsiModifier.PUBLIC) - private val implementsList: LightEmptyImplementsList = LightEmptyImplementsList(manager) + private val scriptImplementsList: LightEmptyImplementsList = LightEmptyImplementsList(manager) + + private val scriptExtendsList: PsiReferenceList by lazyPub { + KotlinLightReferenceListBuilder(manager, PsiReferenceList.Role.EXTENDS_LIST).also { + it.addReference("kotlin.script.templates.standard.ScriptTemplateWithArgs") + } + } private val _containingFile by lazyPub { FakeFileForLightClass( @@ -88,9 +95,9 @@ open class KtLightClassForScript(val script: KtScript) : KtLazyLightClass(script override fun getDocComment() = null - override fun getImplementsList() = implementsList + override fun getImplementsList(): PsiReferenceList = scriptImplementsList - override fun getExtendsList(): PsiReferenceList? = implementsList + override fun getExtendsList(): PsiReferenceList = scriptExtendsList override fun getImplementsListTypes(): Array = PsiClassType.EMPTY_ARRAY