[FIR2IR] Pass value parameter name to createDefaultSetterParameter if it exists

This commit is contained in:
Ivan Kochurkin
2022-05-04 23:54:16 +03:00
parent feb3f41108
commit e004c8e2d6
4 changed files with 11 additions and 8 deletions
@@ -299,11 +299,12 @@ class Fir2IrDeclarationStorage(
startOffset: Int,
endOffset: Int,
type: IrType,
parent: IrFunction
parent: IrFunction,
name: Name? = null
): IrValueParameter {
return irFactory.createValueParameter(
startOffset, endOffset, IrDeclarationOrigin.DEFINED, IrValueParameterSymbolImpl(),
SpecialNames.IMPLICIT_SET_PARAMETER, 0, type,
name ?: SpecialNames.IMPLICIT_SET_PARAMETER, 0, type,
varargElementType = null,
isCrossinline = false, isNoinline = false,
isHidden = false, isAssignable = false
@@ -88,13 +88,15 @@ class Fir2IrLazyPropertyAccessor(
)
if (isSetter) {
val valueParameter = firAccessor?.valueParameters?.firstOrNull()
add(
declarationStorage.createDefaultSetterParameter(
startOffset, endOffset,
(firAccessor?.valueParameters?.firstOrNull()?.returnTypeRef ?: firParentProperty.returnTypeRef).toIrType(
(valueParameter?.returnTypeRef ?: firParentProperty.returnTypeRef).toIrType(
typeConverter, conversionTypeContext
),
parent = this@Fir2IrLazyPropertyAccessor
parent = this@Fir2IrLazyPropertyAccessor,
name = valueParameter?.name
)
)
}