From acfbe30f7c76967c4ab692c19d21cfadb5e577d2 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Wed, 10 Aug 2022 15:04:39 +0200 Subject: [PATCH] [lc] drop redundant PsiManager argument from KtLightClassForFacadeBase ^KT-53543 --- .../kotlin/asJava/classes/KtLightClassForFacadeBase.kt | 3 +-- .../kotlin/asJava/LightClassGenerationSupport.kt | 8 +------- .../kotlin/asJava/classes/KotlinK1LightClassFactory.kt | 10 +++------- .../asJava/classes/ultraKtLightClassForFacade.kt | 7 ++----- 4 files changed, 7 insertions(+), 21 deletions(-) diff --git a/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForFacadeBase.kt b/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForFacadeBase.kt index 4fee60c42bf..5b6384980c6 100644 --- a/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForFacadeBase.kt +++ b/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForFacadeBase.kt @@ -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 -) : KtLightClassBase(manager), KtLightClassForFacade { +) : KtLightClassBase(files.first().manager), KtLightClassForFacade { private val firstFileInFacade by lazyPub { files.iterator().next() } private val modifierList: PsiModifierList = diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassGenerationSupport.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassGenerationSupport.kt index 4ad992cba66..2427575ed52 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassGenerationSupport.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/LightClassGenerationSupport.kt @@ -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): Boolean = files.none { it.isScript() } - fun createUltraLightClassForFacade( - manager: PsiManager, - facadeClassFqName: FqName, - files: Collection, - ): KtUltraLightClassForFacade? { + fun createUltraLightClassForFacade(facadeClassFqName: FqName, files: Collection): KtUltraLightClassForFacade? { if (!canCreateUltraLightClassForFacade(files)) return null val filesToSupports: List> = files.map { @@ -48,7 +43,6 @@ abstract class LightClassGenerationSupport { } return KtUltraLightClassForFacade( - manager, facadeClassFqName, files, filesToSupports diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KotlinK1LightClassFactory.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KotlinK1LightClassFactory.kt index eca1621a116..9a8203582cb 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KotlinK1LightClassFactory.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KotlinK1LightClassFactory.kt @@ -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 }}") } } diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraKtLightClassForFacade.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraKtLightClassForFacade.kt index 33cc08af051..b960c6cc258 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraKtLightClassForFacade.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraKtLightClassForFacade.kt @@ -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, private val filesWithSupports: Collection> -) : 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) }