[JS IR] Set proper visibility for static stub of private members
This commit is contained in:
committed by
teamcityserver
parent
bcf08e3293
commit
6aed492703
+3
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrGetValueImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrPropertyReferenceImpl
|
||||
import org.jetbrains.kotlin.ir.util.deepCopyWithSymbols
|
||||
import org.jetbrains.kotlin.ir.util.isLocal
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
@@ -48,11 +49,13 @@ class PrivateMembersLowering(val context: JsIrBackendContext) : DeclarationTrans
|
||||
private fun transformMemberToStaticFunction(function: IrSimpleFunction): IrSimpleFunction? {
|
||||
|
||||
if (function.visibility != DescriptorVisibilities.PRIVATE || function.dispatchReceiverParameter == null) return null
|
||||
val newVisibility = if (function.isLocal) DescriptorVisibilities.LOCAL else function.visibility
|
||||
|
||||
val staticFunction = context.irFactory.buildFun {
|
||||
updateFrom(function)
|
||||
name = function.name
|
||||
returnType = function.returnType
|
||||
visibility = newVisibility
|
||||
}.also {
|
||||
it.parent = function.parent
|
||||
it.correspondingPropertySymbol = function.correspondingPropertySymbol
|
||||
|
||||
Reference in New Issue
Block a user