[FIR2IR] Pass value parameter name to createDefaultSetterParameter if it exists
This commit is contained in:
+3
-2
@@ -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
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@ FILE fqName:k fileName:/box.kt
|
||||
PROPERTY name:p1 visibility:public modality:FINAL [delegated,var]
|
||||
FIELD PROPERTY_DELEGATE name:p1$delegate type:kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> visibility:private [final,static]
|
||||
EXPRESSION_BODY
|
||||
PROPERTY_REFERENCE 'public open foo: @[FlexibleNullability] kotlin.String? [var]' field=null getter='public open fun <get-foo> (): @[FlexibleNullability] kotlin.String? declared in <root>.J' setter='public open fun <set-foo> (<set-?>: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> origin=null
|
||||
PROPERTY_REFERENCE 'public open foo: @[FlexibleNullability] kotlin.String? [var]' field=null getter='public open fun <get-foo> (): @[FlexibleNullability] kotlin.String? declared in <root>.J' setter='public open fun <set-foo> (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> origin=null
|
||||
$this: CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.J' type=<root>.J origin=null
|
||||
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-p1> visibility:public modality:FINAL <> () returnType:@[FlexibleNullability] kotlin.String?
|
||||
correspondingProperty: PROPERTY name:p1 visibility:public modality:FINAL [delegated,var]
|
||||
@@ -26,7 +26,7 @@ FILE fqName:k fileName:/box.kt
|
||||
PROPERTY name:p2 visibility:public modality:FINAL [delegated,var]
|
||||
FIELD PROPERTY_DELEGATE name:p2$delegate type:kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> visibility:private [final,static]
|
||||
EXPRESSION_BODY
|
||||
PROPERTY_REFERENCE 'public open foo: @[FlexibleNullability] kotlin.String? [var]' field=null getter='public open fun <get-foo> (): @[FlexibleNullability] kotlin.String? declared in <root>.J' setter='public open fun <set-foo> (<set-?>: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> origin=null
|
||||
PROPERTY_REFERENCE 'public open foo: @[FlexibleNullability] kotlin.String? [var]' field=null getter='public open fun <get-foo> (): @[FlexibleNullability] kotlin.String? declared in <root>.J' setter='public open fun <set-foo> (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> origin=null
|
||||
$this: CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.J' type=<root>.J origin=null
|
||||
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-p2> visibility:public modality:FINAL <> () returnType:@[FlexibleNullability] kotlin.String?
|
||||
correspondingProperty: PROPERTY name:p2 visibility:public modality:FINAL [delegated,var]
|
||||
|
||||
@@ -96,7 +96,7 @@ FILE fqName:<root> fileName:/genericClassInDifferentModule_m2.kt
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-bar> visibility:public modality:FINAL <> ($this:<root>.Derived1<T of <root>.Derived1>, <set-?>:T of <root>.Derived1) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [var]
|
||||
overridden:
|
||||
public final fun <set-bar> (<set-?>: T of <root>.Base): kotlin.Unit declared in <root>.Base
|
||||
public final fun <set-bar> (value: T of <root>.Base): kotlin.Unit declared in <root>.Base
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Derived1<T of <root>.Derived1>
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Derived1
|
||||
BLOCK_BODY
|
||||
@@ -120,7 +120,7 @@ FILE fqName:<root> fileName:/genericClassInDifferentModule_m2.kt
|
||||
FUN name:<set-exn> visibility:public modality:FINAL <Z> ($this:<root>.Derived1<T of <root>.Derived1>, $receiver:Z of <root>.Derived1.<set-exn>, value:T of <root>.Derived1) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:exn visibility:public modality:FINAL [var]
|
||||
overridden:
|
||||
public final fun <set-exn> <Z> (<set-?>: T of <root>.Base): kotlin.Unit declared in <root>.Base
|
||||
public final fun <set-exn> <Z> (value: T of <root>.Base): kotlin.Unit declared in <root>.Base
|
||||
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Derived1<T of <root>.Derived1>
|
||||
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Derived1.<set-exn>
|
||||
|
||||
Reference in New Issue
Block a user