Rename KtLightClassForScript to reuse it for common interface between LCs
This commit is contained in:
committed by
Ilya Kirillov
parent
911e62257a
commit
618d6526a7
+4
-4
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.psi.KtClassOrObject
|
|||||||
import org.jetbrains.kotlin.psi.KtScript
|
import org.jetbrains.kotlin.psi.KtScript
|
||||||
import javax.swing.Icon
|
import javax.swing.Icon
|
||||||
|
|
||||||
abstract class KtLightClassForScript(val script: KtScript) : KtLightClassBase(script.manager) {
|
abstract class KtLightClassForScriptBase(val script: KtScript) : KtLightClassBase(script.manager) {
|
||||||
private val modifierList: PsiModifierList = LightModifierList(
|
private val modifierList: PsiModifierList = LightModifierList(
|
||||||
manager,
|
manager,
|
||||||
KotlinLanguage.INSTANCE,
|
KotlinLanguage.INSTANCE,
|
||||||
@@ -92,7 +92,7 @@ abstract class KtLightClassForScript(val script: KtScript) : KtLightClassBase(sc
|
|||||||
|
|
||||||
override fun isEquivalentTo(another: PsiElement?): Boolean =
|
override fun isEquivalentTo(another: PsiElement?): Boolean =
|
||||||
equals(another) ||
|
equals(another) ||
|
||||||
(another is KtLightClassForScript && fqName == another.fqName)
|
(another is KtLightClassForScriptBase && fqName == another.fqName)
|
||||||
|
|
||||||
override fun getElementIcon(flags: Int): Icon? =
|
override fun getElementIcon(flags: Int): Icon? =
|
||||||
throw UnsupportedOperationException("This should be done by KotlinIconProvider")
|
throw UnsupportedOperationException("This should be done by KotlinIconProvider")
|
||||||
@@ -138,7 +138,7 @@ abstract class KtLightClassForScript(val script: KtScript) : KtLightClassBase(sc
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
val lightClass = other as? KtLightClassForScript ?: return false
|
val lightClass = other as? KtLightClassForScriptBase ?: return false
|
||||||
if (this === other) return true
|
if (this === other) return true
|
||||||
|
|
||||||
if (script != lightClass.script) return false
|
if (script != lightClass.script) return false
|
||||||
@@ -146,5 +146,5 @@ abstract class KtLightClassForScript(val script: KtScript) : KtLightClassBase(sc
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun toString() = "${KtLightClassForScript::class.java.simpleName}:${script.fqName}"
|
override fun toString() = "${KtLightClassForScriptBase::class.java.simpleName}:${script.fqName}"
|
||||||
}
|
}
|
||||||
+2
-2
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.psi.KtScript
|
|||||||
class KtUltraLightClassForScript(
|
class KtUltraLightClassForScript(
|
||||||
script: KtScript,
|
script: KtScript,
|
||||||
private val support: KtUltraLightSupport,
|
private val support: KtUltraLightSupport,
|
||||||
) : KtLightClassForScript(script) {
|
) : KtLightClassForScriptBase(script) {
|
||||||
private val membersBuilder by lazyPub {
|
private val membersBuilder by lazyPub {
|
||||||
UltraLightMembersCreator(
|
UltraLightMembersCreator(
|
||||||
containingClass = this,
|
containingClass = this,
|
||||||
@@ -129,7 +129,7 @@ class KtUltraLightClassForScript(
|
|||||||
|
|
||||||
override fun getOwnFields(): List<KtLightField> = _ownFields
|
override fun getOwnFields(): List<KtLightField> = _ownFields
|
||||||
|
|
||||||
override fun copy(): KtLightClassForScript = KtUltraLightClassForScript(script, support)
|
override fun copy(): KtUltraLightClassForScript = KtUltraLightClassForScript(script, support)
|
||||||
|
|
||||||
override fun getOwnInnerClasses(): List<PsiClass> {
|
override fun getOwnInnerClasses(): List<PsiClass> {
|
||||||
return script.declarations.filterIsInstance<KtClassOrObject>()
|
return script.declarations.filterIsInstance<KtClassOrObject>()
|
||||||
|
|||||||
Reference in New Issue
Block a user