[IR] Reorder parameters in IrFactory#createFunction

This is to prepare for IrFactory auto-generation (KT-59308).
This commit is contained in:
Sergej Jaskiewicz
2023-06-13 19:54:28 +02:00
committed by teamcity
parent 650b00e1b2
commit 7b77ec9930
23 changed files with 380 additions and 251 deletions
@@ -81,22 +81,22 @@ internal class MissingDeclarationStubGenerator(private val builtIns: IrBuiltIns)
}
private fun generateSimpleFunction(symbol: IrSimpleFunctionSymbol): IrSimpleFunction {
return builtIns.irFactory.createFunction(
return builtIns.irFactory.createSimpleFunction(
startOffset = UNDEFINED_OFFSET,
endOffset = UNDEFINED_OFFSET,
origin = PartiallyLinkedDeclarationOrigin.MISSING_DECLARATION,
symbol = symbol,
name = symbol.guessName(),
visibility = DescriptorVisibilities.DEFAULT_VISIBILITY,
modality = Modality.FINAL,
returnType = builtIns.nothingType,
isInline = false,
isExternal = false,
isExpect = false,
returnType = builtIns.nothingType,
modality = Modality.FINAL,
symbol = symbol,
isTailrec = false,
isSuspend = false,
isOperator = false,
isInfix = false,
isExpect = false
isExternal = false
).setCommonParent()
}
@@ -599,21 +599,23 @@ class IrDeclarationDeserializer(
val flags = FunctionFlags.decode(fcode)
symbolTable.declareSimpleFunction(idSig, { symbol }) {
val nameType = BinaryNameAndType.decode(proto.base.nameType)
irFactory.createFunction(
startOffset, endOffset, origin,
it,
deserializeName(nameType.nameIndex),
flags.visibility,
flags.modality,
IrUninitializedType,
flags.isInline,
flags.isExternal || isEffectivelyExternal,
flags.isTailrec,
flags.isSuspend,
flags.isOperator,
flags.isInfix,
flags.isExpect,
flags.isFakeOverride
irFactory.createSimpleFunction(
startOffset = startOffset,
endOffset = endOffset,
origin = origin,
name = deserializeName(nameType.nameIndex),
visibility = flags.visibility,
isInline = flags.isInline,
isExpect = flags.isExpect,
returnType = IrUninitializedType,
modality = flags.modality,
symbol = it,
isTailrec = flags.isTailrec,
isSuspend = flags.isSuspend,
isOperator = flags.isOperator,
isInfix = flags.isInfix,
isExternal = flags.isExternal || isEffectivelyExternal,
isFakeOverride = flags.isFakeOverride,
)
}.apply {
overriddenSymbols = proto.overriddenList.memoryOptimizedMap { deserializeIrSymbolAndRemap(it).checkSymbolType(FUNCTION_SYMBOL) }