[lc] drop redundant PsiManager argument from KtLightClassForFacadeBase

^KT-53543
This commit is contained in:
Dmitry Gridin
2022-08-10 15:04:39 +02:00
committed by Space
parent 690322b203
commit acfbe30f7c
4 changed files with 7 additions and 21 deletions
@@ -27,10 +27,9 @@ import org.jetbrains.kotlin.psi.psiUtil.siblings
import javax.swing.Icon
abstract class KtLightClassForFacadeBase constructor(
manager: PsiManager,
override val facadeClassFqName: FqName,
override val files: Collection<KtFile>
) : KtLightClassBase(manager), KtLightClassForFacade {
) : KtLightClassBase(files.first().manager), KtLightClassForFacade {
private val firstFileInFacade by lazyPub { files.iterator().next() }
private val modifierList: PsiModifierList =
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.asJava
import com.intellij.openapi.components.ServiceManager
import com.intellij.openapi.project.Project
import com.intellij.psi.PsiManager
import org.jetbrains.kotlin.asJava.classes.*
import org.jetbrains.kotlin.config.AnalysisFlags
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
@@ -36,11 +35,7 @@ abstract class LightClassGenerationSupport {
internal fun canCreateUltraLightClassForFacade(files: Collection<KtFile>): Boolean = files.none { it.isScript() }
fun createUltraLightClassForFacade(
manager: PsiManager,
facadeClassFqName: FqName,
files: Collection<KtFile>,
): KtUltraLightClassForFacade? {
fun createUltraLightClassForFacade(facadeClassFqName: FqName, files: Collection<KtFile>): KtUltraLightClassForFacade? {
if (!canCreateUltraLightClassForFacade(files)) return null
val filesToSupports: List<Pair<KtFile, KtUltraLightSupport>> = files.map {
@@ -48,7 +43,6 @@ abstract class LightClassGenerationSupport {
}
return KtUltraLightClassForFacade(
manager,
facadeClassFqName,
files,
filesToSupports
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.asJava.classes
import com.intellij.openapi.project.Project
import com.intellij.psi.PsiManager
import com.intellij.psi.search.GlobalSearchScope
import com.intellij.psi.util.CachedValueProvider
import com.intellij.psi.util.CachedValuesManager
@@ -35,10 +34,8 @@ class KotlinK1LightClassFactory : KotlinLightClassFactory {
): KtLightClassForFacade? = FacadeCache.getInstance(project)[facadeClassFqName, searchScope]
override fun createFacadeForSyntheticFile(facadeClassFqName: FqName, file: KtFile): KtLightClassForFacade {
val project = file.project
val manager = PsiManager.getInstance(project)
return LightClassGenerationSupport.getInstance(project).run {
createUltraLightClassForFacade(manager, facadeClassFqName, listOf(file)) ?: error { "Unable to create UL class for facade" }
return LightClassGenerationSupport.getInstance(file.project).run {
createUltraLightClassForFacade(facadeClassFqName, listOf(file)) ?: error { "Unable to create UL class for facade" }
}
}
@@ -84,10 +81,9 @@ class KotlinK1LightClassFactory : KotlinLightClassFactory {
.filterNot { it.isCompiled || it.isScript() }
if (sources.isEmpty()) return null
val manager = PsiManager.getInstance(project)
return LightClassGenerationSupport.getInstance(project).run {
if (!canCreateUltraLightClassForFacade(sources)) return null
createUltraLightClassForFacade(manager, fqName, sources)
createUltraLightClassForFacade(fqName, sources)
?: error("Unable to create UL class for facade: $fqName for ${sources.joinToString { it.virtualFilePath }}")
}
}
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.asJava.classes
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiManager
import com.intellij.psi.PsiModifier
import com.intellij.psi.PsiModifierList
import com.intellij.psi.impl.light.LightModifierList
@@ -23,11 +22,10 @@ import org.jetbrains.kotlin.psi.KtProperty
import org.jetbrains.kotlin.psi.psiUtil.isPrivate
class KtUltraLightClassForFacade(
manager: PsiManager,
facadeClassFqName: FqName,
files: Collection<KtFile>,
private val filesWithSupports: Collection<Pair<KtFile, KtUltraLightSupport>>
) : KtLightClassForFacadeBase(manager, facadeClassFqName, files) {
) : KtLightClassForFacadeBase(facadeClassFqName, files) {
private val _modifierList: PsiModifierList by lazyPub {
if (isMultiFileClass)
LightModifierList(manager, KotlinLanguage.INSTANCE, PsiModifier.PUBLIC, PsiModifier.FINAL)
@@ -135,6 +133,5 @@ class KtUltraLightClassForFacade(
override fun getOwnMethods() = _ownMethods
override fun copy(): KtLightClassForFacade =
KtUltraLightClassForFacade(manager, facadeClassFqName, files, filesWithSupports)
override fun copy(): KtLightClassForFacade = KtUltraLightClassForFacade(facadeClassFqName, files, filesWithSupports)
}