[ULC] Fixed invalid super type for UL scripts
This commit is contained in:
+10
-3
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.asJava.builder.LightClassDataProviderForScript
|
|||||||
import org.jetbrains.kotlin.asJava.elements.FakeFileForLightClass
|
import org.jetbrains.kotlin.asJava.elements.FakeFileForLightClass
|
||||||
import org.jetbrains.kotlin.idea.KotlinLanguage
|
import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||||
import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind
|
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.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||||
import org.jetbrains.kotlin.psi.KtCodeFragment
|
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 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 {
|
private val _containingFile by lazyPub {
|
||||||
FakeFileForLightClass(
|
FakeFileForLightClass(
|
||||||
@@ -88,9 +95,9 @@ open class KtLightClassForScript(val script: KtScript) : KtLazyLightClass(script
|
|||||||
|
|
||||||
override fun getDocComment() = null
|
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> = PsiClassType.EMPTY_ARRAY
|
override fun getImplementsListTypes(): Array<PsiClassType> = PsiClassType.EMPTY_ARRAY
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user