[IR] Reorder parameters in IrFactory#createValueParameter
This is to prepare for IrFactory auto-generation (KT-59308).
This commit is contained in:
committed by
Space Team
parent
2cc588d6d8
commit
9fcdc10019
@@ -586,10 +586,18 @@ internal fun IrDeclarationParent.declareThisReceiverParameter(
|
||||
explicitReceiver: FirReceiverParameter? = null,
|
||||
): IrValueParameter {
|
||||
return symbolTable.irFactory.createValueParameter(
|
||||
startOffset, endOffset, thisOrigin, IrValueParameterSymbolImpl(),
|
||||
name, UNDEFINED_PARAMETER_INDEX, thisType,
|
||||
varargElementType = null, isCrossinline = false, isNoinline = false,
|
||||
isHidden = false, isAssignable = false
|
||||
startOffset = startOffset,
|
||||
endOffset = endOffset,
|
||||
origin = thisOrigin,
|
||||
name = name,
|
||||
type = thisType,
|
||||
isAssignable = false,
|
||||
symbol = IrValueParameterSymbolImpl(),
|
||||
index = UNDEFINED_PARAMETER_INDEX,
|
||||
varargElementType = null,
|
||||
isCrossinline = false,
|
||||
isNoinline = false,
|
||||
isHidden = false,
|
||||
).apply {
|
||||
this.parent = this@declareThisReceiverParameter
|
||||
explicitReceiver?.let { annotationGenerator.generate(this, it) }
|
||||
|
||||
+37
-15
@@ -331,11 +331,18 @@ class Fir2IrDeclarationStorage(
|
||||
isNoinline: Boolean = false,
|
||||
): IrValueParameter {
|
||||
return irFactory.createValueParameter(
|
||||
startOffset, endOffset, IrDeclarationOrigin.DEFINED, IrValueParameterSymbolImpl(),
|
||||
name ?: SpecialNames.IMPLICIT_SET_PARAMETER, parent.contextReceiverParametersCount, type,
|
||||
startOffset = startOffset,
|
||||
endOffset = endOffset,
|
||||
origin = IrDeclarationOrigin.DEFINED,
|
||||
name = name ?: SpecialNames.IMPLICIT_SET_PARAMETER,
|
||||
type = type,
|
||||
isAssignable = false,
|
||||
symbol = IrValueParameterSymbolImpl(),
|
||||
index = parent.contextReceiverParametersCount,
|
||||
varargElementType = null,
|
||||
isCrossinline = isCrossinline, isNoinline = isNoinline,
|
||||
isHidden = false, isAssignable = false
|
||||
isCrossinline = isCrossinline,
|
||||
isNoinline = isNoinline,
|
||||
isHidden = false,
|
||||
).apply {
|
||||
this.parent = parent
|
||||
if (firValueParameter != null) {
|
||||
@@ -1208,12 +1215,20 @@ class Fir2IrDeclarationStorage(
|
||||
val type = valueParameter.returnTypeRef.toIrType(typeContext)
|
||||
val irParameter = valueParameter.convertWithOffsets { startOffset, endOffset ->
|
||||
irFactory.createValueParameter(
|
||||
startOffset, endOffset, origin, IrValueParameterSymbolImpl(),
|
||||
valueParameter.name, index, type,
|
||||
if (!valueParameter.isVararg) null
|
||||
else valueParameter.returnTypeRef.coneType.arrayElementType()?.toIrType(typeContext),
|
||||
isCrossinline = valueParameter.isCrossinline, isNoinline = valueParameter.isNoinline,
|
||||
isHidden = false, isAssignable = false
|
||||
startOffset = startOffset,
|
||||
endOffset = endOffset,
|
||||
origin = origin,
|
||||
name = valueParameter.name,
|
||||
type = type,
|
||||
isAssignable = false,
|
||||
symbol = IrValueParameterSymbolImpl(),
|
||||
index = index,
|
||||
varargElementType =
|
||||
if (!valueParameter.isVararg) null
|
||||
else valueParameter.returnTypeRef.coneType.arrayElementType()?.toIrType(typeContext),
|
||||
isCrossinline = valueParameter.isCrossinline,
|
||||
isNoinline = valueParameter.isNoinline,
|
||||
isHidden = false,
|
||||
).apply {
|
||||
if (!skipDefaultParameter && valueParameter.defaultValue.let {
|
||||
it != null && (useStubForDefaultValueStub || it !is FirExpressionStub)
|
||||
@@ -1240,11 +1255,18 @@ class Fir2IrDeclarationStorage(
|
||||
val type = contextReceiver.typeRef.toIrType()
|
||||
return contextReceiver.convertWithOffsets { startOffset, endOffset ->
|
||||
irFactory.createValueParameter(
|
||||
startOffset, endOffset, IrDeclarationOrigin.DEFINED, IrValueParameterSymbolImpl(),
|
||||
NameUtils.contextReceiverName(index), index, type,
|
||||
null,
|
||||
isCrossinline = false, isNoinline = false,
|
||||
isHidden = false, isAssignable = false
|
||||
startOffset = startOffset,
|
||||
endOffset = endOffset,
|
||||
origin = IrDeclarationOrigin.DEFINED,
|
||||
name = NameUtils.contextReceiverName(index),
|
||||
type = type,
|
||||
isAssignable = false,
|
||||
symbol = IrValueParameterSymbolImpl(),
|
||||
index = index,
|
||||
varargElementType = null,
|
||||
isCrossinline = false,
|
||||
isNoinline = false,
|
||||
isHidden = false,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+9
-9
@@ -262,18 +262,18 @@ internal class AdapterGenerator(
|
||||
origin: IrDeclarationOrigin
|
||||
): IrValueParameter =
|
||||
irFactory.createValueParameter(
|
||||
adapterFunction.startOffset,
|
||||
adapterFunction.endOffset,
|
||||
origin,
|
||||
IrValueParameterSymbolImpl(),
|
||||
name,
|
||||
index,
|
||||
type,
|
||||
startOffset = adapterFunction.startOffset,
|
||||
endOffset = adapterFunction.endOffset,
|
||||
origin = origin,
|
||||
name = name,
|
||||
type = type,
|
||||
isAssignable = false,
|
||||
symbol = IrValueParameterSymbolImpl(),
|
||||
index = index,
|
||||
varargElementType = null,
|
||||
isCrossinline = false,
|
||||
isNoinline = false,
|
||||
isHidden = false,
|
||||
isAssignable = false
|
||||
isHidden = false
|
||||
).also { irAdapterValueParameter ->
|
||||
irAdapterValueParameter.parent = adapterFunction
|
||||
}
|
||||
|
||||
+12
-2
@@ -277,8 +277,18 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) : Fir2IrCompon
|
||||
|
||||
private fun createSyntheticIrParameter(irFunction: IrFunction, name: Name, type: IrType, index: Int = 0): IrValueParameter =
|
||||
components.irFactory.createValueParameter(
|
||||
UNDEFINED_OFFSET, UNDEFINED_OFFSET, IrDeclarationOrigin.DEFINED, IrValueParameterSymbolImpl(), name, index, type, null,
|
||||
isCrossinline = false, isNoinline = false, isHidden = false, isAssignable = false
|
||||
startOffset = UNDEFINED_OFFSET,
|
||||
endOffset = UNDEFINED_OFFSET,
|
||||
origin = IrDeclarationOrigin.DEFINED,
|
||||
name = name,
|
||||
type = type,
|
||||
isAssignable = false,
|
||||
symbol = IrValueParameterSymbolImpl(),
|
||||
index = index,
|
||||
varargElementType = null,
|
||||
isCrossinline = false,
|
||||
isNoinline = false,
|
||||
isHidden = false
|
||||
).apply {
|
||||
parent = irFunction
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user