LC: commonize facade for multi-file class
This commit is contained in:
committed by
Dmitrii Gridin
parent
bcee270265
commit
0ac3fae9ab
+1
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.psi.KtFile
|
||||
interface KtLightClassForFacade : KtLightClass {
|
||||
val facadeClassFqName: FqName
|
||||
val files: Collection<KtFile>
|
||||
val multiFileClass: Boolean
|
||||
|
||||
override fun getName(): String = facadeClassFqName.shortName().asString()
|
||||
}
|
||||
|
||||
+2
-2
@@ -35,12 +35,12 @@ abstract class KtLightClassForFacadeBase constructor(
|
||||
) : KtLightClassBase(files.first().manager), KtLightClassForFacade {
|
||||
private val firstFileInFacade by lazyPub { files.first() }
|
||||
|
||||
val isMultiFileClass: Boolean by lazyPub {
|
||||
override val multiFileClass: Boolean by lazyPub {
|
||||
files.size > 1 || firstFileInFacade.isJvmMultifileClassFile
|
||||
}
|
||||
|
||||
private val _modifierList: PsiModifierList by lazyPub {
|
||||
if (isMultiFileClass)
|
||||
if (multiFileClass)
|
||||
LightModifierList(manager, KotlinLanguage.INSTANCE, PsiModifier.PUBLIC, PsiModifier.FINAL)
|
||||
else
|
||||
createModifierListForSimpleFacade()
|
||||
|
||||
Reference in New Issue
Block a user