[atomicfu-JVM] Preparation for commonization of JVM and K/N transformers
The following updates in the JVM/IR plugin were made: * Lots of refactoring with preparation for K/N support: commonization of transformations. * Improved error handling (checks for visibility constraints, appending message about usage constraints in case of an error). * Explicit requirements for the visibility of atomic properties: to prevent leaking they should be private/internal or be members of private/internal classes. * Fixed visibility of generated properties: volatile properties are always private and atomic updaters have the same visibility as the original atomic property. * Volatile fields are generated from scratch and original atomic properties are removed. * Delegated properties support is fixed (only declaration in the same scope is allowed). * Non-inline atomic extensions are forbidden. * For top-level atomics: only one wrapper class per file (with corresponding visibility) is generated. * Bug fixes. The corresponding tickets: https://github.com/Kotlin/kotlinx-atomicfu/issues/322 KT-60528 Merge-request: KT-MR-10579 Merged-by: Maria Sokolova <maria.sokolova@jetbrains.com>
This commit is contained in:
+1
-9
@@ -5,16 +5,9 @@
|
||||
|
||||
package org.jetbrains.kotlinx.atomicfu
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.kotlin.ObsoleteTestInfrastructure
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.cli.jvm.config.JvmClasspathRoot
|
||||
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
|
||||
import org.jetbrains.kotlin.codegen.AbstractAsmLikeInstructionListingTest
|
||||
import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
|
||||
import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar.ExtensionStorage
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
@@ -27,13 +20,12 @@ import java.io.File
|
||||
|
||||
private val coreLibraryPath = getLibraryJar("kotlinx.atomicfu.AtomicFU")
|
||||
private val kotlinTestPath = getLibraryJar("kotlin.test.AssertionsKt")
|
||||
private val javaUtilConcurrentPath = getLibraryJar("java.util.concurrent.atomic.AtomicIntegerFieldUpdater")
|
||||
private val kotlinJvm = getLibraryJar("kotlin.jvm.JvmField")
|
||||
|
||||
open class AbstractAtomicfuJvmIrTest : AbstractIrBlackBoxCodegenTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
val librariesPaths = listOf(coreLibraryPath!!, kotlinTestPath!!, javaUtilConcurrentPath!!, kotlinJvm!!)
|
||||
val librariesPaths = listOf(coreLibraryPath!!, kotlinTestPath!!, kotlinJvm!!)
|
||||
builder.configureForKotlinxAtomicfu(librariesPaths)
|
||||
}
|
||||
}
|
||||
|
||||
+221
-155
@@ -25,171 +25,237 @@ public class AtomicfuJsIrTestGenerated extends AbstractAtomicfuJsIrTest {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ArithmeticTest.kt")
|
||||
public void testArithmeticTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ArithmeticTest.kt");
|
||||
@Nested
|
||||
@TestMetadata("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Atomic_extensions {
|
||||
@Test
|
||||
public void testAllFilesPresentInAtomic_extensions() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ArrayInlineExtensionTest.kt")
|
||||
public void testArrayInlineExtensionTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/ArrayInlineExtensionTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ArrayLoopTest.kt")
|
||||
public void testArrayLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/ArrayLoopTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ComplexLoopTest.kt")
|
||||
public void testComplexLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/ComplexLoopTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ExtensionLoopTest.kt")
|
||||
public void testExtensionLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/ExtensionLoopTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ExtensionsTest.kt")
|
||||
public void testExtensionsTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/ExtensionsTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("InlineExtensionWithTypeParameterTest.kt")
|
||||
public void testInlineExtensionWithTypeParameterTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/InlineExtensionWithTypeParameterTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LambdaTest.kt")
|
||||
public void testLambdaTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/LambdaTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeIntBitsTest.kt")
|
||||
public void testLockFreeIntBitsTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/LockFreeIntBitsTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockTest.kt")
|
||||
public void testLockTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/LockTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ParameterizedInlineFunExtensionTest.kt")
|
||||
public void testParameterizedInlineFunExtensionTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/ParameterizedInlineFunExtensionTest.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ArrayInlineExtensionTest.kt")
|
||||
public void testArrayInlineExtensionTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ArrayInlineExtensionTest.kt");
|
||||
@Nested
|
||||
@TestMetadata("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Atomics_basic {
|
||||
@Test
|
||||
public void testAllFilesPresentInAtomics_basic() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ArithmeticTest.kt")
|
||||
public void testArithmeticTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/ArithmeticTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("AtomicArrayTest.kt")
|
||||
public void testAtomicArrayTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/AtomicArrayTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("IndexArrayElementGetterTest.kt")
|
||||
public void testIndexArrayElementGetterTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/IndexArrayElementGetterTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("InitializationOrderTest.kt")
|
||||
public void testInitializationOrderTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/InitializationOrderTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LateinitPropertiesTest.kt")
|
||||
public void testLateinitPropertiesTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/LateinitPropertiesTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeLongCounterTest.kt")
|
||||
public void testLockFreeLongCounterTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/LockFreeLongCounterTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeQueueTest.kt")
|
||||
public void testLockFreeQueueTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/LockFreeQueueTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeStackTest.kt")
|
||||
public void testLockFreeStackTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/LockFreeStackTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LoopTest.kt")
|
||||
public void testLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/LoopTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("MultiInitTest.kt")
|
||||
public void testMultiInitTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/MultiInitTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ScopeTest.kt")
|
||||
public void testScopeTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/ScopeTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SimpleLockTest.kt")
|
||||
public void testSimpleLockTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/SimpleLockTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("UncheckedCastTest.kt")
|
||||
public void testUncheckedCastTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/UncheckedCastTest.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ArrayLoopTest.kt")
|
||||
public void testArrayLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ArrayLoopTest.kt");
|
||||
@Nested
|
||||
@TestMetadata("plugins/atomicfu/atomicfu-compiler/testData/box/delegated")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Delegated {
|
||||
@Test
|
||||
public void testAllFilesPresentInDelegated() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box/delegated"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("DelegatedPropertiesTest.kt")
|
||||
public void testDelegatedPropertiesTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/delegated/DelegatedPropertiesTest.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("AtomicArrayTest.kt")
|
||||
public void testAtomicArrayTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/AtomicArrayTest.kt");
|
||||
@Nested
|
||||
@TestMetadata("plugins/atomicfu/atomicfu-compiler/testData/box/locks")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Locks {
|
||||
@Test
|
||||
public void testAllFilesPresentInLocks() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box/locks"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ReentrantLockTest.kt")
|
||||
public void testReentrantLockTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/locks/ReentrantLockTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SynchronizedObjectTest.kt")
|
||||
public void testSynchronizedObjectTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/locks/SynchronizedObjectTest.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ComplexLoopTest.kt")
|
||||
public void testComplexLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ComplexLoopTest.kt");
|
||||
@Nested
|
||||
@TestMetadata("plugins/atomicfu/atomicfu-compiler/testData/box/top-level")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Top_level {
|
||||
@Test
|
||||
public void testAllFilesPresentInTop_level() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box/top-level"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("FieldInObjectTest.kt")
|
||||
public void testFieldInObjectTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/top-level/FieldInObjectTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("TopLevelTest.kt")
|
||||
public void testTopLevelTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/top-level/TopLevelTest.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("DelegatedPropertiesTest.kt")
|
||||
public void testDelegatedPropertiesTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/DelegatedPropertiesTest.kt");
|
||||
}
|
||||
@Nested
|
||||
@TestMetadata("plugins/atomicfu/atomicfu-compiler/testData/box/trace")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Trace {
|
||||
@Test
|
||||
public void testAllFilesPresentInTrace() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box/trace"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ExtensionLoopTest.kt")
|
||||
public void testExtensionLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ExtensionLoopTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ExtensionsTest.kt")
|
||||
public void testExtensionsTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ExtensionsTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("FieldInObjectTest.kt")
|
||||
public void testFieldInObjectTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/FieldInObjectTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("IndexArrayElementGetterTest.kt")
|
||||
public void testIndexArrayElementGetterTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/IndexArrayElementGetterTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("InlineExtensionWithTypeParameterTest.kt")
|
||||
public void testInlineExtensionWithTypeParameterTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/InlineExtensionWithTypeParameterTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LambdaTest.kt")
|
||||
public void testLambdaTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LambdaTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LateinitPropertiesTest.kt")
|
||||
public void testLateinitPropertiesTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LateinitPropertiesTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeIntBitsTest.kt")
|
||||
public void testLockFreeIntBitsTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LockFreeIntBitsTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeLongCounterTest.kt")
|
||||
public void testLockFreeLongCounterTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LockFreeLongCounterTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeQueueTest.kt")
|
||||
public void testLockFreeQueueTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LockFreeQueueTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeStackTest.kt")
|
||||
public void testLockFreeStackTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LockFreeStackTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockTest.kt")
|
||||
public void testLockTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LockTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LoopTest.kt")
|
||||
public void testLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LoopTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("MultiInitTest.kt")
|
||||
public void testMultiInitTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/MultiInitTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ParameterizedInlineFunExtensionTest.kt")
|
||||
public void testParameterizedInlineFunExtensionTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ParameterizedInlineFunExtensionTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ReentrantLockTest.kt")
|
||||
public void testReentrantLockTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ReentrantLockTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ScopeTest.kt")
|
||||
public void testScopeTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ScopeTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SimpleLockTest.kt")
|
||||
public void testSimpleLockTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/SimpleLockTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SynchronizedObjectTest.kt")
|
||||
public void testSynchronizedObjectTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/SynchronizedObjectTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("TopLevelTest.kt")
|
||||
public void testTopLevelTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/TopLevelTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("TraceTest.kt")
|
||||
public void testTraceTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/TraceTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("UncheckedCastTest.kt")
|
||||
public void testUncheckedCastTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/UncheckedCastTest.kt");
|
||||
@Test
|
||||
@TestMetadata("TraceTest.kt")
|
||||
public void testTraceTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/trace/TraceTest.kt");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+221
-155
@@ -25,171 +25,237 @@ public class AtomicfuJvmIrTestGenerated extends AbstractAtomicfuJvmIrTest {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ArithmeticTest.kt")
|
||||
public void testArithmeticTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ArithmeticTest.kt");
|
||||
@Nested
|
||||
@TestMetadata("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Atomic_extensions {
|
||||
@Test
|
||||
public void testAllFilesPresentInAtomic_extensions() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ArrayInlineExtensionTest.kt")
|
||||
public void testArrayInlineExtensionTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/ArrayInlineExtensionTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ArrayLoopTest.kt")
|
||||
public void testArrayLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/ArrayLoopTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ComplexLoopTest.kt")
|
||||
public void testComplexLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/ComplexLoopTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ExtensionLoopTest.kt")
|
||||
public void testExtensionLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/ExtensionLoopTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ExtensionsTest.kt")
|
||||
public void testExtensionsTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/ExtensionsTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("InlineExtensionWithTypeParameterTest.kt")
|
||||
public void testInlineExtensionWithTypeParameterTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/InlineExtensionWithTypeParameterTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LambdaTest.kt")
|
||||
public void testLambdaTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/LambdaTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeIntBitsTest.kt")
|
||||
public void testLockFreeIntBitsTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/LockFreeIntBitsTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockTest.kt")
|
||||
public void testLockTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/LockTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ParameterizedInlineFunExtensionTest.kt")
|
||||
public void testParameterizedInlineFunExtensionTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomic_extensions/ParameterizedInlineFunExtensionTest.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ArrayInlineExtensionTest.kt")
|
||||
public void testArrayInlineExtensionTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ArrayInlineExtensionTest.kt");
|
||||
@Nested
|
||||
@TestMetadata("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Atomics_basic {
|
||||
@Test
|
||||
public void testAllFilesPresentInAtomics_basic() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ArithmeticTest.kt")
|
||||
public void testArithmeticTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/ArithmeticTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("AtomicArrayTest.kt")
|
||||
public void testAtomicArrayTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/AtomicArrayTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("IndexArrayElementGetterTest.kt")
|
||||
public void testIndexArrayElementGetterTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/IndexArrayElementGetterTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("InitializationOrderTest.kt")
|
||||
public void testInitializationOrderTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/InitializationOrderTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LateinitPropertiesTest.kt")
|
||||
public void testLateinitPropertiesTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/LateinitPropertiesTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeLongCounterTest.kt")
|
||||
public void testLockFreeLongCounterTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/LockFreeLongCounterTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeQueueTest.kt")
|
||||
public void testLockFreeQueueTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/LockFreeQueueTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeStackTest.kt")
|
||||
public void testLockFreeStackTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/LockFreeStackTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LoopTest.kt")
|
||||
public void testLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/LoopTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("MultiInitTest.kt")
|
||||
public void testMultiInitTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/MultiInitTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ScopeTest.kt")
|
||||
public void testScopeTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/ScopeTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SimpleLockTest.kt")
|
||||
public void testSimpleLockTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/SimpleLockTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("UncheckedCastTest.kt")
|
||||
public void testUncheckedCastTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/atomics_basic/UncheckedCastTest.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ArrayLoopTest.kt")
|
||||
public void testArrayLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ArrayLoopTest.kt");
|
||||
@Nested
|
||||
@TestMetadata("plugins/atomicfu/atomicfu-compiler/testData/box/delegated")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Delegated {
|
||||
@Test
|
||||
public void testAllFilesPresentInDelegated() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box/delegated"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("DelegatedPropertiesTest.kt")
|
||||
public void testDelegatedPropertiesTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/delegated/DelegatedPropertiesTest.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("AtomicArrayTest.kt")
|
||||
public void testAtomicArrayTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/AtomicArrayTest.kt");
|
||||
@Nested
|
||||
@TestMetadata("plugins/atomicfu/atomicfu-compiler/testData/box/locks")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Locks {
|
||||
@Test
|
||||
public void testAllFilesPresentInLocks() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box/locks"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ReentrantLockTest.kt")
|
||||
public void testReentrantLockTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/locks/ReentrantLockTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SynchronizedObjectTest.kt")
|
||||
public void testSynchronizedObjectTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/locks/SynchronizedObjectTest.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ComplexLoopTest.kt")
|
||||
public void testComplexLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ComplexLoopTest.kt");
|
||||
@Nested
|
||||
@TestMetadata("plugins/atomicfu/atomicfu-compiler/testData/box/top-level")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Top_level {
|
||||
@Test
|
||||
public void testAllFilesPresentInTop_level() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box/top-level"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("FieldInObjectTest.kt")
|
||||
public void testFieldInObjectTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/top-level/FieldInObjectTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("TopLevelTest.kt")
|
||||
public void testTopLevelTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/top-level/TopLevelTest.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("DelegatedPropertiesTest.kt")
|
||||
public void testDelegatedPropertiesTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/DelegatedPropertiesTest.kt");
|
||||
}
|
||||
@Nested
|
||||
@TestMetadata("plugins/atomicfu/atomicfu-compiler/testData/box/trace")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Trace {
|
||||
@Test
|
||||
public void testAllFilesPresentInTrace() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/atomicfu/atomicfu-compiler/testData/box/trace"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ExtensionLoopTest.kt")
|
||||
public void testExtensionLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ExtensionLoopTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ExtensionsTest.kt")
|
||||
public void testExtensionsTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ExtensionsTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("FieldInObjectTest.kt")
|
||||
public void testFieldInObjectTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/FieldInObjectTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("IndexArrayElementGetterTest.kt")
|
||||
public void testIndexArrayElementGetterTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/IndexArrayElementGetterTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("InlineExtensionWithTypeParameterTest.kt")
|
||||
public void testInlineExtensionWithTypeParameterTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/InlineExtensionWithTypeParameterTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LambdaTest.kt")
|
||||
public void testLambdaTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LambdaTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LateinitPropertiesTest.kt")
|
||||
public void testLateinitPropertiesTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LateinitPropertiesTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeIntBitsTest.kt")
|
||||
public void testLockFreeIntBitsTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LockFreeIntBitsTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeLongCounterTest.kt")
|
||||
public void testLockFreeLongCounterTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LockFreeLongCounterTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeQueueTest.kt")
|
||||
public void testLockFreeQueueTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LockFreeQueueTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockFreeStackTest.kt")
|
||||
public void testLockFreeStackTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LockFreeStackTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LockTest.kt")
|
||||
public void testLockTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LockTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("LoopTest.kt")
|
||||
public void testLoopTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/LoopTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("MultiInitTest.kt")
|
||||
public void testMultiInitTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/MultiInitTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ParameterizedInlineFunExtensionTest.kt")
|
||||
public void testParameterizedInlineFunExtensionTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ParameterizedInlineFunExtensionTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ReentrantLockTest.kt")
|
||||
public void testReentrantLockTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ReentrantLockTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ScopeTest.kt")
|
||||
public void testScopeTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/ScopeTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SimpleLockTest.kt")
|
||||
public void testSimpleLockTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/SimpleLockTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SynchronizedObjectTest.kt")
|
||||
public void testSynchronizedObjectTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/SynchronizedObjectTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("TopLevelTest.kt")
|
||||
public void testTopLevelTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/TopLevelTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("TraceTest.kt")
|
||||
public void testTraceTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/TraceTest.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("UncheckedCastTest.kt")
|
||||
public void testUncheckedCastTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/UncheckedCastTest.kt");
|
||||
@Test
|
||||
@TestMetadata("TraceTest.kt")
|
||||
public void testTraceTest() throws Exception {
|
||||
runTest("plugins/atomicfu/atomicfu-compiler/testData/box/trace/TraceTest.kt");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user