[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,
|
startOffset: Int,
|
||||||
endOffset: Int,
|
endOffset: Int,
|
||||||
type: IrType,
|
type: IrType,
|
||||||
parent: IrFunction
|
parent: IrFunction,
|
||||||
|
name: Name? = null
|
||||||
): IrValueParameter {
|
): IrValueParameter {
|
||||||
return irFactory.createValueParameter(
|
return irFactory.createValueParameter(
|
||||||
startOffset, endOffset, IrDeclarationOrigin.DEFINED, IrValueParameterSymbolImpl(),
|
startOffset, endOffset, IrDeclarationOrigin.DEFINED, IrValueParameterSymbolImpl(),
|
||||||
SpecialNames.IMPLICIT_SET_PARAMETER, 0, type,
|
name ?: SpecialNames.IMPLICIT_SET_PARAMETER, 0, type,
|
||||||
varargElementType = null,
|
varargElementType = null,
|
||||||
isCrossinline = false, isNoinline = false,
|
isCrossinline = false, isNoinline = false,
|
||||||
isHidden = false, isAssignable = false
|
isHidden = false, isAssignable = false
|
||||||
|
|||||||
@@ -88,13 +88,15 @@ class Fir2IrLazyPropertyAccessor(
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (isSetter) {
|
if (isSetter) {
|
||||||
|
val valueParameter = firAccessor?.valueParameters?.firstOrNull()
|
||||||
add(
|
add(
|
||||||
declarationStorage.createDefaultSetterParameter(
|
declarationStorage.createDefaultSetterParameter(
|
||||||
startOffset, endOffset,
|
startOffset, endOffset,
|
||||||
(firAccessor?.valueParameters?.firstOrNull()?.returnTypeRef ?: firParentProperty.returnTypeRef).toIrType(
|
(valueParameter?.returnTypeRef ?: firParentProperty.returnTypeRef).toIrType(
|
||||||
typeConverter, conversionTypeContext
|
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]
|
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]
|
FIELD PROPERTY_DELEGATE name:p1$delegate type:kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> visibility:private [final,static]
|
||||||
EXPRESSION_BODY
|
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
|
$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?
|
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]
|
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]
|
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]
|
FIELD PROPERTY_DELEGATE name:p2$delegate type:kotlin.reflect.KMutableProperty0<@[FlexibleNullability] kotlin.String?> visibility:private [final,static]
|
||||||
EXPRESSION_BODY
|
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
|
$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?
|
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]
|
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
|
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]
|
correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [var]
|
||||||
overridden:
|
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>
|
$this: VALUE_PARAMETER name:<this> type:<root>.Derived1<T of <root>.Derived1>
|
||||||
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Derived1
|
VALUE_PARAMETER name:<set-?> index:0 type:T of <root>.Derived1
|
||||||
BLOCK_BODY
|
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
|
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]
|
correspondingProperty: PROPERTY name:exn visibility:public modality:FINAL [var]
|
||||||
overridden:
|
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
|
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Derived1<T of <root>.Derived1>
|
$this: VALUE_PARAMETER name:<this> type:<root>.Derived1<T of <root>.Derived1>
|
||||||
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Derived1.<set-exn>
|
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Derived1.<set-exn>
|
||||||
|
|||||||
Reference in New Issue
Block a user