[minor] FIR: fix irbuiltins implementation after rebase
This commit is contained in:
committed by
TeamCityServer
parent
873a7c6ef1
commit
19f52d9aae
@@ -200,6 +200,8 @@ class IrBuiltInsOverFir(
|
|||||||
|
|
||||||
private val iterable by loadClass(StandardNames.FqNames.iterable)
|
private val iterable by loadClass(StandardNames.FqNames.iterable)
|
||||||
override val iterableClass: IrClassSymbol get() = iterable.klass
|
override val iterableClass: IrClassSymbol get() = iterable.klass
|
||||||
|
private val iterator by loadClass(StandardNames.FqNames.iterator)
|
||||||
|
override val iteratorClass: IrClassSymbol get() = iterator.klass
|
||||||
private val listIterator by loadClass(StandardNames.FqNames.listIterator)
|
private val listIterator by loadClass(StandardNames.FqNames.listIterator)
|
||||||
override val listIteratorClass: IrClassSymbol get() = listIterator.klass
|
override val listIteratorClass: IrClassSymbol get() = listIterator.klass
|
||||||
private val mutableCollection by loadClass(StandardNames.FqNames.mutableCollection)
|
private val mutableCollection by loadClass(StandardNames.FqNames.mutableCollection)
|
||||||
@@ -612,7 +614,7 @@ class IrBuiltInsOverFir(
|
|||||||
|
|
||||||
private fun createClass(
|
private fun createClass(
|
||||||
parent: IrDeclarationParent,
|
parent: IrDeclarationParent,
|
||||||
signature: IdSignature.PublicSignature,
|
signature: IdSignature.CommonSignature,
|
||||||
build: IrClassBuilder.() -> Unit = {},
|
build: IrClassBuilder.() -> Unit = {},
|
||||||
lazyContents: (IrClass.() -> Unit) = { finalizeClassDefinition() }
|
lazyContents: (IrClass.() -> Unit) = { finalizeClassDefinition() }
|
||||||
) = BuiltInsClass(
|
) = BuiltInsClass(
|
||||||
@@ -681,7 +683,7 @@ class IrBuiltInsOverFir(
|
|||||||
builderBlock: IrClassBuilder.() -> Unit = {},
|
builderBlock: IrClassBuilder.() -> Unit = {},
|
||||||
block: IrClass.() -> Unit = {}
|
block: IrClass.() -> Unit = {}
|
||||||
): IrClassSymbol {
|
): IrClassSymbol {
|
||||||
val signature = IdSignature.PublicSignature(fqName.parent().asString(), fqName.shortName().asString(), null, 0)
|
val signature = IdSignature.CommonSignature(fqName.parent().asString(), fqName.shortName().asString(), null, 0)
|
||||||
|
|
||||||
return this.createClass(
|
return this.createClass(
|
||||||
signature, *supertypes,
|
signature, *supertypes,
|
||||||
@@ -690,7 +692,7 @@ class IrBuiltInsOverFir(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun IrDeclarationParent.createClass(
|
private fun IrDeclarationParent.createClass(
|
||||||
signature: IdSignature.PublicSignature,
|
signature: IdSignature.CommonSignature,
|
||||||
vararg supertypes: IrType,
|
vararg supertypes: IrType,
|
||||||
classKind: ClassKind = ClassKind.CLASS,
|
classKind: ClassKind = ClassKind.CLASS,
|
||||||
classModality: Modality = Modality.OPEN,
|
classModality: Modality = Modality.OPEN,
|
||||||
@@ -729,7 +731,7 @@ class IrBuiltInsOverFir(
|
|||||||
): IrConstructorSymbol {
|
): IrConstructorSymbol {
|
||||||
val name = Name.special("<init>")
|
val name = Name.special("<init>")
|
||||||
val signature =
|
val signature =
|
||||||
IdSignature.PublicSignature(this.packageFqName!!.asString(), classId!!.relativeClassName.child(name).asString(), null, 0)
|
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, IrConstructorPublicSymbolImpl(signature), name, visibility, defaultType,
|
||||||
isInline = false, isExternal = false, isPrimary = isPrimary, isExpect = false
|
isInline = false, isExternal = false, isPrimary = isPrimary, isExpect = false
|
||||||
@@ -756,7 +758,7 @@ class IrBuiltInsOverFir(
|
|||||||
isOperator: Boolean = false,
|
isOperator: Boolean = false,
|
||||||
build: IrFunctionBuilder.() -> Unit = {}
|
build: IrFunctionBuilder.() -> Unit = {}
|
||||||
) = parent.createFunction(
|
) = parent.createFunction(
|
||||||
IdSignature.PublicSignature(
|
IdSignature.CommonSignature(
|
||||||
this.packageFqName!!.asString(),
|
this.packageFqName!!.asString(),
|
||||||
classId!!.relativeClassName.child(Name.identifier(name)).asString(),
|
classId!!.relativeClassName.child(Name.identifier(name)).asString(),
|
||||||
null,
|
null,
|
||||||
@@ -805,7 +807,7 @@ class IrBuiltInsOverFir(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun IrClass.finalizeClassDefinition() {
|
private fun IrClass.finalizeClassDefinition() {
|
||||||
addFakeOverrides(this@IrBuiltInsOverFir)
|
addFakeOverrides(IrTypeSystemContextImpl(this@IrBuiltInsOverFir))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun IrDeclarationParent.createFunction(
|
private fun IrDeclarationParent.createFunction(
|
||||||
@@ -844,7 +846,7 @@ class IrBuiltInsOverFir(
|
|||||||
modality: Modality = Modality.FINAL,
|
modality: Modality = Modality.FINAL,
|
||||||
isOperator: Boolean = false
|
isOperator: Boolean = false
|
||||||
) = createFunction(
|
) = createFunction(
|
||||||
IdSignature.PublicSignature(packageFqName.asString(), name, null, 0),
|
IdSignature.CommonSignature(packageFqName.asString(), name, null, 0),
|
||||||
name, returnType, valueParameterTypes, origin, modality, isOperator
|
name, returnType, valueParameterTypes, origin, modality, isOperator
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -955,7 +957,7 @@ class IrBuiltInsOverFir(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun IrPackageFragment.createNumberClass(
|
private fun IrPackageFragment.createNumberClass(
|
||||||
signature: IdSignature.PublicSignature,
|
signature: IdSignature.CommonSignature,
|
||||||
lazyContents: (IrClass.() -> Unit)? = null
|
lazyContents: (IrClass.() -> Unit)? = null
|
||||||
) =
|
) =
|
||||||
createClass(this, signature) {
|
createClass(this, signature) {
|
||||||
@@ -980,7 +982,7 @@ class IrBuiltInsOverFir(
|
|||||||
) =
|
) =
|
||||||
createClass(
|
createClass(
|
||||||
parent,
|
parent,
|
||||||
IdSignature.PublicSignature(parent.kotlinFqName.asString(), primitiveType.arrayTypeName.asString(), null, 0),
|
IdSignature.CommonSignature(parent.kotlinFqName.asString(), primitiveType.arrayTypeName.asString(), null, 0),
|
||||||
build = { modality = Modality.FINAL }
|
build = { modality = Modality.FINAL }
|
||||||
) {
|
) {
|
||||||
configureSuperTypes()
|
configureSuperTypes()
|
||||||
|
|||||||
Reference in New Issue
Block a user