[IR] Add platform-agnostic builtin to throw linkage error

This commit is contained in:
Roman Artemev
2021-11-16 13:35:35 +03:00
committed by TeamCityServer
parent 7d8f71d107
commit e4585730d6
3 changed files with 7 additions and 0 deletions
@@ -348,6 +348,9 @@ class IrBuiltInsOverFir(
}
}
override val linkageErrorSymbol: IrSimpleFunctionSymbol
get() = TODO("Not yet implemented")
override lateinit var lessFunByOperandType: Map<IrClassifierSymbol, IrSimpleFunctionSymbol> private set
override lateinit var lessOrEqualFunByOperandType: Map<IrClassifierSymbol, IrSimpleFunctionSymbol> private set
override lateinit var greaterOrEqualFunByOperandType: Map<IrClassifierSymbol, IrSimpleFunctionSymbol> private set
@@ -148,6 +148,8 @@ abstract class IrBuiltIns {
abstract val arrayOf: IrSimpleFunctionSymbol
abstract val arrayOfNulls: IrSimpleFunctionSymbol
abstract val linkageErrorSymbol: IrSimpleFunctionSymbol
abstract fun functionN(arity: Int): IrClass
abstract fun kFunctionN(arity: Int): IrClass
abstract fun suspendFunctionN(arity: Int): IrClass
@@ -408,6 +408,8 @@ class IrBuiltInsOverDescriptors(
it.descriptor.valueParameters.size == 1 && KotlinBuiltIns.isInt(it.descriptor.valueParameters[0].type)
}
override val linkageErrorSymbol: IrSimpleFunctionSymbol = defineOperator("linkageError", nothingType, listOf(stringType))
override val enumClass = builtIns.enum.toIrSymbol()
private fun builtInsPackage(vararg packageNameSegments: String) =