[FIR] Migrate fir plugin prototype tests to new test infrastructure

This commit is contained in:
Dmitriy Novozhilov
2021-09-20 18:24:10 +03:00
committed by TeamCityServer
parent e56c87a17a
commit 6d42914e56
20 changed files with 214 additions and 155 deletions
@@ -45,7 +45,8 @@ class FirAnalyzerFacade(
val languageVersionSettings: LanguageVersionSettings,
val ktFiles: Collection<KtFile> = emptyList(), // may be empty if light tree mode enabled
val originalFiles: Collection<File> = emptyList(), // may be empty if light tree mode disabled
val useLightTree: Boolean = false
val useLightTree: Boolean = false,
val enablePluginPhases: Boolean = false,
) : AbstractFirAnalyzerFacade() {
private var firFiles: List<FirFile>? = null
private var _scopeSession: ScopeSession? = null
@@ -77,7 +78,7 @@ class FirAnalyzerFacade(
override fun runResolution(): List<FirFile> {
if (firFiles == null) buildRawFir()
if (_scopeSession != null) return firFiles!!
val resolveProcessor = FirTotalResolveProcessor(session)
val resolveProcessor = FirTotalResolveProcessor(session, enablePluginPhases)
resolveProcessor.process(firFiles!!)
_scopeSession = resolveProcessor.scopeSession
return firFiles!!
@@ -15,10 +15,10 @@ import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirImplicitTyp
import org.jetbrains.kotlin.fir.resolve.transformers.contracts.FirContractResolveProcessor
import org.jetbrains.kotlin.fir.resolve.transformers.plugin.*
class FirTotalResolveProcessor(session: FirSession) {
class FirTotalResolveProcessor(session: FirSession, enablePluginPhases: Boolean = false) {
val scopeSession: ScopeSession = ScopeSession()
private val processors: List<FirResolveProcessor> = createAllCompilerResolveProcessors(session, scopeSession)
private val processors: List<FirResolveProcessor> = createAllCompilerResolveProcessors(session, scopeSession, enablePluginPhases)
fun process(files: List<FirFile>) {
for (processor in processors) {