[FIR] Extensions symbol provider: Rename create to createIfNeeded

This commit is contained in:
Marco Pennekamp
2023-03-20 21:32:59 +01:00
committed by Space Team
parent d9f515fbb8
commit 4981a52904
4 changed files with 15 additions and 10 deletions
@@ -154,9 +154,10 @@ internal class LLFirSessionCache(private val project: Project) {
registerCompilerPluginExtensions(project, module)
registerCommonComponentsAfterExtensionsAreConfigured()
val switchableExtensionDeclarationsSymbolProvider = FirSwitchableExtensionDeclarationsSymbolProvider.create(session)?.also {
register(FirSwitchableExtensionDeclarationsSymbolProvider::class, it)
}
val switchableExtensionDeclarationsSymbolProvider =
FirSwitchableExtensionDeclarationsSymbolProvider.createIfNeeded(session)?.also {
register(FirSwitchableExtensionDeclarationsSymbolProvider::class, it)
}
val dependencyProvider = LLFirDependenciesSymbolProvider(this, buildList {
addDependencySymbolProvidersTo(session, dependencies, this)
@@ -111,7 +111,7 @@ abstract class FirAbstractSessionFactory {
registerCommonComponentsAfterExtensionsAreConfigured()
val dependencyProviders = computeDependencyProviderList(moduleData)
val generatedSymbolsProvider = FirSwitchableExtensionDeclarationsSymbolProvider.create(this)
val generatedSymbolsProvider = FirSwitchableExtensionDeclarationsSymbolProvider.createIfNeeded(this)
val syntheticFunctionInterfaceProvider =
FirExtensionSyntheticFunctionInterfaceProvider.createIfNeeded(this, moduleData, kotlinScopeProvider)
@@ -5,10 +5,12 @@
package org.jetbrains.kotlin.fir.extensions
import org.jetbrains.kotlin.fir.*
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.FirSessionComponent
import org.jetbrains.kotlin.fir.caches.*
import org.jetbrains.kotlin.fir.declarations.validate
import org.jetbrains.kotlin.fir.ownerGenerator
import org.jetbrains.kotlin.fir.render
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
@@ -28,7 +30,7 @@ class FirExtensionDeclarationsSymbolProvider private constructor(
private val extensions: List<FirDeclarationGenerationExtension>
) : FirSymbolProvider(session), FirSessionComponent {
companion object {
fun create(session: FirSession): FirExtensionDeclarationsSymbolProvider? {
fun createIfNeeded(session: FirSession): FirExtensionDeclarationsSymbolProvider? {
val extensions = session.extensionService.declarationGenerators
if (extensions.isEmpty()) return null
return FirExtensionDeclarationsSymbolProvider(session, session.firCachesFactory, extensions)
@@ -8,7 +8,10 @@ package org.jetbrains.kotlin.fir.extensions
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
import org.jetbrains.kotlin.fir.symbols.impl.*
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
@@ -24,9 +27,8 @@ class FirSwitchableExtensionDeclarationsSymbolProvider private constructor(
private val delegate: FirExtensionDeclarationsSymbolProvider
) : FirSymbolProvider(delegate.session) {
companion object {
fun create(session: FirSession): FirSwitchableExtensionDeclarationsSymbolProvider? {
return FirExtensionDeclarationsSymbolProvider.create(session)?.let { FirSwitchableExtensionDeclarationsSymbolProvider(it) }
}
fun createIfNeeded(session: FirSession): FirSwitchableExtensionDeclarationsSymbolProvider? =
FirExtensionDeclarationsSymbolProvider.createIfNeeded(session)?.let { FirSwitchableExtensionDeclarationsSymbolProvider(it) }
}
private var disabled: Boolean = false