[Test] Require specifying parser for FIR test. Unify names for FIR tests
Now all tests with `Fir` in name are named accordingly to parser which is used in them -- `FirPsi` or `FirLightTree`. This is needed to keep consistency between different types of tests, because there is no single default in parser mode between different scenarios of using FIR
This commit is contained in:
committed by
Space Team
parent
7e36a88b82
commit
da581f38e1
@@ -45,6 +45,7 @@ import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.resolve.AnalyzingUtils
|
||||
import org.jetbrains.kotlin.resolve.BindingTrace
|
||||
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.util.DummyLogger
|
||||
import org.jetbrains.kotlin.util.Logger
|
||||
import java.io.File
|
||||
@@ -124,6 +125,7 @@ object GenerationUtils {
|
||||
files,
|
||||
emptyList(),
|
||||
IrGenerationExtension.getInstances(project),
|
||||
FirParser.Psi,
|
||||
generateSignatures = false
|
||||
)
|
||||
val fir2IrExtensions = JvmFir2IrExtensions(configuration, JvmIrDeserializerImpl(), JvmIrMangler)
|
||||
|
||||
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.sourceFiles.LightTreeFile
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
|
||||
abstract class AbstractFirAnalyzerFacade {
|
||||
abstract val scopeSession: ScopeSession
|
||||
@@ -45,7 +46,7 @@ class FirAnalyzerFacade(
|
||||
val ktFiles: Collection<KtFile> = emptyList(), // may be empty if light tree mode enabled
|
||||
val lightTreeFiles: Collection<LightTreeFile> = emptyList(), // may be empty if light tree mode disabled
|
||||
val irGeneratorExtensions: Collection<IrGenerationExtension>,
|
||||
val useLightTree: Boolean = false,
|
||||
val parser: FirParser,
|
||||
val enablePluginPhases: Boolean = false,
|
||||
val generateSignatures: Boolean = false
|
||||
) : AbstractFirAnalyzerFacade() {
|
||||
@@ -59,18 +60,21 @@ class FirAnalyzerFacade(
|
||||
private fun buildRawFir() {
|
||||
if (firFiles != null) return
|
||||
val firProvider = (session.firProvider as FirProviderImpl)
|
||||
firFiles = if (useLightTree) {
|
||||
val builder = LightTree2Fir(session, firProvider.kotlinScopeProvider)
|
||||
lightTreeFiles.map {
|
||||
builder.buildFirFile(it.lightTree, it.sourceFile, it.linesMapping).also { firFile ->
|
||||
firProvider.recordFile(firFile)
|
||||
firFiles = when (parser) {
|
||||
FirParser.LightTree -> {
|
||||
val builder = LightTree2Fir(session, firProvider.kotlinScopeProvider)
|
||||
lightTreeFiles.map {
|
||||
builder.buildFirFile(it.lightTree, it.sourceFile, it.linesMapping).also { firFile ->
|
||||
firProvider.recordFile(firFile)
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
val builder = RawFirBuilder(session, firProvider.kotlinScopeProvider)
|
||||
ktFiles.map {
|
||||
builder.buildFirFile(it).also { firFile ->
|
||||
firProvider.recordFile(firFile)
|
||||
FirParser.Psi -> {
|
||||
val builder = RawFirBuilder(session, firProvider.kotlinScopeProvider)
|
||||
ktFiles.map {
|
||||
builder.buildFirFile(it).also { firFile ->
|
||||
firProvider.recordFile(firFile)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user