[FIR Java] Copy also synthetic setter during enhancement
This commit is contained in:
+11
-2
@@ -113,18 +113,27 @@ class FirSignatureEnhancement(
|
|||||||
is FirSyntheticProperty -> {
|
is FirSyntheticProperty -> {
|
||||||
val accessorSymbol = firElement.symbol
|
val accessorSymbol = firElement.symbol
|
||||||
val getterDelegate = firElement.getter.delegate
|
val getterDelegate = firElement.getter.delegate
|
||||||
val enhancedFunctionSymbol = if (getterDelegate is FirJavaMethod) {
|
val enhancedGetterSymbol = if (getterDelegate is FirJavaMethod) {
|
||||||
enhanceMethod(
|
enhanceMethod(
|
||||||
getterDelegate, accessorSymbol.accessorId, accessorSymbol.accessorId.callableName
|
getterDelegate, accessorSymbol.accessorId, accessorSymbol.accessorId.callableName
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
getterDelegate.symbol
|
getterDelegate.symbol
|
||||||
}
|
}
|
||||||
|
val setterDelegate = firElement.setter?.delegate
|
||||||
|
val enhancedSetterSymbol = if (setterDelegate is FirJavaMethod) {
|
||||||
|
enhanceMethod(
|
||||||
|
setterDelegate, accessorSymbol.accessorId, accessorSymbol.accessorId.callableName
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
setterDelegate?.symbol
|
||||||
|
}
|
||||||
return buildSyntheticProperty {
|
return buildSyntheticProperty {
|
||||||
session = this@FirSignatureEnhancement.session
|
session = this@FirSignatureEnhancement.session
|
||||||
this.name = name
|
this.name = name
|
||||||
symbol = FirAccessorSymbol(accessorSymbol.callableId, accessorSymbol.accessorId)
|
symbol = FirAccessorSymbol(accessorSymbol.callableId, accessorSymbol.accessorId)
|
||||||
delegateGetter = enhancedFunctionSymbol.fir as FirSimpleFunction
|
delegateGetter = enhancedGetterSymbol.fir as FirSimpleFunction
|
||||||
|
delegateSetter = enhancedSetterSymbol?.fir as FirSimpleFunction?
|
||||||
}.symbol
|
}.symbol
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user