From 6a4e9f1d0f7314338aebaefc147a52891b753014 Mon Sep 17 00:00:00 2001 From: mvicsokolova Date: Tue, 25 Oct 2022 21:41:06 +0200 Subject: [PATCH] Atomicfu JVM IR: fixed visibility modifiers of generated declarations, should be private. Fix for: https://github.com/Kotlin/kotlinx-atomicfu/issues/258 --- .../atomicfu/compiler/backend/jvm/AtomicfuJvmIrTransformer.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/atomicfu/atomicfu-compiler/src/org/jetbrains/kotlinx/atomicfu/compiler/backend/jvm/AtomicfuJvmIrTransformer.kt b/plugins/atomicfu/atomicfu-compiler/src/org/jetbrains/kotlinx/atomicfu/compiler/backend/jvm/AtomicfuJvmIrTransformer.kt index 016b9632a20..7d50f7eccc3 100644 --- a/plugins/atomicfu/atomicfu-compiler/src/org/jetbrains/kotlinx/atomicfu/compiler/backend/jvm/AtomicfuJvmIrTransformer.kt +++ b/plugins/atomicfu/atomicfu-compiler/src/org/jetbrains/kotlinx/atomicfu/compiler/backend/jvm/AtomicfuJvmIrTransformer.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlinx.atomicfu.compiler.backend.jvm import org.jetbrains.kotlin.backend.common.extensions.* import org.jetbrains.kotlin.backend.common.lower.parents import org.jetbrains.kotlin.descriptors.ClassKind +import org.jetbrains.kotlin.descriptors.DescriptorVisibilities import org.jetbrains.kotlin.ir.* import org.jetbrains.kotlin.ir.builders.declarations.* import org.jetbrains.kotlin.ir.builders.* @@ -434,6 +435,7 @@ class AtomicfuJvmIrTransformer( return context.irFactory.buildFun { name = Name.identifier(mangledName) isInline = true + visibility = atomicExtension.visibility }.apply { val newDeclaration = this extensionReceiverParameter = null @@ -760,6 +762,7 @@ class AtomicfuJvmIrTransformer( return context.irFactory.buildFun { name = Name.identifier(mangledName) isInline = true + visibility = DescriptorVisibilities.PRIVATE }.apply { dispatchReceiverParameter = (parent as? IrClass)?.thisReceiver?.deepCopyWithSymbols(this) if (functionName == LOOP) {