IR: use IrFactory in SymbolTable
This commit is contained in:
@@ -7,10 +7,10 @@ package org.jetbrains.kotlin.fir.backend
|
||||
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.backend.evaluate.evaluateConstants
|
||||
import org.jetbrains.kotlin.fir.backend.generators.AnnotationGenerator
|
||||
import org.jetbrains.kotlin.fir.backend.generators.CallAndReferenceGenerator
|
||||
import org.jetbrains.kotlin.fir.backend.generators.FakeOverrideGenerator
|
||||
import org.jetbrains.kotlin.fir.backend.evaluate.evaluateConstants
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.descriptors.FirModuleDescriptor
|
||||
import org.jetbrains.kotlin.fir.psi
|
||||
@@ -199,13 +199,13 @@ class Fir2IrConverter(
|
||||
scopeSession: ScopeSession,
|
||||
firFiles: List<FirFile>,
|
||||
languageVersionSettings: LanguageVersionSettings,
|
||||
fakeOverrideMode: FakeOverrideMode = FakeOverrideMode.NORMAL,
|
||||
signaturer: IdSignatureComposer,
|
||||
generatorExtensions: GeneratorExtensions,
|
||||
mangler: FirMangler
|
||||
mangler: FirMangler,
|
||||
irFactory: IrFactory,
|
||||
): Fir2IrResult {
|
||||
val moduleDescriptor = FirModuleDescriptor(session)
|
||||
val symbolTable = SymbolTable(signaturer)
|
||||
val symbolTable = SymbolTable(signaturer, irFactory)
|
||||
val constantValueGenerator = ConstantValueGenerator(moduleDescriptor, symbolTable)
|
||||
val typeTranslator = TypeTranslator(
|
||||
symbolTable,
|
||||
@@ -247,7 +247,7 @@ class Fir2IrConverter(
|
||||
converter.processClassHeaders(firFile)
|
||||
}
|
||||
val fakeOverrideGenerator = FakeOverrideGenerator(
|
||||
session, scopeSession, classifierStorage, declarationStorage, conversionScope, fakeOverrideMode
|
||||
session, scopeSession, classifierStorage, declarationStorage, conversionScope, FakeOverrideMode.NORMAL
|
||||
)
|
||||
components.fakeOverrideGenerator = fakeOverrideGenerator
|
||||
val fir2irVisitor = Fir2IrVisitor(converter, components, conversionScope)
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor
|
||||
import org.jetbrains.kotlin.ir.AbstractIrTextTestCase
|
||||
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmManglerDesc
|
||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||
import java.io.File
|
||||
|
||||
abstract class AbstractFir2IrTextTest : AbstractIrTextTestCase() {
|
||||
@@ -87,10 +88,11 @@ abstract class AbstractFir2IrTextTest : AbstractIrTextTestCase() {
|
||||
return Fir2IrConverter.createModuleFragment(
|
||||
session, resolveTransformer.scopeSession, firFiles,
|
||||
myEnvironment.configuration.languageVersionSettings,
|
||||
signaturer = signaturer,
|
||||
signaturer,
|
||||
// TODO: differentiate JVM resolve from other targets, such as JS resolve.
|
||||
generatorExtensions = JvmGeneratorExtensions(generateFacades = false),
|
||||
mangler = FirJvmKotlinMangler(session)
|
||||
JvmGeneratorExtensions(generateFacades = false),
|
||||
FirJvmKotlinMangler(session),
|
||||
IrFactoryImpl,
|
||||
).irModuleFragment
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user