diff --git a/generators/test-generator/tests/org/jetbrains/kotlin/generators/NewTestGeneratorImpl.kt b/generators/test-generator/tests/org/jetbrains/kotlin/generators/NewTestGeneratorImpl.kt index 37623f30c7f..a69df5d4c49 100644 --- a/generators/test-generator/tests/org/jetbrains/kotlin/generators/NewTestGeneratorImpl.kt +++ b/generators/test-generator/tests/org/jetbrains/kotlin/generators/NewTestGeneratorImpl.kt @@ -293,6 +293,6 @@ object NewTestGeneratorImpl : TestGenerator(METHOD_GENERATORS) { private fun TestClassModel.predefinedNativeTransformers(recursive: Boolean): List> = methods.mapNotNull { method -> - (method as? TransformingTestMethodModel)?.takeIf { it.isNative }?.let { it.source.file.path to it.transformer } + (method as? TransformingTestMethodModel)?.takeIf { it.registerInConstructor }?.let { it.source.file.path to it.transformer } } + if (recursive) innerTestClasses.flatMap { it.predefinedNativeTransformers(recursive) } else listOf() } diff --git a/generators/test-generator/tests/org/jetbrains/kotlin/generators/impl/TransformingTestMethodGenerator.kt b/generators/test-generator/tests/org/jetbrains/kotlin/generators/impl/TransformingTestMethodGenerator.kt index 7be87b3d8c3..902f214bfc5 100644 --- a/generators/test-generator/tests/org/jetbrains/kotlin/generators/impl/TransformingTestMethodGenerator.kt +++ b/generators/test-generator/tests/org/jetbrains/kotlin/generators/impl/TransformingTestMethodGenerator.kt @@ -24,8 +24,8 @@ object TransformingTestMethodGenerator : MethodGenerator> = super.imports() + TransformerFunctionsClassPlaceHolder::class.java - internal val isNative - get() = source.targetBackend in listOf(TargetBackend.NATIVE, TargetBackend.ANY) + internal val registerInConstructor + get() = source.targetBackend == TargetBackend.NATIVE // Native tests load sources before runTest call if more than 1 test is called, so we need to register it before. - // Existing native tests specify target backend as ANY, setting it to NATIVE removes some previously generated tests. } \ No newline at end of file diff --git a/generators/test-generator/tests/org/jetbrains/kotlin/generators/model/WithoutJvmInlineTestMethodModel.kt b/generators/test-generator/tests/org/jetbrains/kotlin/generators/model/WithoutJvmInlineTestMethodModel.kt index 88432b595ab..9e771f7a630 100644 --- a/generators/test-generator/tests/org/jetbrains/kotlin/generators/model/WithoutJvmInlineTestMethodModel.kt +++ b/generators/test-generator/tests/org/jetbrains/kotlin/generators/model/WithoutJvmInlineTestMethodModel.kt @@ -7,11 +7,12 @@ package org.jetbrains.kotlin.generators.model class WithoutJvmInlineTestMethodModel( source: SimpleTestMethodModel, - val withAnnotation: Boolean + withAnnotation: Boolean, + withPostfix: Boolean, ) : TransformingTestMethodModel( source, transformer = "TransformersFunctions::" + if (withAnnotation) "replaceOptionalJvmInlineAnnotationWithReal" else "removeOptionalJvmInlineAnnotation" ) { - override val name: String = source.name + if (withAnnotation) "" else "_valueClasses" + override val name: String = source.name + if (withPostfix) "_valueClasses" else "" } \ No newline at end of file diff --git a/generators/test-generator/tests/org/jetbrains/kotlin/generators/util/MethodModelLocator.kt b/generators/test-generator/tests/org/jetbrains/kotlin/generators/util/MethodModelLocator.kt index 08ec8a2948d..8de465e6a25 100644 --- a/generators/test-generator/tests/org/jetbrains/kotlin/generators/util/MethodModelLocator.kt +++ b/generators/test-generator/tests/org/jetbrains/kotlin/generators/util/MethodModelLocator.kt @@ -37,11 +37,11 @@ fun methodModelLocator( tags ).let { methodModel -> if (methodModel.containsWithoutJvmInline()) { - val isWithoutAnnotations = when { - targetBackend.isRecursivelyCompatibleWith(TargetBackend.JVM_IR) -> listOf(true, false) - targetBackend.isRecursivelyCompatibleWith(TargetBackend.JVM) -> listOf(true) - else -> listOf(false) + val isWithAnnotationAndIsWithPostfix = when { + targetBackend.isRecursivelyCompatibleWith(TargetBackend.JVM_IR) -> listOf(true to false, false to true) + targetBackend.isRecursivelyCompatibleWith(TargetBackend.JVM) -> listOf(true to false) + else -> listOf(false to false) } - isWithoutAnnotations.map { WithoutJvmInlineTestMethodModel(methodModel, it) } + isWithAnnotationAndIsWithPostfix.map { (ann, post) -> WithoutJvmInlineTestMethodModel(methodModel, ann, post) } } else listOf(methodModel) } \ No newline at end of file diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java index f698d407098..45931495ea6 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java @@ -14841,7 +14841,7 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { @Test @TestMetadata("boxResultInlineClassOfConstructorCall.kt") - public void testBoxResultInlineClassOfConstructorCall_valueClasses() throws Exception { + public void testBoxResultInlineClassOfConstructorCall() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxResultInlineClassOfConstructorCall.kt", TransformersFunctions::removeOptionalJvmInlineAnnotation); } diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java index 3bbf4343213..a437d2968be 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java @@ -14805,7 +14805,7 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { @Test @TestMetadata("boxResultInlineClassOfConstructorCall.kt") - public void testBoxResultInlineClassOfConstructorCall_valueClasses() throws Exception { + public void testBoxResultInlineClassOfConstructorCall() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxResultInlineClassOfConstructorCall.kt", TransformersFunctions::removeOptionalJvmInlineAnnotation); } diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java index 019958301ca..13da6d13049 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java @@ -12472,7 +12472,7 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest } @TestMetadata("boxResultInlineClassOfConstructorCall.kt") - public void testBoxResultInlineClassOfConstructorCall_valueClasses() throws Exception { + public void testBoxResultInlineClassOfConstructorCall() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxResultInlineClassOfConstructorCall.kt", TransformersFunctions::removeOptionalJvmInlineAnnotation); } diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeExtBlackBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeExtBlackBoxTestGenerated.java index 8a737be95e9..d757d7a3daf 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeExtBlackBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeExtBlackBoxTestGenerated.java @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.test.util.KtTestUtil; import org.jetbrains.kotlin.konan.blackboxtest.support.group.NativeBlackBoxTestCaseGroupProvider; import org.jetbrains.kotlin.konan.blackboxtest.support.group.ExtTestCaseGroupProvider; import org.jetbrains.kotlin.test.TargetBackend; +import org.jetbrains.kotlin.test.runners.TransformersFunctions; import org.jetbrains.kotlin.test.TestMetadata; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -15645,7 +15646,7 @@ public class NativeExtBlackBoxTestGenerated extends AbstractNativeBlackBoxTest { @NativeBlackBoxTestCaseGroupProvider(ExtTestCaseGroupProvider.class) public class InlineClasses { public InlineClasses() { - register("compiler/testData/codegen/box/inlineClasses/boxResultInlineClassOfConstructorCall.kt", s -> s.replaceAll("OPTIONAL_JVM_INLINE_ANNOTATION", "")); + register("compiler/testData/codegen/box/inlineClasses/boxResultInlineClassOfConstructorCall.kt", TransformersFunctions::removeOptionalJvmInlineAnnotation); } @Test @@ -15703,11 +15704,11 @@ public class NativeExtBlackBoxTestGenerated extends AbstractNativeBlackBoxTest { @Test @TestMetadata("boxResultInlineClassOfConstructorCall.kt") - public void testBoxResultInlineClassOfConstructorCall_valueClasses() throws Exception { + public void testBoxResultInlineClassOfConstructorCall() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/boxResultInlineClassOfConstructorCall.kt"); /* There is a registered source transformer for the testcase: - s -> s.replaceAll("OPTIONAL_JVM_INLINE_ANNOTATION", "") + TransformersFunctions::removeOptionalJvmInlineAnnotation */ }