[FIR] Enable plugin phases if some extensions are registered
This commit is contained in:
committed by
TeamCityServer
parent
1d32d5c7d8
commit
8c11ea266a
@@ -80,7 +80,7 @@ class FirAnalyzerFacade(
|
||||
override fun runResolution(): List<FirFile> {
|
||||
if (firFiles == null) buildRawFir()
|
||||
if (_scopeSession != null) return firFiles!!
|
||||
val resolveProcessor = FirTotalResolveProcessor(session, enablePluginPhases)
|
||||
val resolveProcessor = FirTotalResolveProcessor(session)
|
||||
resolveProcessor.process(firFiles!!)
|
||||
_scopeSession = resolveProcessor.scopeSession
|
||||
return firFiles!!
|
||||
|
||||
+7
-2
@@ -9,16 +9,21 @@ import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase.*
|
||||
import org.jetbrains.kotlin.fir.extensions.extensionService
|
||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveProcessor
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirImplicitTypeBodyResolveProcessor
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.contracts.FirContractResolveProcessor
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.plugin.*
|
||||
|
||||
class FirTotalResolveProcessor(session: FirSession, enablePluginPhases: Boolean = false) {
|
||||
class FirTotalResolveProcessor(session: FirSession) {
|
||||
val scopeSession: ScopeSession = ScopeSession()
|
||||
|
||||
private val processors: List<FirResolveProcessor> = createAllCompilerResolveProcessors(session, scopeSession, enablePluginPhases)
|
||||
private val processors: List<FirResolveProcessor> = createAllCompilerResolveProcessors(
|
||||
session,
|
||||
scopeSession,
|
||||
pluginPhasesEnabled = session.extensionService.registeredExtensionsSize > 0
|
||||
)
|
||||
|
||||
fun process(files: List<FirFile>) {
|
||||
for (processor in processors) {
|
||||
|
||||
Reference in New Issue
Block a user