Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Atomicfu JVM IR compiler plugin does not remove atomicfu references from Metadata #254

Open
mvicsokolova opened this issue Oct 20, 2022 · 0 comments
Assignees
Labels
compiler-plugin Issues related to the atomicfu-compiler-plugin

Comments

@mvicsokolova
Copy link
Collaborator

mvicsokolova commented Oct 20, 2022

JVM IR compiler plugin, introduced since Kotlin 1.7.20 leaves atomicfu references in metadata.
Example of metadata of the transformed class:

private final class kotlinx/coroutines/AwaitAll<T#0> : kotlin/Any {
  // field: deferreds:[Lkotlinx/coroutines/Deferred;
  private final val deferreds: kotlin/Array<out kotlinx/coroutines/Deferred<T#0>>
    private final get

  private final val notCompletedCount: kotlinx/atomicfu/AtomicInt          // <------ !!!
    private final get

  .....
}

Probably JVM IR compiler plugin removes the backingField of the atomic property but leaves the property itself.

Not critical, should be fixed on the compiler plugin side.

@mvicsokolova mvicsokolova self-assigned this Oct 20, 2022
@mvicsokolova mvicsokolova added compiler-plugin Issues related to the atomicfu-compiler-plugin and removed enhancement JVM IR labels Apr 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler-plugin Issues related to the atomicfu-compiler-plugin
Projects
None yet
Development

No branches or pull requests

1 participant