93561a1a55
* kotlinx.atomicfu compiler plugin for JS_IR Support transformations of atomic operations introduced by the kotlinx.atomicfu library for the JS_IR backend. Compiler plugin is applied externally by the kotlinx.atomicfu gradle plugin. * Apply compiler plugin for JS platform only * New plugin test structure * testGroupOutputDirPrefix changed
30 lines
594 B
Kotlin
Vendored
30 lines
594 B
Kotlin
Vendored
import kotlinx.atomicfu.*
|
|
import kotlin.test.*
|
|
|
|
class MultiInitTest {
|
|
fun testBasic() {
|
|
val t = MultiInit()
|
|
check(t.incA() == 1)
|
|
check(t.incA() == 2)
|
|
check(t.incB() == 1)
|
|
check(t.incB() == 2)
|
|
}
|
|
}
|
|
|
|
class MultiInit {
|
|
private val a = atomic(0)
|
|
private val b = atomic(0)
|
|
|
|
fun incA() = a.incrementAndGet()
|
|
fun incB() = b.incrementAndGet()
|
|
|
|
companion object {
|
|
fun foo() {} // just to force some clinit in outer file
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
val testClass = MultiInitTest()
|
|
testClass.testBasic()
|
|
return "OK"
|
|
} |