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