Fir: simplify IrBuiltInsOverFir
This commit is contained in:
committed by
Alexander Udalov
parent
bf5cd14acd
commit
ffe1615e9c
@@ -21,8 +21,8 @@ import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
|||||||
import org.jetbrains.kotlin.fir.resolve.providers.firProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.firProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirProviderImpl
|
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirProviderImpl
|
||||||
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler
|
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler
|
||||||
|
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||||
import org.jetbrains.kotlin.psi2ir.generators.GeneratorExtensions
|
|
||||||
|
|
||||||
fun FirSession.convertToIr(
|
fun FirSession.convertToIr(
|
||||||
scopeSession: ScopeSession,
|
scopeSession: ScopeSession,
|
||||||
@@ -42,7 +42,7 @@ fun FirSession.convertToIr(
|
|||||||
this, scopeSession, firFiles + commonFirFiles,
|
this, scopeSession, firFiles + commonFirFiles,
|
||||||
languageVersionSettings, signaturer,
|
languageVersionSettings, signaturer,
|
||||||
fir2IrExtensions,
|
fir2IrExtensions,
|
||||||
FirJvmKotlinMangler(this), IrFactoryImpl,
|
FirJvmKotlinMangler(this), JvmIrMangler, IrFactoryImpl,
|
||||||
FirJvmVisibilityConverter,
|
FirJvmVisibilityConverter,
|
||||||
Fir2IrJvmSpecialAnnotationSymbolProvider(),
|
Fir2IrJvmSpecialAnnotationSymbolProvider(),
|
||||||
irGeneratorExtensions
|
irGeneratorExtensions
|
||||||
|
|||||||
@@ -422,6 +422,7 @@ class Fir2IrConverter(
|
|||||||
signaturer: IdSignatureComposer,
|
signaturer: IdSignatureComposer,
|
||||||
fir2IrExtensions: Fir2IrExtensions,
|
fir2IrExtensions: Fir2IrExtensions,
|
||||||
mangler: FirMangler,
|
mangler: FirMangler,
|
||||||
|
irMangler: KotlinMangler.IrMangler,
|
||||||
irFactory: IrFactory,
|
irFactory: IrFactory,
|
||||||
visibilityConverter: Fir2IrVisibilityConverter,
|
visibilityConverter: Fir2IrVisibilityConverter,
|
||||||
specialSymbolProvider: Fir2IrSpecialSymbolProvider?,
|
specialSymbolProvider: Fir2IrSpecialSymbolProvider?,
|
||||||
@@ -446,7 +447,7 @@ class Fir2IrConverter(
|
|||||||
components.typeConverter = typeConverter
|
components.typeConverter = typeConverter
|
||||||
val irBuiltIns =
|
val irBuiltIns =
|
||||||
IrBuiltInsOverFir(
|
IrBuiltInsOverFir(
|
||||||
components, languageVersionSettings, moduleDescriptor,
|
components, languageVersionSettings, moduleDescriptor, irMangler,
|
||||||
languageVersionSettings.getFlag(AnalysisFlags.builtInsFromSources)
|
languageVersionSettings.getFlag(AnalysisFlags.builtInsFromSources)
|
||||||
)
|
)
|
||||||
components.irBuiltIns = irBuiltIns
|
components.irBuiltIns = irBuiltIns
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.backend
|
package org.jetbrains.kotlin.fir.backend
|
||||||
|
|
||||||
import org.jetbrains.kotlin.backend.common.ir.addDispatchReceiver
|
import org.jetbrains.kotlin.backend.common.ir.addDispatchReceiver
|
||||||
|
import org.jetbrains.kotlin.backend.common.serialization.signature.PublicIdSignatureComputer
|
||||||
import org.jetbrains.kotlin.builtins.PrimitiveType
|
import org.jetbrains.kotlin.builtins.PrimitiveType
|
||||||
import org.jetbrains.kotlin.builtins.UnsignedType
|
import org.jetbrains.kotlin.builtins.UnsignedType
|
||||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||||
@@ -44,6 +45,7 @@ class IrBuiltInsOverFir(
|
|||||||
private val components: Fir2IrComponents,
|
private val components: Fir2IrComponents,
|
||||||
override val languageVersionSettings: LanguageVersionSettings,
|
override val languageVersionSettings: LanguageVersionSettings,
|
||||||
private val moduleDescriptor: FirModuleDescriptor,
|
private val moduleDescriptor: FirModuleDescriptor,
|
||||||
|
irMangler: KotlinMangler.IrMangler,
|
||||||
private val tryLoadBuiltInsFirst: Boolean = false
|
private val tryLoadBuiltInsFirst: Boolean = false
|
||||||
) : IrBuiltIns() {
|
) : IrBuiltIns() {
|
||||||
|
|
||||||
@@ -56,6 +58,8 @@ class IrBuiltInsOverFir(
|
|||||||
private val kotlinIrPackage = createPackage(kotlinPackage)
|
private val kotlinIrPackage = createPackage(kotlinPackage)
|
||||||
private val kotlinInternalIrPackage = createPackage(kotlinInternalPackage)
|
private val kotlinInternalIrPackage = createPackage(kotlinInternalPackage)
|
||||||
|
|
||||||
|
private val irSignatureBuilder = PublicIdSignatureComputer(irMangler)
|
||||||
|
|
||||||
override val booleanNotSymbol: IrSimpleFunctionSymbol by lazy {
|
override val booleanNotSymbol: IrSimpleFunctionSymbol by lazy {
|
||||||
boolean.ensureLazyContentsCreated()
|
boolean.ensureLazyContentsCreated()
|
||||||
booleanClass.owner.functions.first { it.name == OperatorNameConventions.NOT && it.returnType == booleanType }.symbol
|
booleanClass.owner.functions.first { it.name == OperatorNameConventions.NOT && it.returnType == booleanType }.symbol
|
||||||
@@ -384,9 +388,12 @@ class IrBuiltInsOverFir(
|
|||||||
isIntrinsicConst: Boolean = false,
|
isIntrinsicConst: Boolean = false,
|
||||||
builder: IrSimpleFunction.() -> Unit = {}
|
builder: IrSimpleFunction.() -> Unit = {}
|
||||||
) =
|
) =
|
||||||
createFunction(fqName, name, returnType, valueParameterTypes, origin = BUILTIN_OPERATOR, isIntrinsicConst = isIntrinsicConst).also {
|
createFunction(name, returnType, valueParameterTypes, origin = BUILTIN_OPERATOR, isIntrinsicConst = isIntrinsicConst).also {
|
||||||
declarations.add(it)
|
declarations.add(it)
|
||||||
it.builder()
|
it.builder()
|
||||||
|
}.also {
|
||||||
|
it.parent = operatorsPackageFragment
|
||||||
|
components.symbolTable.declareSimpleFunctionWithSignature(irSignatureBuilder.computeSignature(it), it.symbol)
|
||||||
}.symbol
|
}.symbol
|
||||||
|
|
||||||
primitiveFloatingPointIrTypes.forEach { fpType ->
|
primitiveFloatingPointIrTypes.forEach { fpType ->
|
||||||
@@ -424,7 +431,7 @@ class IrBuiltInsOverFir(
|
|||||||
}
|
}
|
||||||
|
|
||||||
createFunction(
|
createFunction(
|
||||||
fqName, "CHECK_NOT_NULL",
|
"CHECK_NOT_NULL",
|
||||||
IrSimpleTypeImpl(typeParameter.symbol, SimpleTypeNullability.DEFINITELY_NOT_NULL, emptyList(), emptyList()),
|
IrSimpleTypeImpl(typeParameter.symbol, SimpleTypeNullability.DEFINITELY_NOT_NULL, emptyList(), emptyList()),
|
||||||
arrayOf("" to IrSimpleTypeImpl(typeParameter.symbol, hasQuestionMark = true, emptyList(), emptyList())),
|
arrayOf("" to IrSimpleTypeImpl(typeParameter.symbol, hasQuestionMark = true, emptyList(), emptyList())),
|
||||||
origin = BUILTIN_OPERATOR
|
origin = BUILTIN_OPERATOR
|
||||||
@@ -432,6 +439,8 @@ class IrBuiltInsOverFir(
|
|||||||
it.typeParameters = listOf(typeParameter)
|
it.typeParameters = listOf(typeParameter)
|
||||||
typeParameter.parent = it
|
typeParameter.parent = it
|
||||||
declarations.add(it)
|
declarations.add(it)
|
||||||
|
it.parent = operatorsPackageFragment
|
||||||
|
components.symbolTable.declareSimpleFunctionWithSignature(irSignatureBuilder.computeSignature(it), it.symbol)
|
||||||
}.symbol
|
}.symbol
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -518,9 +527,11 @@ class IrBuiltInsOverFir(
|
|||||||
vararg argumentTypes: Pair<String, IrType>,
|
vararg argumentTypes: Pair<String, IrType>,
|
||||||
builder: IrSimpleFunction.() -> Unit
|
builder: IrSimpleFunction.() -> Unit
|
||||||
) =
|
) =
|
||||||
owner.createFunction(kotlinPackage, name, returnType, argumentTypes).also {
|
owner.createFunction(name, returnType, argumentTypes).also {
|
||||||
it.builder()
|
it.builder()
|
||||||
this.owner.declarations.add(it)
|
this.owner.declarations.add(it)
|
||||||
|
it.parent = kotlinIrPackage
|
||||||
|
components.symbolTable.declareSimpleFunctionWithSignature(irSignatureBuilder.computeSignature(it), it.symbol)
|
||||||
}.symbol
|
}.symbol
|
||||||
|
|
||||||
val kotlinKt = kotlinIrPackage.createClass(kotlinPackage.child(Name.identifier("KotlinKt")))
|
val kotlinKt = kotlinIrPackage.createClass(kotlinPackage.child(Name.identifier("KotlinKt")))
|
||||||
@@ -695,6 +706,7 @@ class IrBuiltInsOverFir(
|
|||||||
}.also {
|
}.also {
|
||||||
it.parent = parent
|
it.parent = parent
|
||||||
it.createImplicitParameterDeclarationWithWrappedDescriptor()
|
it.createImplicitParameterDeclarationWithWrappedDescriptor()
|
||||||
|
components.symbolTable.declareClassWithSignature(irSignatureBuilder.computeSignature(it), it.symbol)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
).symbol)
|
).symbol)
|
||||||
@@ -728,7 +740,7 @@ class IrBuiltInsOverFir(
|
|||||||
builderBlock: IrClassBuilder.() -> Unit = {},
|
builderBlock: IrClassBuilder.() -> Unit = {},
|
||||||
block: IrClass.() -> Unit = {}
|
block: IrClass.() -> Unit = {}
|
||||||
): IrClassSymbol {
|
): IrClassSymbol {
|
||||||
val signature = IdSignature.CommonSignature(fqName.parent().asString(), fqName.shortName().asString(), null, 0)
|
val signature = getPublicSignature(fqName.parent(), fqName.shortName().asString())
|
||||||
|
|
||||||
return this.createClass(
|
return this.createClass(
|
||||||
signature, *supertypes,
|
signature, *supertypes,
|
||||||
@@ -773,15 +785,16 @@ class IrBuiltInsOverFir(
|
|||||||
build: IrConstructor.() -> Unit = {}
|
build: IrConstructor.() -> Unit = {}
|
||||||
): IrConstructorSymbol {
|
): IrConstructorSymbol {
|
||||||
val name = SpecialNames.INIT
|
val name = SpecialNames.INIT
|
||||||
val signature =
|
|
||||||
IdSignature.CommonSignature(this.packageFqName!!.asString(), classId!!.relativeClassName.child(name).asString(), null, 0)
|
|
||||||
val ctor = irFactory.createConstructor(
|
val ctor = irFactory.createConstructor(
|
||||||
UNDEFINED_OFFSET, UNDEFINED_OFFSET, origin, IrConstructorPublicSymbolImpl(signature), name, visibility, defaultType,
|
UNDEFINED_OFFSET, UNDEFINED_OFFSET, origin, IrConstructorSymbolImpl(), name, visibility, defaultType,
|
||||||
isInline = false, isExternal = false, isPrimary = isPrimary, isExpect = false
|
isInline = false, isExternal = false, isPrimary = isPrimary, isExpect = false
|
||||||
)
|
)
|
||||||
ctor.parent = this
|
ctor.parent = this
|
||||||
ctor.build()
|
ctor.build()
|
||||||
declarations.add(ctor)
|
declarations.add(ctor)
|
||||||
|
components.symbolTable.declareConstructorWithSignature(
|
||||||
|
irSignatureBuilder.computeSignature(ctor), ctor.symbol
|
||||||
|
)
|
||||||
return ctor.symbol
|
return ctor.symbol
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -802,12 +815,6 @@ class IrBuiltInsOverFir(
|
|||||||
isIntrinsicConst: Boolean = true,
|
isIntrinsicConst: Boolean = true,
|
||||||
build: IrFunctionBuilder.() -> Unit = {}
|
build: IrFunctionBuilder.() -> Unit = {}
|
||||||
) = parent.createFunction(
|
) = parent.createFunction(
|
||||||
IdSignature.CommonSignature(
|
|
||||||
this.packageFqName!!.asString(),
|
|
||||||
classId!!.relativeClassName.child(Name.identifier(name)).asString(),
|
|
||||||
null,
|
|
||||||
0
|
|
||||||
),
|
|
||||||
name, returnType, valueParameterTypes, origin, modality, isOperator, isIntrinsicConst, build
|
name, returnType, valueParameterTypes, origin, modality, isOperator, isIntrinsicConst, build
|
||||||
).also { fn ->
|
).also { fn ->
|
||||||
fn.addDispatchReceiver { type = this@createMemberFunction.defaultType }
|
fn.addDispatchReceiver { type = this@createMemberFunction.defaultType }
|
||||||
@@ -828,6 +835,9 @@ class IrBuiltInsOverFir(
|
|||||||
fn.overriddenSymbols += it.symbol
|
fn.overriddenSymbols += it.symbol
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
components.symbolTable.declareSimpleFunctionWithSignature(
|
||||||
|
irSignatureBuilder.computeSignature(fn), fn.symbol
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun IrClass.createMemberFunction(
|
private fun IrClass.createMemberFunction(
|
||||||
@@ -860,7 +870,6 @@ class IrBuiltInsOverFir(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun IrDeclarationParent.createFunction(
|
private fun IrDeclarationParent.createFunction(
|
||||||
signature: IdSignature,
|
|
||||||
name: String,
|
name: String,
|
||||||
returnType: IrType,
|
returnType: IrType,
|
||||||
valueParameterTypes: Array<out Pair<String, IrType>>,
|
valueParameterTypes: Array<out Pair<String, IrType>>,
|
||||||
@@ -869,41 +878,23 @@ class IrBuiltInsOverFir(
|
|||||||
isOperator: Boolean = false,
|
isOperator: Boolean = false,
|
||||||
isIntrinsicConst: Boolean = false,
|
isIntrinsicConst: Boolean = false,
|
||||||
build: IrFunctionBuilder.() -> Unit = {}
|
build: IrFunctionBuilder.() -> Unit = {}
|
||||||
) = IrFunctionBuilder().run {
|
) = irFactory.buildFun {
|
||||||
this.name = Name.identifier(name)
|
this.name = Name.identifier(name)
|
||||||
this.returnType = returnType
|
this.returnType = returnType
|
||||||
this.origin = origin
|
this.origin = origin
|
||||||
this.modality = modality
|
this.modality = modality
|
||||||
this.isOperator = isOperator
|
this.isOperator = isOperator
|
||||||
build()
|
build()
|
||||||
irFactory.createFunction(
|
}.also { fn ->
|
||||||
startOffset, endOffset, origin, IrSimpleFunctionPublicSymbolImpl(signature), this.name, visibility, modality, this.returnType,
|
valueParameterTypes.forEachIndexed { index, (pName, irType) ->
|
||||||
isInline, isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect, isFakeOverride, containerSource,
|
fn.addValueParameter(Name.identifier(pName.ifBlank { "arg$index" }), irType, origin)
|
||||||
).also { fn ->
|
|
||||||
valueParameterTypes.forEachIndexed { index, (pName, irType) ->
|
|
||||||
fn.addValueParameter(Name.identifier(pName.ifBlank { "arg$index" }), irType, origin)
|
|
||||||
}
|
|
||||||
if (isIntrinsicConst) {
|
|
||||||
fn.annotations += intrinsicConstAnnotation
|
|
||||||
}
|
|
||||||
fn.parent = this@createFunction
|
|
||||||
}
|
}
|
||||||
|
if (isIntrinsicConst) {
|
||||||
|
fn.annotations += intrinsicConstAnnotation
|
||||||
|
}
|
||||||
|
fn.parent = this@createFunction
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun IrDeclarationParent.createFunction(
|
|
||||||
packageFqName: FqName,
|
|
||||||
name: String,
|
|
||||||
returnType: IrType,
|
|
||||||
valueParameterTypes: Array<out Pair<String, IrType>>,
|
|
||||||
origin: IrDeclarationOrigin = IrDeclarationOrigin.IR_EXTERNAL_DECLARATION_STUB,
|
|
||||||
modality: Modality = Modality.FINAL,
|
|
||||||
isOperator: Boolean = false,
|
|
||||||
isIntrinsicConst: Boolean = false
|
|
||||||
) = createFunction(
|
|
||||||
IdSignature.CommonSignature(packageFqName.asString(), name, null, 0),
|
|
||||||
name, returnType, valueParameterTypes, origin, modality, isOperator, isIntrinsicConst
|
|
||||||
)
|
|
||||||
|
|
||||||
private fun IrClass.addArrayMembers(elementType: IrType) {
|
private fun IrClass.addArrayMembers(elementType: IrType) {
|
||||||
addConstructor {
|
addConstructor {
|
||||||
origin = object : IrDeclarationOriginImpl("BUILTIN_CLASS_CONSTRUCTOR") {}
|
origin = object : IrDeclarationOriginImpl("BUILTIN_CLASS_CONSTRUCTOR") {}
|
||||||
@@ -1042,7 +1033,7 @@ class IrBuiltInsOverFir(
|
|||||||
) =
|
) =
|
||||||
createClass(
|
createClass(
|
||||||
parent,
|
parent,
|
||||||
IdSignature.CommonSignature(parent.kotlinFqName.asString(), primitiveType.arrayTypeName.asString(), null, 0),
|
getPublicSignature(parent.kotlinFqName, primitiveType.arrayTypeName.asString()),
|
||||||
build = { modality = Modality.FINAL }
|
build = { modality = Modality.FINAL }
|
||||||
) {
|
) {
|
||||||
configureSuperTypes()
|
configureSuperTypes()
|
||||||
|
|||||||
+2
-1
@@ -55,6 +55,7 @@ import org.jetbrains.kotlin.incremental.components.InlineConstTracker
|
|||||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||||
import org.jetbrains.kotlin.incremental.multiproject.ModulesApiHistory
|
import org.jetbrains.kotlin.incremental.multiproject.ModulesApiHistory
|
||||||
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler
|
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler
|
||||||
|
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||||
import org.jetbrains.kotlin.ir.util.IrMessageLogger
|
import org.jetbrains.kotlin.ir.util.IrMessageLogger
|
||||||
import org.jetbrains.kotlin.load.java.JavaClassesTracker
|
import org.jetbrains.kotlin.load.java.JavaClassesTracker
|
||||||
@@ -279,7 +280,7 @@ class IncrementalFirJvmCompilerRunner(
|
|||||||
val (irModuleFragment, components) = Fir2IrConverter.createModuleFragment(
|
val (irModuleFragment, components) = Fir2IrConverter.createModuleFragment(
|
||||||
cycleResult.session, cycleResult.scopeSession, cycleResult.fir + allCommonFirFiles,
|
cycleResult.session, cycleResult.scopeSession, cycleResult.fir + allCommonFirFiles,
|
||||||
cycleResult.session.languageVersionSettings, signaturer,
|
cycleResult.session.languageVersionSettings, signaturer,
|
||||||
extensions, FirJvmKotlinMangler(cycleResult.session), IrFactoryImpl,
|
extensions, FirJvmKotlinMangler(cycleResult.session), JvmIrMangler, IrFactoryImpl,
|
||||||
FirJvmVisibilityConverter,
|
FirJvmVisibilityConverter,
|
||||||
Fir2IrJvmSpecialAnnotationSymbolProvider(),
|
Fir2IrJvmSpecialAnnotationSymbolProvider(),
|
||||||
irGenerationExtensions
|
irGenerationExtensions
|
||||||
|
|||||||
@@ -459,6 +459,10 @@ open class SymbolTable(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun declareClassWithSignature(sig: IdSignature, symbol: IrClassSymbol) {
|
||||||
|
classSymbolTable.set(sig, symbol)
|
||||||
|
}
|
||||||
|
|
||||||
fun declareClassIfNotExists(descriptor: ClassDescriptor, classFactory: (IrClassSymbol) -> IrClass): IrClass =
|
fun declareClassIfNotExists(descriptor: ClassDescriptor, classFactory: (IrClassSymbol) -> IrClass): IrClass =
|
||||||
classSymbolTable.declareIfNotExists(descriptor, { signature -> createClassSymbol(descriptor, signature) }, classFactory)
|
classSymbolTable.declareIfNotExists(descriptor, { signature -> createClassSymbol(descriptor, signature) }, classFactory)
|
||||||
|
|
||||||
@@ -846,6 +850,10 @@ open class SymbolTable(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun declareSimpleFunctionWithSignature(sig: IdSignature, symbol: IrSimpleFunctionSymbol) {
|
||||||
|
simpleFunctionSymbolTable.set(sig, symbol)
|
||||||
|
}
|
||||||
|
|
||||||
override fun referenceSimpleFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol =
|
override fun referenceSimpleFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol =
|
||||||
simpleFunctionSymbolTable.referenced(descriptor) { signature -> createSimpleFunctionSymbol(descriptor, signature) }
|
simpleFunctionSymbolTable.referenced(descriptor) { signature -> createSimpleFunctionSymbol(descriptor, signature) }
|
||||||
|
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ import org.jetbrains.kotlin.fir.resolve.providers.firProvider
|
|||||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirProviderImpl
|
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirProviderImpl
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor
|
import org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor
|
||||||
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler
|
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler
|
||||||
|
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi2ir.generators.GeneratorExtensions
|
|
||||||
import org.jetbrains.kotlin.sourceFiles.LightTreeFile
|
import org.jetbrains.kotlin.sourceFiles.LightTreeFile
|
||||||
|
|
||||||
abstract class AbstractFirAnalyzerFacade {
|
abstract class AbstractFirAnalyzerFacade {
|
||||||
@@ -114,7 +114,7 @@ class FirAnalyzerFacade(
|
|||||||
session, _scopeSession!!, firFiles!! + commonFirFiles,
|
session, _scopeSession!!, firFiles!! + commonFirFiles,
|
||||||
languageVersionSettings, signaturer,
|
languageVersionSettings, signaturer,
|
||||||
fir2IrExtensions,
|
fir2IrExtensions,
|
||||||
FirJvmKotlinMangler(session), IrFactoryImpl,
|
FirJvmKotlinMangler(session), JvmIrMangler, IrFactoryImpl,
|
||||||
FirJvmVisibilityConverter,
|
FirJvmVisibilityConverter,
|
||||||
Fir2IrJvmSpecialAnnotationSymbolProvider(),
|
Fir2IrJvmSpecialAnnotationSymbolProvider(),
|
||||||
irGeneratorExtensions
|
irGeneratorExtensions
|
||||||
|
|||||||
Reference in New Issue
Block a user