[JS IR BE] Visit callable reference members in private member lowering
This commit is contained in:
+17
-11
@@ -62,19 +62,25 @@ class PrivateMembersLowering(val context: JsIrBackendContext) : ClassLoweringPas
|
|||||||
} ?: expression
|
} ?: expression
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitFunctionReference(expression: IrFunctionReference) = memberMap[expression.symbol]?.let {
|
override fun visitFunctionReference(expression: IrFunctionReference): IrExpression {
|
||||||
transformPrivateToStaticReference(expression) {
|
super.visitFunctionReference(expression)
|
||||||
IrFunctionReferenceImpl(
|
|
||||||
expression.startOffset, expression.endOffset,
|
return memberMap[expression.symbol]?.let {
|
||||||
expression.type,
|
transformPrivateToStaticReference(expression) {
|
||||||
it.symbol, it.descriptor,
|
IrFunctionReferenceImpl(
|
||||||
expression.typeArgumentsCount, expression.valueArgumentsCount,
|
expression.startOffset, expression.endOffset,
|
||||||
expression.origin
|
expression.type,
|
||||||
)
|
it.symbol, it.descriptor,
|
||||||
}
|
expression.typeArgumentsCount, expression.valueArgumentsCount,
|
||||||
} ?: expression
|
expression.origin
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} ?: expression
|
||||||
|
}
|
||||||
|
|
||||||
override fun visitPropertyReference(expression: IrPropertyReference): IrExpression {
|
override fun visitPropertyReference(expression: IrPropertyReference): IrExpression {
|
||||||
|
super.visitPropertyReference(expression)
|
||||||
|
|
||||||
return if (expression.getter in memberMap || expression.setter in memberMap) {
|
return if (expression.getter in memberMap || expression.setter in memberMap) {
|
||||||
transformPrivateToStaticReference(expression) {
|
transformPrivateToStaticReference(expression) {
|
||||||
IrPropertyReferenceImpl(
|
IrPropertyReferenceImpl(
|
||||||
|
|||||||
Reference in New Issue
Block a user