diff --git a/kotlin-native/backend.native/tests/build.gradle b/kotlin-native/backend.native/tests/build.gradle index 12277acbb28..fba7d159584 100644 --- a/kotlin-native/backend.native/tests/build.gradle +++ b/kotlin-native/backend.native/tests/build.gradle @@ -303,42 +303,12 @@ linkTest("localDelegatedPropertyLink") { lib = "lower/local_delegated_property_link/lib.kt" } -tasks.register("method_call", KonanLocalTest) { - source = "codegen/object/method_call.kt" -} - -tasks.register("fields", KonanLocalTest) { - source = "codegen/object/fields.kt" -} - -tasks.register("fields1", KonanLocalTest) { - source = "codegen/object/fields1.kt" -} - -tasks.register("fields2", KonanLocalTest) { - useGoldenData = true - source = "codegen/object/fields2.kt" -} - // This test checks object layout can't be done in // KonanLocalTest paradigm //tasks.register("constructor", UnitKonanTest) { // source = "codegen/object/constructor.kt" //} -tasks.register("objectInitialization", KonanLocalTest) { - source = "codegen/object/initialization.kt" -} - -tasks.register("objectInitialization1", KonanLocalTest) { - useGoldenData = true - source = "codegen/object/initialization1.kt" -} - -standaloneTest("object_globalInitializer") { - source = "codegen/object/globalInitializer.kt" -} - standaloneTest("runtime_basic_init") { source = "runtime/basic/init.kt" expectedExitStatus = 0 @@ -349,14 +319,6 @@ standaloneTest("runtime_basic_exit") { expectedExitStatus = 42 } -tasks.register("codegen_vector_default_argument", KonanLocalTest) { - source = "codegen/vector/default_argument.kt" -} - -tasks.register("stringTrim", KonanLocalTest) { - source = "codegen/stringTrim/stringTrim.kt" -} - standaloneTest('enumEquals') { useGoldenData = true source = "runtime/basic/enum_equals.kt" @@ -638,66 +600,6 @@ linkTest("innerClass_inheritance3_linkTest") { lib = "codegen/innerClass/inheritance3_linkTest_lib.kt" } -tasks.register("localClass_localHierarchy", KonanLocalTest) { - useGoldenData = true - source = "codegen/localClass/localHierarchy.kt" -} - -standaloneTest("objectDeclaration_globalConstants") { - disabled = (cacheTesting != null) // Cache is not compatible with -opt. - flags = ["-opt", "-opt-in=kotlin.native.internal.InternalForKotlinNative", "-tr"] - source = "codegen/objectDeclaration/globalConstants.kt" -} - -tasks.register("object_isFrozen", KonanLocalTest) { - source = "codegen/objectDeclaration/isFrozen.kt" -} - -tasks.register("localClass_objectExpressionInProperty", KonanLocalTest) { - useGoldenData = true - source = "codegen/localClass/objectExpressionInProperty.kt" -} - -tasks.register("localClass_objectExpressionInInitializer", KonanLocalTest) { - useGoldenData = true - source = "codegen/localClass/objectExpressionInInitializer.kt" -} - -tasks.register("localClass_innerWithCapture", KonanLocalTest) { - useGoldenData = true - source = "codegen/localClass/innerWithCapture.kt" -} - -tasks.register("localClass_innerTakesCapturedFromOuter", KonanLocalTest) { - useGoldenData = true - source = "codegen/localClass/innerTakesCapturedFromOuter.kt" -} - -tasks.register("localClass_virtualCallFromConstructor", KonanLocalTest) { - useGoldenData = true - source = "codegen/localClass/virtualCallFromConstructor.kt" -} - -tasks.register("localClass_noPrimaryConstructor", KonanLocalTest) { - useGoldenData = true - source = "codegen/localClass/noPrimaryConstructor.kt" -} - -tasks.register("localClass_localFunctionCallFromLocalClass", KonanLocalTest) { - useGoldenData = true - source = "codegen/localClass/localFunctionCallFromLocalClass.kt" -} - -tasks.register("localClass_localFunctionInLocalClass", KonanLocalTest) { - useGoldenData = true - source = "codegen/localClass/localFunctionInLocalClass.kt" -} - -tasks.register("localClass_tryCatch", KonanLocalTest) { - useGoldenData = true - source = "codegen/localClass/tryCatch.kt" -} - standaloneTest("initializers_testInfrastructure") { source = "codegen/initializers/testInfrastructure.kt" flags = ["-tr"] @@ -750,123 +652,16 @@ linkTest("delegatedProperty_correctFieldsOrder") { lib = "codegen/delegatedProperty/correctFieldsOrder_lib.kt" } -tasks.register("propertyCallableReference_valClass", KonanLocalTest) { - useGoldenData = true - source = "codegen/propertyCallableReference/valClass.kt" -} - -tasks.register("propertyCallableReference_valModule", KonanLocalTest) { - useGoldenData = true - source = "codegen/propertyCallableReference/valModule.kt" -} - -tasks.register("propertyCallableReference_varClass", KonanLocalTest) { - useGoldenData = true - source = "codegen/propertyCallableReference/varClass.kt" -} - -tasks.register("propertyCallableReference_varModule", KonanLocalTest) { - useGoldenData = true - source = "codegen/propertyCallableReference/varModule.kt" -} - -tasks.register("propertyCallableReference_valExtension", KonanLocalTest) { - useGoldenData = true - source = "codegen/propertyCallableReference/valExtension.kt" -} - -tasks.register("propertyCallableReference_varExtension", KonanLocalTest) { - useGoldenData = true - source = "codegen/propertyCallableReference/varExtension.kt" -} - linkTest("propertyCallableReference_linkTest") { useGoldenData = true source = "codegen/propertyCallableReference/linkTest_main.kt" lib = "codegen/propertyCallableReference/linkTest_lib.kt" } -tasks.register("propertyCallableReference_dynamicReceiver", KonanLocalTest) { - useGoldenData = true - source = "codegen/propertyCallableReference/dynamicReceiver.kt" -} - -tasks.register("lateinit_initialized", KonanLocalTest) { - useGoldenData = true - source = "codegen/lateinit/initialized.kt" -} - -tasks.register("lateinit_notInitialized", KonanLocalTest) { - useGoldenData = true - source = "codegen/lateinit/notInitialized.kt" -} - -tasks.register("lateinit_inBaseClass", KonanLocalTest) { - useGoldenData = true - source = "codegen/lateinit/inBaseClass.kt" -} - -tasks.register("lateinit_localInitialized", KonanLocalTest) { - useGoldenData = true - source = "codegen/lateinit/localInitialized.kt" -} - -tasks.register("lateinit_localNotInitialized", KonanLocalTest) { - useGoldenData = true - source = "codegen/lateinit/localNotInitialized.kt" -} - -tasks.register("lateinit_localCapturedInitialized", KonanLocalTest) { - useGoldenData = true - source = "codegen/lateinit/localCapturedInitialized.kt" -} - -tasks.register("lateinit_localCapturedNotInitialized", KonanLocalTest) { - useGoldenData = true - source = "codegen/lateinit/localCapturedNotInitialized.kt" -} - -tasks.register("lateinit_isInitialized", KonanLocalTest) { - useGoldenData = true - source = "codegen/lateinit/isInitialized.kt" -} - -tasks.register("lateinit_globalIsInitialized", KonanLocalTest) { - useGoldenData = true - source = "codegen/lateinit/globalIsInitialized.kt" -} - -tasks.register("lateinit_innerIsInitialized", KonanLocalTest) { - useGoldenData = true - source = "codegen/lateinit/innerIsInitialized.kt" -} - tasks.register("sanity_assertions_enabled_for_local_tests", KonanLocalTest) { source = "sanity/assertions_enabled_for_local_tests.kt" } -tasks.register("kclass0", KonanLocalTest) { - source = "codegen/kclass/kclass0.kt" -} - -tasks.register("kclass1", KonanLocalTest) { - useGoldenData = true - source = "codegen/kclass/kclass1.kt" -} - -tasks.register("kclassEnumArgument", KonanLocalTest) { - useGoldenData = true - source = "codegen/kclass/kClassEnumArgument.kt" -} - -tasks.register("ktype1", KonanLocalTest) { - source = "codegen/ktype/ktype1.kt" -} - -tasks.register("ktype_nonReified", KonanLocalTest) { - source = "codegen/ktype/nonReified.kt" -} - tasks.register("immutable_binary_blob_in_lambda", KonanLocalTest) { source = "lower/immutable_blob_in_lambda.kt" useGoldenData = true @@ -1123,127 +918,6 @@ standaloneTest("unhandled_exception") { source = "runtime/exceptions/unhandled_exception.kt" } -tasks.register("catch3", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/catch3.kt" -} - -tasks.register("catch4", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/catch4.kt" -} - -tasks.register("catch5", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/catch5.kt" -} - -tasks.register("catch6", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/catch6.kt" -} - -tasks.register("catch8", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/catch8.kt" -} - -tasks.register("finally1", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/finally1.kt" -} - -tasks.register("finally2", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/finally2.kt" -} - -tasks.register("finally3", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/finally3.kt" -} - -tasks.register("finally4", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/finally4.kt" -} - -tasks.register("finally5", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/finally5.kt" -} - -tasks.register("finally6", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/finally6.kt" -} - -tasks.register("finally7", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/finally7.kt" -} - -tasks.register("finally8", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/finally8.kt" -} - -tasks.register("finally9", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/finally9.kt" -} - -tasks.register("finally10", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/finally10.kt" -} - -tasks.register("finally11", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/finally11.kt" -} - -tasks.register("finally_returnsDifferentTypes", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/returnsDifferentTypes.kt" -} - -tasks.register("try1", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/try1.kt" -} - -tasks.register("try2", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/try2.kt" -} - -tasks.register("try3", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/try3.kt" -} - -tasks.register("try4", KonanLocalTest) { - useGoldenData = true - source = "codegen/try/try4.kt" -} - -tasks.register("interfaceCallsNCasts_conservativeItable", KonanLocalTest) { - useGoldenData = true - source = "codegen/interfaceCallsNCasts/conservativeItable.kt" -} - -tasks.register("interfaceCallsNCasts_functionNameClash", KonanLocalTest) { - source = "codegen/interfaceCallsNCasts/functionNameClash.kt" -} - -tasks.register("interfaceCallsNCasts_finalMethod", KonanLocalTest) { - source = "codegen/interfaceCallsNCasts/finalMethod.kt" -} - -tasks.register("interfaceCallsNCasts_diamond", KonanLocalTest) { - source = "codegen/interfaceCallsNCasts/diamond.kt" -} tasks.register("main_exception", KonanLocalTest) { outputChecker = { s -> s.contains("kotlin.Error: Hello!") } @@ -1280,96 +954,6 @@ tasks.register("initializers1", KonanLocalTest) { } -tasks.register("lambda1", KonanLocalTest) { - useGoldenData = true - source = "codegen/lambda/lambda1.kt" -} - -tasks.register("lambda2", KonanLocalTest) { - arguments = ["arg0"] - useGoldenData = true - source = "codegen/lambda/lambda2.kt" -} - -tasks.register("lambda3", KonanLocalTest) { - useGoldenData = true - source = "codegen/lambda/lambda3.kt" -} - -tasks.register("lambda4", KonanLocalTest) { - useGoldenData = true - source = "codegen/lambda/lambda4.kt" -} - -tasks.register("lambda5", KonanLocalTest) { - useGoldenData = true - source = "codegen/lambda/lambda5.kt" -} - -tasks.register("lambda6", KonanLocalTest) { - useGoldenData = true - source = "codegen/lambda/lambda6.kt" -} - -tasks.register("lambda7", KonanLocalTest) { - useGoldenData = true - source = "codegen/lambda/lambda7.kt" -} - -tasks.register("lambda8", KonanLocalTest) { - useGoldenData = true - source = "codegen/lambda/lambda8.kt" -} - -tasks.register("lambda9", KonanLocalTest) { - useGoldenData = true - source = "codegen/lambda/lambda9.kt" -} - -tasks.register("lambda10", KonanLocalTest) { - useGoldenData = true - source = "codegen/lambda/lambda10.kt" -} - -tasks.register("lambda11", KonanLocalTest) { - useGoldenData = true - source = "codegen/lambda/lambda11.kt" -} - -tasks.register("lambda12", KonanLocalTest) { - useGoldenData = true - source = "codegen/lambda/lambda12.kt" -} - -tasks.register("lambda13", KonanLocalTest) { - useGoldenData = true - source = "codegen/lambda/lambda13.kt" -} - -standaloneTest("lambda14") { - source = "codegen/lambda/lambda14.kt" - flags = ['-tr'] -} - -tasks.register("lambda_kt49360", KonanLocalTest) { - source = "codegen/lambda/lambda_kt49360.kt" -} - -tasks.register("objectExpression1", KonanLocalTest) { - useGoldenData = true - source = "codegen/objectExpression/expr1.kt" -} - -tasks.register("objectExpression2", KonanLocalTest) { - useGoldenData = true - source = "codegen/objectExpression/expr2.kt" -} - -tasks.register("objectExpression3", KonanLocalTest) { - useGoldenData = true - source = "codegen/objectExpression/expr3.kt" -} - standaloneTest("initializers2") { useGoldenData = true @@ -2456,19 +2040,6 @@ standaloneTest("interop_pinning") { flags = [ "-tr" ] } -tasks.register("interop_convert", KonanLocalTest) { - source = "codegen/intrinsics/interop_convert.kt" -} - -tasks.register("interop_sourceCodeStruct", KonanLocalTest) { - source = "codegen/intrinsics/interop_sourceCodeStruct.kt" -} - -standaloneTest("isExperimentalMM") { - source = "codegen/intrinsics/isExperimentalMM.kt" - flags = [ "-tr" ] -} - interopTest("interop_cppClass") { disabled = PlatformInfo.isAppleTarget(project) // KT-58422 source = "interop/cpp/cppClass.kt" @@ -3635,13 +3206,6 @@ if (PlatformInfo.isAppleTarget(project)) { } } -standaloneTest("local_ea_arraysfieldwrite") { - disabled = (cacheTesting != null) // Cache is not compatible with -opt. - useGoldenData = true - flags = ["-opt"] - source = "codegen/localEscapeAnalysis/arraysFieldWrite.kt" -} - tasks.register("override_konan_properties0", KonanDriverTest) { disabled = isAggressiveGC // No need to test with different GC schedulers def overrides = PlatformInfo.isWindows() diff --git a/kotlin-native/backend.native/tests/codegen/ktype/ktype1.kt b/kotlin-native/backend.native/tests/codegen/ktype/ktype1.kt deleted file mode 100644 index d7a841c9093..00000000000 --- a/kotlin-native/backend.native/tests/codegen/ktype/ktype1.kt +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the LICENSE file. - */ - -package codegen.ktype.ktype1 - -import kotlin.test.* -import kotlin.reflect.* - -@OptIn(ExperimentalStdlibApi::class) -inline fun kType() = typeOf() - -inline fun kType(obj: R) = kType() - -class C -class D - -fun kTypeForCWithTypeParameter() = kType>() - -class Outer { - companion object Friend - inner class Inner -} - -object Object - -private val pkg = "codegen.ktype.ktype1" - -@Test -fun testBasics1() { - assertEquals("$pkg.C", kType>().toString()) - assertEquals("$pkg.C<$pkg.C>", kType>>().toString()) - - assertEquals("$pkg.C", kTypeForCWithTypeParameter().toString()) - assertEquals("$pkg.Object", kType().toString()) - assertEquals("$pkg.Outer.Friend", kType().toString()) -} - -@Test -fun testInner() { - val innerKType = kType.Inner>() - assertEquals(Outer.Inner::class, innerKType.classifier) - assertEquals(String::class, innerKType.arguments.first().type!!.classifier) - assertEquals(D::class, innerKType.arguments.last().type!!.classifier) -} - -@Test -fun testAnonymousObject() { - val obj = object {} - val objType = kType(obj) - - assertEquals("(non-denotable type)", objType.toString()) - assertEquals(obj::class, objType.classifier) - - assertTrue(objType.arguments.isEmpty()) - assertFalse(objType.isMarkedNullable) -} \ No newline at end of file diff --git a/kotlin-native/backend.native/tests/codegen/ktype/nonReified.kt b/kotlin-native/backend.native/tests/codegen/ktype/nonReified.kt deleted file mode 100644 index dcfbad22c2d..00000000000 --- a/kotlin-native/backend.native/tests/codegen/ktype/nonReified.kt +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the LICENSE file. - */ - -package codegen.ktype.nonReified - -import kotlin.test.* -import kotlin.reflect.* - -@OptIn(kotlin.ExperimentalStdlibApi::class) -fun foo() = typeOf>() - -@Test -fun test_fun() { - val l = foo() - assertEquals(List::class, l.classifier) - val t = l.arguments.single().type!!.classifier - assertTrue(t is KTypeParameter) - assertFalse((t as KTypeParameter).isReified) - assertEquals("T", (t as KTypeParameter).name) -} - -class C { - @OptIn(kotlin.ExperimentalStdlibApi::class) - fun foo() = typeOf>() -} - -@Test -fun test_class() { - val l = C().foo() - assertEquals(List::class, l.classifier) - val t = l.arguments.single().type!!.classifier - assertTrue(t is KTypeParameter) - assertFalse((t as KTypeParameter).isReified) - assertEquals("T", (t as KTypeParameter).name) -} - -@OptIn(kotlin.ExperimentalStdlibApi::class) -fun bar1() = typeOf>() - -@OptIn(kotlin.ExperimentalStdlibApi::class) -fun bar2() = typeOf>() - -class D { - @OptIn(kotlin.ExperimentalStdlibApi::class) - fun bar1() = typeOf>() -} - -@Test -fun test_equality() { - val t1 = bar1().arguments.single().type!!.classifier - val t2 = bar2().arguments.single().type!!.classifier - val t3 = D().bar1().arguments.single().type!!.classifier - assertNotEquals(t1, t2) - assertNotEquals(t1, t3) - assertNotEquals(t2, t3) - assertEquals(t1, bar1().arguments.single().type!!.classifier) - assertEquals(t2, bar2().arguments.single().type!!.classifier) - assertEquals(t3, D().bar1().arguments.single().type!!.classifier) -} - -@OptIn(kotlin.ExperimentalStdlibApi::class) -inline fun reifiedUpperBound() = typeOf>() - -@Test -fun test_reifiedUpperBound() { - val l = reifiedUpperBound() - assertEquals(List::class, l.classifier) - val r = l.arguments.single().type!!.classifier - assertTrue(r is KTypeParameter) - assertFalse((r as KTypeParameter).isReified) - assertEquals("R", (r as KTypeParameter).name) - val t = (r as KTypeParameter).upperBounds.single().classifier - assertTrue(t is KTypeParameter) - assertTrue((t as KTypeParameter).isReified) - assertEquals("T", (t as KTypeParameter).name) -} - -@OptIn(kotlin.ExperimentalStdlibApi::class) -inline fun > recursionInReified() = typeOf>() - -@Test -fun test_recursionInReified() { - val l = recursionInReified() - assertEquals(List::class, l.classifier) - assertEquals(Int::class, l.arguments.single().type!!.classifier) -} \ No newline at end of file diff --git a/kotlin-native/backend.native/tests/codegen/interfaceCallsNCasts/conservativeItable.kt b/native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/interfaceCallsNCasts/conservativeItable.kt rename to native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.kt diff --git a/kotlin-native/backend.native/tests/codegen/interfaceCallsNCasts/conservativeItable.out b/native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/interfaceCallsNCasts/conservativeItable.out rename to native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.out diff --git a/kotlin-native/backend.native/tests/codegen/interfaceCallsNCasts/diamond.kt b/native/native.tests/testData/codegen/interfaceCallsNCasts/diamond.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/interfaceCallsNCasts/diamond.kt rename to native/native.tests/testData/codegen/interfaceCallsNCasts/diamond.kt diff --git a/kotlin-native/backend.native/tests/codegen/interfaceCallsNCasts/finalMethod.kt b/native/native.tests/testData/codegen/interfaceCallsNCasts/finalMethod.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/interfaceCallsNCasts/finalMethod.kt rename to native/native.tests/testData/codegen/interfaceCallsNCasts/finalMethod.kt diff --git a/kotlin-native/backend.native/tests/codegen/interfaceCallsNCasts/functionNameClash.kt b/native/native.tests/testData/codegen/interfaceCallsNCasts/functionNameClash.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/interfaceCallsNCasts/functionNameClash.kt rename to native/native.tests/testData/codegen/interfaceCallsNCasts/functionNameClash.kt diff --git a/kotlin-native/backend.native/tests/codegen/intrinsics/interop_convert.kt b/native/native.tests/testData/codegen/intrinsics/interop_convertAll.kt similarity index 86% rename from kotlin-native/backend.native/tests/codegen/intrinsics/interop_convert.kt rename to native/native.tests/testData/codegen/intrinsics/interop_convertAll.kt index e26605c138a..7cbde62f734 100644 --- a/kotlin-native/backend.native/tests/codegen/intrinsics/interop_convert.kt +++ b/native/native.tests/testData/codegen/intrinsics/interop_convertAll.kt @@ -1,36 +1,9 @@ @file:OptIn(ExperimentalForeignApi::class) -package codegen.intrinsics.interop_convert import kotlin.test.* import kotlinx.cinterop.* -fun convertIntToShortOrNull(i: Int, b: Boolean): Short? = if (b) i.convert() else null -fun narrowIntToShortOrNull(i: Int, b: Boolean): Short? = if (b) i.narrow() else null -fun signExtendShortToIntOrNull(i: Short, b: Boolean): Int? = if (b) i.signExtend() else null - -@Test -fun testNI() { - assertNull(convertIntToShortOrNull(0, false)) - assertEquals(1, convertIntToShortOrNull(1, true)) - - assertNull(narrowIntToShortOrNull(2, false)) - assertEquals(3, narrowIntToShortOrNull(3, true)) - - assertNull(signExtendShortToIntOrNull(4, false)) - assertEquals(5, signExtendShortToIntOrNull(5, true)) -} - -@Test -fun testConvertSimple() { - assertEquals(1, 257.convert()) - assertEquals(255u, (-1).convert()) - assertEquals(0, Long.MIN_VALUE.narrow()) - assertEquals(-1, Long.MAX_VALUE.narrow()) - assertEquals(-1L, (-1).signExtend()) -} - -@Test -fun convertAll() { +fun box(): String { val values = mutableListOf() for (value in listOf( 0L, @@ -54,6 +27,7 @@ fun convertAll() { testConvertAll(value.toLong()) testConvertAll(value.toULong()) } + return "OK" } fun testConvertAll(value: Byte) { diff --git a/native/native.tests/testData/codegen/intrinsics/interop_convertNI.kt b/native/native.tests/testData/codegen/intrinsics/interop_convertNI.kt new file mode 100644 index 00000000000..0bb4201a43d --- /dev/null +++ b/native/native.tests/testData/codegen/intrinsics/interop_convertNI.kt @@ -0,0 +1,21 @@ + +@file:OptIn(ExperimentalForeignApi::class) +import kotlin.test.* +import kotlinx.cinterop.* + +fun convertIntToShortOrNull(i: Int, b: Boolean): Short? = if (b) i.convert() else null +fun narrowIntToShortOrNull(i: Int, b: Boolean): Short? = if (b) i.narrow() else null +fun signExtendShortToIntOrNull(i: Short, b: Boolean): Int? = if (b) i.signExtend() else null + +fun box(): String { + assertNull(convertIntToShortOrNull(0, false)) + assertEquals(1, convertIntToShortOrNull(1, true)) + + assertNull(narrowIntToShortOrNull(2, false)) + assertEquals(3, narrowIntToShortOrNull(3, true)) + + assertNull(signExtendShortToIntOrNull(4, false)) + assertEquals(5, signExtendShortToIntOrNull(5, true)) + + return "OK" +} diff --git a/native/native.tests/testData/codegen/intrinsics/interop_convertSimple.kt b/native/native.tests/testData/codegen/intrinsics/interop_convertSimple.kt new file mode 100644 index 00000000000..3347acf1200 --- /dev/null +++ b/native/native.tests/testData/codegen/intrinsics/interop_convertSimple.kt @@ -0,0 +1,14 @@ + +@file:OptIn(ExperimentalForeignApi::class) +import kotlin.test.* +import kotlinx.cinterop.* + +fun box(): String { + assertEquals(1, 257.convert()) + assertEquals(255u, (-1).convert()) + assertEquals(0, Long.MIN_VALUE.narrow()) + assertEquals(-1, Long.MAX_VALUE.narrow()) + assertEquals(-1L, (-1).signExtend()) + + return "OK" +} diff --git a/kotlin-native/backend.native/tests/codegen/intrinsics/interop_sourceCodeStruct.kt b/native/native.tests/testData/codegen/intrinsics/interop_sourceCodeStruct.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/intrinsics/interop_sourceCodeStruct.kt rename to native/native.tests/testData/codegen/intrinsics/interop_sourceCodeStruct.kt diff --git a/kotlin-native/backend.native/tests/codegen/intrinsics/isExperimentalMM.kt b/native/native.tests/testData/codegen/intrinsics/isExperimentalMM.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/intrinsics/isExperimentalMM.kt rename to native/native.tests/testData/codegen/intrinsics/isExperimentalMM.kt diff --git a/kotlin-native/backend.native/tests/codegen/kclass/kClassEnumArgument.kt b/native/native.tests/testData/codegen/kclass/kClassEnumArgument.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/kclass/kClassEnumArgument.kt rename to native/native.tests/testData/codegen/kclass/kClassEnumArgument.kt diff --git a/kotlin-native/backend.native/tests/codegen/kclass/kClassEnumArgument.out b/native/native.tests/testData/codegen/kclass/kClassEnumArgument.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/kclass/kClassEnumArgument.out rename to native/native.tests/testData/codegen/kclass/kClassEnumArgument.out diff --git a/kotlin-native/backend.native/tests/codegen/kclass/kclass0.kt b/native/native.tests/testData/codegen/kclass/kclass0.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/kclass/kclass0.kt rename to native/native.tests/testData/codegen/kclass/kclass0.kt diff --git a/kotlin-native/backend.native/tests/codegen/kclass/kclass1.kt b/native/native.tests/testData/codegen/kclass/kclass1.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/kclass/kclass1.kt rename to native/native.tests/testData/codegen/kclass/kclass1.kt diff --git a/kotlin-native/backend.native/tests/codegen/kclass/kclass1.out b/native/native.tests/testData/codegen/kclass/kclass1.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/kclass/kclass1.out rename to native/native.tests/testData/codegen/kclass/kclass1.out diff --git a/native/native.tests/testData/codegen/ktype/ktype1_anonymousObject.kt b/native/native.tests/testData/codegen/ktype/ktype1_anonymousObject.kt new file mode 100644 index 00000000000..b83909e5e84 --- /dev/null +++ b/native/native.tests/testData/codegen/ktype/ktype1_anonymousObject.kt @@ -0,0 +1,25 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the LICENSE file. + */ + +import kotlin.test.* +import kotlin.reflect.* + +@OptIn(ExperimentalStdlibApi::class) +inline fun kType() = typeOf() + +inline fun kType(obj: R) = kType() + +fun box(): String { + val obj = object {} + val objType = kType(obj) + + assertEquals("(non-denotable type)", objType.toString()) + assertEquals(obj::class, objType.classifier) + + assertTrue(objType.arguments.isEmpty()) + assertFalse(objType.isMarkedNullable) + + return "OK" +} \ No newline at end of file diff --git a/native/native.tests/testData/codegen/ktype/ktype1_basics1.kt b/native/native.tests/testData/codegen/ktype/ktype1_basics1.kt new file mode 100644 index 00000000000..8d86db79199 --- /dev/null +++ b/native/native.tests/testData/codegen/ktype/ktype1_basics1.kt @@ -0,0 +1,35 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the LICENSE file. + */ + +import kotlin.test.* +import kotlin.reflect.* + +@OptIn(ExperimentalStdlibApi::class) +inline fun kType() = typeOf() + +inline fun kType(obj: R) = kType() + +class C +class D + +fun kTypeForCWithTypeParameter() = kType>() + +class Outer { + companion object Friend + inner class Inner +} + +object Object + +fun box(): String { + assertEquals("C", kType>().toString()) + assertEquals("C>", kType>>().toString()) + + assertEquals("C", kTypeForCWithTypeParameter().toString()) + assertEquals("Object", kType().toString()) + assertEquals("Outer.Friend", kType().toString()) + + return "OK" +} diff --git a/native/native.tests/testData/codegen/ktype/ktype1_inner.kt b/native/native.tests/testData/codegen/ktype/ktype1_inner.kt new file mode 100644 index 00000000000..727724b480a --- /dev/null +++ b/native/native.tests/testData/codegen/ktype/ktype1_inner.kt @@ -0,0 +1,25 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the LICENSE file. + */ + +import kotlin.test.* +import kotlin.reflect.* + +@OptIn(ExperimentalStdlibApi::class) +inline fun kType() = typeOf() + +class D +class Outer { + companion object Friend + inner class Inner +} + +fun box(): String { + val innerKType = kType.Inner>() + assertEquals(Outer.Inner::class, innerKType.classifier) + assertEquals(String::class, innerKType.arguments.first().type!!.classifier) + assertEquals(D::class, innerKType.arguments.last().type!!.classifier) + + return "OK" +} diff --git a/native/native.tests/testData/codegen/ktype/nonReified_class.kt b/native/native.tests/testData/codegen/ktype/nonReified_class.kt new file mode 100644 index 00000000000..f6f1ca669e3 --- /dev/null +++ b/native/native.tests/testData/codegen/ktype/nonReified_class.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the LICENSE file. + */ + +import kotlin.test.* +import kotlin.reflect.* + +class C { + @OptIn(kotlin.ExperimentalStdlibApi::class) + fun foo() = typeOf>() +} + +fun box(): String { + val l = C().foo() + assertEquals(List::class, l.classifier) + val t = l.arguments.single().type!!.classifier + assertTrue(t is KTypeParameter) + assertFalse((t as KTypeParameter).isReified) + assertEquals("T", (t as KTypeParameter).name) + + return "OK" +} diff --git a/native/native.tests/testData/codegen/ktype/nonReified_equality.kt b/native/native.tests/testData/codegen/ktype/nonReified_equality.kt new file mode 100644 index 00000000000..5954f7a2ed5 --- /dev/null +++ b/native/native.tests/testData/codegen/ktype/nonReified_equality.kt @@ -0,0 +1,28 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the LICENSE file. + */ + +import kotlin.test.* +import kotlin.reflect.* + +fun bar1() = typeOf>() +fun bar2() = typeOf>() + +class D { + fun bar1() = typeOf>() +} + +fun box(): String { + val t1 = bar1().arguments.single().type!!.classifier + val t2 = bar2().arguments.single().type!!.classifier + val t3 = D().bar1().arguments.single().type!!.classifier + assertNotEquals(t1, t2) + assertNotEquals(t1, t3) + assertNotEquals(t2, t3) + assertEquals(t1, bar1().arguments.single().type!!.classifier) + assertEquals(t2, bar2().arguments.single().type!!.classifier) + assertEquals(t3, D().bar1().arguments.single().type!!.classifier) + + return "OK" +} diff --git a/native/native.tests/testData/codegen/ktype/nonReified_fun.kt b/native/native.tests/testData/codegen/ktype/nonReified_fun.kt new file mode 100644 index 00000000000..bbdac18669e --- /dev/null +++ b/native/native.tests/testData/codegen/ktype/nonReified_fun.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the LICENSE file. + */ + +import kotlin.test.* +import kotlin.reflect.* + +fun foo() = typeOf>() + +fun box(): String { + val l = foo() + assertEquals(List::class, l.classifier) + val t = l.arguments.single().type!!.classifier + assertTrue(t is KTypeParameter) + assertFalse((t as KTypeParameter).isReified) + assertEquals("T", (t as KTypeParameter).name) + + return "OK" +} diff --git a/native/native.tests/testData/codegen/ktype/nonReified_recursionInReified.kt b/native/native.tests/testData/codegen/ktype/nonReified_recursionInReified.kt new file mode 100644 index 00000000000..dbecfce76cc --- /dev/null +++ b/native/native.tests/testData/codegen/ktype/nonReified_recursionInReified.kt @@ -0,0 +1,17 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the LICENSE file. + */ + +import kotlin.test.* +import kotlin.reflect.* + +inline fun > recursionInReified() = typeOf>() + +fun box(): String { + val l = recursionInReified() + assertEquals(List::class, l.classifier) + assertEquals(Int::class, l.arguments.single().type!!.classifier) + + return "OK" +} \ No newline at end of file diff --git a/native/native.tests/testData/codegen/ktype/nonReified_reifiedUpperBound.kt b/native/native.tests/testData/codegen/ktype/nonReified_reifiedUpperBound.kt new file mode 100644 index 00000000000..cfec8fda7bd --- /dev/null +++ b/native/native.tests/testData/codegen/ktype/nonReified_reifiedUpperBound.kt @@ -0,0 +1,24 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the LICENSE file. + */ + +import kotlin.test.* +import kotlin.reflect.* + +inline fun reifiedUpperBound() = typeOf>() + +fun box(): String { + val l = reifiedUpperBound() + assertEquals(List::class, l.classifier) + val r = l.arguments.single().type!!.classifier + assertTrue(r is KTypeParameter) + assertFalse((r as KTypeParameter).isReified) + assertEquals("R", (r as KTypeParameter).name) + val t = (r as KTypeParameter).upperBounds.single().classifier + assertTrue(t is KTypeParameter) + assertTrue((t as KTypeParameter).isReified) + assertEquals("T", (t as KTypeParameter).name) + + return "OK" +} diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda1.kt b/native/native.tests/testData/codegen/lambda/lambda1.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda1.kt rename to native/native.tests/testData/codegen/lambda/lambda1.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda1.out b/native/native.tests/testData/codegen/lambda/lambda1.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda1.out rename to native/native.tests/testData/codegen/lambda/lambda1.out diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda10.kt b/native/native.tests/testData/codegen/lambda/lambda10.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda10.kt rename to native/native.tests/testData/codegen/lambda/lambda10.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda10.out b/native/native.tests/testData/codegen/lambda/lambda10.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda10.out rename to native/native.tests/testData/codegen/lambda/lambda10.out diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda11.kt b/native/native.tests/testData/codegen/lambda/lambda11.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda11.kt rename to native/native.tests/testData/codegen/lambda/lambda11.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda11.out b/native/native.tests/testData/codegen/lambda/lambda11.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda11.out rename to native/native.tests/testData/codegen/lambda/lambda11.out diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda12.kt b/native/native.tests/testData/codegen/lambda/lambda12.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda12.kt rename to native/native.tests/testData/codegen/lambda/lambda12.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda12.out b/native/native.tests/testData/codegen/lambda/lambda12.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda12.out rename to native/native.tests/testData/codegen/lambda/lambda12.out diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda13.kt b/native/native.tests/testData/codegen/lambda/lambda13.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda13.kt rename to native/native.tests/testData/codegen/lambda/lambda13.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda13.out b/native/native.tests/testData/codegen/lambda/lambda13.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda13.out rename to native/native.tests/testData/codegen/lambda/lambda13.out diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda14.kt b/native/native.tests/testData/codegen/lambda/lambda14.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda14.kt rename to native/native.tests/testData/codegen/lambda/lambda14.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda2.kt b/native/native.tests/testData/codegen/lambda/lambda2.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda2.kt rename to native/native.tests/testData/codegen/lambda/lambda2.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda2.out b/native/native.tests/testData/codegen/lambda/lambda2.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda2.out rename to native/native.tests/testData/codegen/lambda/lambda2.out diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda3.kt b/native/native.tests/testData/codegen/lambda/lambda3.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda3.kt rename to native/native.tests/testData/codegen/lambda/lambda3.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda3.out b/native/native.tests/testData/codegen/lambda/lambda3.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda3.out rename to native/native.tests/testData/codegen/lambda/lambda3.out diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda4.kt b/native/native.tests/testData/codegen/lambda/lambda4.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda4.kt rename to native/native.tests/testData/codegen/lambda/lambda4.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda4.out b/native/native.tests/testData/codegen/lambda/lambda4.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda4.out rename to native/native.tests/testData/codegen/lambda/lambda4.out diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda5.kt b/native/native.tests/testData/codegen/lambda/lambda5.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda5.kt rename to native/native.tests/testData/codegen/lambda/lambda5.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda5.out b/native/native.tests/testData/codegen/lambda/lambda5.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda5.out rename to native/native.tests/testData/codegen/lambda/lambda5.out diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda6.kt b/native/native.tests/testData/codegen/lambda/lambda6.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda6.kt rename to native/native.tests/testData/codegen/lambda/lambda6.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda6.out b/native/native.tests/testData/codegen/lambda/lambda6.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda6.out rename to native/native.tests/testData/codegen/lambda/lambda6.out diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda7.kt b/native/native.tests/testData/codegen/lambda/lambda7.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda7.kt rename to native/native.tests/testData/codegen/lambda/lambda7.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda7.out b/native/native.tests/testData/codegen/lambda/lambda7.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda7.out rename to native/native.tests/testData/codegen/lambda/lambda7.out diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda8.kt b/native/native.tests/testData/codegen/lambda/lambda8.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda8.kt rename to native/native.tests/testData/codegen/lambda/lambda8.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda8.out b/native/native.tests/testData/codegen/lambda/lambda8.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda8.out rename to native/native.tests/testData/codegen/lambda/lambda8.out diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda9.kt b/native/native.tests/testData/codegen/lambda/lambda9.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda9.kt rename to native/native.tests/testData/codegen/lambda/lambda9.kt diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda9.out b/native/native.tests/testData/codegen/lambda/lambda9.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda9.out rename to native/native.tests/testData/codegen/lambda/lambda9.out diff --git a/native/native.tests/testData/codegen/lambda/lambda_kt49360_trivial.kt b/native/native.tests/testData/codegen/lambda/lambda_kt49360_trivial.kt new file mode 100644 index 00000000000..4f8d4cdc189 --- /dev/null +++ b/native/native.tests/testData/codegen/lambda/lambda_kt49360_trivial.kt @@ -0,0 +1,17 @@ +import kotlin.test.* +import kotlin.coroutines.* + +// To be tested with -g. + +// https://youtrack.jetbrains.com/issue/KT-49360 + +fun testTrivialCreateBlock(result: Int): () -> Int { + return (if (result == 0) { { 0 } } else null) ?: { result } +} + +fun box(): String { + assertEquals(0, testTrivialCreateBlock(0)()) + assertEquals(1, testTrivialCreateBlock(1)()) + + return "OK" +} diff --git a/kotlin-native/backend.native/tests/codegen/lambda/lambda_kt49360.kt b/native/native.tests/testData/codegen/lambda/lambda_kt49360_withFlow.kt similarity index 79% rename from kotlin-native/backend.native/tests/codegen/lambda/lambda_kt49360.kt rename to native/native.tests/testData/codegen/lambda/lambda_kt49360_withFlow.kt index 849fbf407c9..e662be6e057 100644 --- a/kotlin-native/backend.native/tests/codegen/lambda/lambda_kt49360.kt +++ b/native/native.tests/testData/codegen/lambda/lambda_kt49360_withFlow.kt @@ -1,5 +1,3 @@ -package codegen.lambda.lambda_kt49360 - import kotlin.test.* import kotlin.coroutines.* @@ -7,28 +5,6 @@ import kotlin.coroutines.* // https://youtrack.jetbrains.com/issue/KT-49360 -fun testTrivialCreateBlock(result: Int): () -> Int { - return (if (result == 0) { { 0 } } else null) ?: { result } -} - -@Test -fun testTrivial() { - assertEquals(0, testTrivialCreateBlock(0)()) - assertEquals(1, testTrivialCreateBlock(1)()) -} - -class Block(val block: () -> Int) - -fun testWrapBlockCreate(flag: Boolean): Block { - return (if (flag) Block { 11 } else null) ?: Block { 22 } -} - -@Test -fun testWrapBlock() { - assertEquals(11, testWrapBlockCreate(true).block()) - assertEquals(22, testWrapBlockCreate(false).block()) -} - // The Flow code below is taken from kotlinx.coroutines (some unrelated details removed). interface FlowCollector { @@ -84,8 +60,7 @@ fun testWithFlowMapNotNull(flow: Flow): Flow { } } -@Test -fun testWithFlow() { +fun box(): String { lateinit var list1: List lateinit var list2: List @@ -98,6 +73,8 @@ fun testWithFlow() { assertEquals(333, list1.single().block()) assertEquals(0, list2.size) + + return "OK" } open class EmptyContinuation(override val context: CoroutineContext = EmptyCoroutineContext) : Continuation { diff --git a/native/native.tests/testData/codegen/lambda/lambda_kt49360_wrapBlock.kt b/native/native.tests/testData/codegen/lambda/lambda_kt49360_wrapBlock.kt new file mode 100644 index 00000000000..1bee2cfdf61 --- /dev/null +++ b/native/native.tests/testData/codegen/lambda/lambda_kt49360_wrapBlock.kt @@ -0,0 +1,19 @@ +import kotlin.test.* +import kotlin.coroutines.* + +// To be tested with -g. + +// https://youtrack.jetbrains.com/issue/KT-49360 + +class Block(val block: () -> Int) + +fun testWrapBlockCreate(flag: Boolean): Block { + return (if (flag) Block { 11 } else null) ?: Block { 22 } +} + +fun box(): String { + assertEquals(11, testWrapBlockCreate(true).block()) + assertEquals(22, testWrapBlockCreate(false).block()) + + return "OK" +} diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/globalIsInitialized.kt b/native/native.tests/testData/codegen/lateinit/globalIsInitialized.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/globalIsInitialized.kt rename to native/native.tests/testData/codegen/lateinit/globalIsInitialized.kt diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/globalIsInitialized.out b/native/native.tests/testData/codegen/lateinit/globalIsInitialized.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/globalIsInitialized.out rename to native/native.tests/testData/codegen/lateinit/globalIsInitialized.out diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/inBaseClass.kt b/native/native.tests/testData/codegen/lateinit/inBaseClass.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/inBaseClass.kt rename to native/native.tests/testData/codegen/lateinit/inBaseClass.kt diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/inBaseClass.out b/native/native.tests/testData/codegen/lateinit/inBaseClass.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/inBaseClass.out rename to native/native.tests/testData/codegen/lateinit/inBaseClass.out diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/initialized.kt b/native/native.tests/testData/codegen/lateinit/initialized.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/initialized.kt rename to native/native.tests/testData/codegen/lateinit/initialized.kt diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/initialized.out b/native/native.tests/testData/codegen/lateinit/initialized.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/initialized.out rename to native/native.tests/testData/codegen/lateinit/initialized.out diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/innerIsInitialized.kt b/native/native.tests/testData/codegen/lateinit/innerIsInitialized.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/innerIsInitialized.kt rename to native/native.tests/testData/codegen/lateinit/innerIsInitialized.kt diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/innerIsInitialized.out b/native/native.tests/testData/codegen/lateinit/innerIsInitialized.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/innerIsInitialized.out rename to native/native.tests/testData/codegen/lateinit/innerIsInitialized.out diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/isInitialized.kt b/native/native.tests/testData/codegen/lateinit/isInitialized.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/isInitialized.kt rename to native/native.tests/testData/codegen/lateinit/isInitialized.kt diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/isInitialized.out b/native/native.tests/testData/codegen/lateinit/isInitialized.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/isInitialized.out rename to native/native.tests/testData/codegen/lateinit/isInitialized.out diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/localCapturedInitialized.kt b/native/native.tests/testData/codegen/lateinit/localCapturedInitialized.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/localCapturedInitialized.kt rename to native/native.tests/testData/codegen/lateinit/localCapturedInitialized.kt diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/localCapturedInitialized.out b/native/native.tests/testData/codegen/lateinit/localCapturedInitialized.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/localCapturedInitialized.out rename to native/native.tests/testData/codegen/lateinit/localCapturedInitialized.out diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/localCapturedNotInitialized.kt b/native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/localCapturedNotInitialized.kt rename to native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.kt diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/localCapturedNotInitialized.out b/native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/localCapturedNotInitialized.out rename to native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.out diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/localInitialized.kt b/native/native.tests/testData/codegen/lateinit/localInitialized.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/localInitialized.kt rename to native/native.tests/testData/codegen/lateinit/localInitialized.kt diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/localInitialized.out b/native/native.tests/testData/codegen/lateinit/localInitialized.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/localInitialized.out rename to native/native.tests/testData/codegen/lateinit/localInitialized.out diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/localNotInitialized.kt b/native/native.tests/testData/codegen/lateinit/localNotInitialized.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/localNotInitialized.kt rename to native/native.tests/testData/codegen/lateinit/localNotInitialized.kt diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/localNotInitialized.out b/native/native.tests/testData/codegen/lateinit/localNotInitialized.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/localNotInitialized.out rename to native/native.tests/testData/codegen/lateinit/localNotInitialized.out diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/notInitialized.kt b/native/native.tests/testData/codegen/lateinit/notInitialized.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/notInitialized.kt rename to native/native.tests/testData/codegen/lateinit/notInitialized.kt diff --git a/kotlin-native/backend.native/tests/codegen/lateinit/notInitialized.out b/native/native.tests/testData/codegen/lateinit/notInitialized.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/lateinit/notInitialized.out rename to native/native.tests/testData/codegen/lateinit/notInitialized.out diff --git a/kotlin-native/backend.native/tests/codegen/localClass/innerTakesCapturedFromOuter.kt b/native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/innerTakesCapturedFromOuter.kt rename to native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.kt diff --git a/kotlin-native/backend.native/tests/codegen/localClass/innerTakesCapturedFromOuter.out b/native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/innerTakesCapturedFromOuter.out rename to native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.out diff --git a/kotlin-native/backend.native/tests/codegen/localClass/innerWithCapture.kt b/native/native.tests/testData/codegen/localClass/innerWithCapture.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/innerWithCapture.kt rename to native/native.tests/testData/codegen/localClass/innerWithCapture.kt diff --git a/kotlin-native/backend.native/tests/codegen/localClass/innerWithCapture.out b/native/native.tests/testData/codegen/localClass/innerWithCapture.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/innerWithCapture.out rename to native/native.tests/testData/codegen/localClass/innerWithCapture.out diff --git a/kotlin-native/backend.native/tests/codegen/localClass/localFunctionCallFromLocalClass.kt b/native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/localFunctionCallFromLocalClass.kt rename to native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.kt diff --git a/kotlin-native/backend.native/tests/codegen/localClass/localFunctionCallFromLocalClass.out b/native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/localFunctionCallFromLocalClass.out rename to native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.out diff --git a/kotlin-native/backend.native/tests/codegen/localClass/localFunctionInLocalClass.kt b/native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/localFunctionInLocalClass.kt rename to native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.kt diff --git a/kotlin-native/backend.native/tests/codegen/localClass/localFunctionInLocalClass.out b/native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/localFunctionInLocalClass.out rename to native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.out diff --git a/kotlin-native/backend.native/tests/codegen/localClass/localHierarchy.kt b/native/native.tests/testData/codegen/localClass/localHierarchy.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/localHierarchy.kt rename to native/native.tests/testData/codegen/localClass/localHierarchy.kt diff --git a/kotlin-native/backend.native/tests/codegen/localClass/localHierarchy.out b/native/native.tests/testData/codegen/localClass/localHierarchy.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/localHierarchy.out rename to native/native.tests/testData/codegen/localClass/localHierarchy.out diff --git a/kotlin-native/backend.native/tests/codegen/localClass/noPrimaryConstructor.kt b/native/native.tests/testData/codegen/localClass/noPrimaryConstructor.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/noPrimaryConstructor.kt rename to native/native.tests/testData/codegen/localClass/noPrimaryConstructor.kt diff --git a/kotlin-native/backend.native/tests/codegen/localClass/noPrimaryConstructor.out b/native/native.tests/testData/codegen/localClass/noPrimaryConstructor.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/noPrimaryConstructor.out rename to native/native.tests/testData/codegen/localClass/noPrimaryConstructor.out diff --git a/kotlin-native/backend.native/tests/codegen/localClass/objectExpressionInInitializer.kt b/native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/objectExpressionInInitializer.kt rename to native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.kt diff --git a/kotlin-native/backend.native/tests/codegen/localClass/objectExpressionInInitializer.out b/native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/objectExpressionInInitializer.out rename to native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.out diff --git a/kotlin-native/backend.native/tests/codegen/localClass/objectExpressionInProperty.kt b/native/native.tests/testData/codegen/localClass/objectExpressionInProperty.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/objectExpressionInProperty.kt rename to native/native.tests/testData/codegen/localClass/objectExpressionInProperty.kt diff --git a/kotlin-native/backend.native/tests/codegen/localClass/objectExpressionInProperty.out b/native/native.tests/testData/codegen/localClass/objectExpressionInProperty.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/objectExpressionInProperty.out rename to native/native.tests/testData/codegen/localClass/objectExpressionInProperty.out diff --git a/kotlin-native/backend.native/tests/codegen/localClass/tryCatch.kt b/native/native.tests/testData/codegen/localClass/tryCatch.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/tryCatch.kt rename to native/native.tests/testData/codegen/localClass/tryCatch.kt diff --git a/kotlin-native/backend.native/tests/codegen/localClass/tryCatch.out b/native/native.tests/testData/codegen/localClass/tryCatch.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/tryCatch.out rename to native/native.tests/testData/codegen/localClass/tryCatch.out diff --git a/kotlin-native/backend.native/tests/codegen/localClass/virtualCallFromConstructor.kt b/native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/virtualCallFromConstructor.kt rename to native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.kt diff --git a/kotlin-native/backend.native/tests/codegen/localClass/virtualCallFromConstructor.out b/native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localClass/virtualCallFromConstructor.out rename to native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.out diff --git a/kotlin-native/backend.native/tests/codegen/localEscapeAnalysis/arraysFieldWrite.kt b/native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localEscapeAnalysis/arraysFieldWrite.kt rename to native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.kt diff --git a/kotlin-native/backend.native/tests/codegen/localEscapeAnalysis/arraysFieldWrite.out b/native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/localEscapeAnalysis/arraysFieldWrite.out rename to native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.out diff --git a/kotlin-native/backend.native/tests/codegen/object/constructor0.kt b/native/native.tests/testData/codegen/object/constructor0.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/object/constructor0.kt rename to native/native.tests/testData/codegen/object/constructor0.kt diff --git a/kotlin-native/backend.native/tests/codegen/object/fields.kt b/native/native.tests/testData/codegen/object/fields.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/object/fields.kt rename to native/native.tests/testData/codegen/object/fields.kt diff --git a/kotlin-native/backend.native/tests/codegen/object/fields1.kt b/native/native.tests/testData/codegen/object/fields1.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/object/fields1.kt rename to native/native.tests/testData/codegen/object/fields1.kt diff --git a/kotlin-native/backend.native/tests/codegen/object/fields2.kt b/native/native.tests/testData/codegen/object/fields2.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/object/fields2.kt rename to native/native.tests/testData/codegen/object/fields2.kt diff --git a/kotlin-native/backend.native/tests/codegen/object/fields2.out b/native/native.tests/testData/codegen/object/fields2.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/object/fields2.out rename to native/native.tests/testData/codegen/object/fields2.out diff --git a/native/native.tests/testData/codegen/object/fields2_2.kt b/native/native.tests/testData/codegen/object/fields2_2.kt new file mode 100644 index 00000000000..1c212fe1bbb --- /dev/null +++ b/native/native.tests/testData/codegen/object/fields2_2.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the LICENSE file. + */ + +import kotlin.test.* + +@ThreadLocal +val xInt = 42 + +@ThreadLocal +val xString = "42" + +@ThreadLocal +val xAny = Any() + +fun box(): String { + assertEquals(42, xInt) + assertEquals("42", xString) + assertTrue(xAny is Any) + + return "OK" +} diff --git a/kotlin-native/backend.native/tests/codegen/object/globalInitializer.kt b/native/native.tests/testData/codegen/object/globalInitializer.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/object/globalInitializer.kt rename to native/native.tests/testData/codegen/object/globalInitializer.kt diff --git a/kotlin-native/backend.native/tests/codegen/object/init0.kt b/native/native.tests/testData/codegen/object/init0.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/object/init0.kt rename to native/native.tests/testData/codegen/object/init0.kt diff --git a/kotlin-native/backend.native/tests/codegen/object/initialization.kt b/native/native.tests/testData/codegen/object/initialization.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/object/initialization.kt rename to native/native.tests/testData/codegen/object/initialization.kt diff --git a/kotlin-native/backend.native/tests/codegen/object/initialization1.kt b/native/native.tests/testData/codegen/object/initialization1.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/object/initialization1.kt rename to native/native.tests/testData/codegen/object/initialization1.kt diff --git a/kotlin-native/backend.native/tests/codegen/object/initialization1.out b/native/native.tests/testData/codegen/object/initialization1.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/object/initialization1.out rename to native/native.tests/testData/codegen/object/initialization1.out diff --git a/kotlin-native/backend.native/tests/codegen/object/method_call.kt b/native/native.tests/testData/codegen/object/method_call.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/object/method_call.kt rename to native/native.tests/testData/codegen/object/method_call.kt diff --git a/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkComputedField.kt b/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkComputedField.kt new file mode 100644 index 00000000000..f0296517803 --- /dev/null +++ b/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkComputedField.kt @@ -0,0 +1,17 @@ +/* + * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +import kotlin.test.* +import kotlin.native.internal.* + +object ClassWithComputedField { + val x : Int + get() = 4 +} + +fun box(): String { + assertTrue(ClassWithComputedField.isPermanent()) + return "OK" +} diff --git a/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkConstructor.kt b/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkConstructor.kt new file mode 100644 index 00000000000..d887d053c19 --- /dev/null +++ b/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkConstructor.kt @@ -0,0 +1,31 @@ +/* + * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +import kotlin.test.* +import kotlin.native.internal.* + +var ClassWithConstructorInitialized = 0 + +object ClassWithConstructor { + init { + ClassWithConstructorInitialized += 1 + } + const val A = 1; +} + +fun box(): String { + assertEquals(0, ClassWithConstructorInitialized) + assertEquals(1, ClassWithConstructor.A) + assertEquals(0, ClassWithConstructorInitialized) + val unused1 = ClassWithConstructor + assertEquals(1, unused1.A) + assertEquals(1, ClassWithConstructorInitialized) + val unused2 = ClassWithConstructor + assertEquals(1, unused2.A) + assertEquals(1, ClassWithConstructorInitialized) + assertFalse(ClassWithConstructor.isPermanent()) + + return "OK" +} diff --git a/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkEmptyClass.kt b/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkEmptyClass.kt new file mode 100644 index 00000000000..2c695cd2ea7 --- /dev/null +++ b/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkEmptyClass.kt @@ -0,0 +1,15 @@ +/* + * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +import kotlin.test.* +import kotlin.native.internal.* + +object EmptyClass {} + +fun box(): String { + assertTrue(EmptyClass.isPermanent()) + + return "OK" +} diff --git a/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkField.kt b/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkField.kt new file mode 100644 index 00000000000..8ea697166e4 --- /dev/null +++ b/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkField.kt @@ -0,0 +1,17 @@ +/* + * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +import kotlin.test.* +import kotlin.native.internal.* + +object ClassWithField { + val x = 4 +} + +fun box(): String { + assertFalse(ClassWithField.isPermanent()) + + return "OK" +} diff --git a/kotlin-native/backend.native/tests/codegen/objectDeclaration/globalConstants.kt b/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkInit.kt similarity index 51% rename from kotlin-native/backend.native/tests/codegen/objectDeclaration/globalConstants.kt rename to native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkInit.kt index 8b4fe9b2356..dcb6fccd575 100644 --- a/kotlin-native/backend.native/tests/codegen/objectDeclaration/globalConstants.kt +++ b/native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkInit.kt @@ -3,18 +3,9 @@ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ -package codegen.objectDeclaration.globalConstants - import kotlin.test.* import kotlin.native.internal.* -object EmptyClass {} - -@Test fun checkEmptyClass() { - assertTrue(EmptyClass.isPermanent()) -} - - object ClassWithConstants { const val A = 1 const val B = 2L @@ -25,7 +16,7 @@ object ClassWithConstants { const val G = "8" } -@Test fun checkInit() { +fun box(): String { assertTrue(ClassWithConstants.isPermanent()) assertEquals(1, ClassWithConstants.A) assertEquals(2, ClassWithConstants.B) @@ -42,44 +33,6 @@ object ClassWithConstants { assertEquals(5, (ClassWithConstants::E)()) assertEquals(6, (ClassWithConstants::F)()) assertEquals("8", (ClassWithConstants::G)()) -} - - -var ClassWithConstructorInitialized = 0 - -object ClassWithConstructor { - init { - ClassWithConstructorInitialized += 1 - } - const val A = 1; -} - -@Test fun checkConstructor() { - assertEquals(0, ClassWithConstructorInitialized) - assertEquals(1, ClassWithConstructor.A) - assertEquals(0, ClassWithConstructorInitialized) - val unused1 = ClassWithConstructor - assertEquals(1, unused1.A) - assertEquals(1, ClassWithConstructorInitialized) - val unused2 = ClassWithConstructor - assertEquals(1, unused2.A) - assertEquals(1, ClassWithConstructorInitialized) - assertFalse(ClassWithConstructor.isPermanent()) -} - -object ClassWithField { - val x = 4 -} - -@Test fun checkField() { - assertFalse(ClassWithField.isPermanent()) -} - -object ClassWithComputedField { - val x : Int - get() = 4 -} - -@Test fun checkComputedField() { - assertTrue(ClassWithComputedField.isPermanent()) + + return "OK" } diff --git a/kotlin-native/backend.native/tests/codegen/objectDeclaration/isFrozen.kt b/native/native.tests/testData/codegen/objectDeclaration/isFrozen.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/objectDeclaration/isFrozen.kt rename to native/native.tests/testData/codegen/objectDeclaration/isFrozen.kt diff --git a/kotlin-native/backend.native/tests/codegen/objectExpression/expr1.kt b/native/native.tests/testData/codegen/objectExpression/expr1.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/objectExpression/expr1.kt rename to native/native.tests/testData/codegen/objectExpression/expr1.kt diff --git a/kotlin-native/backend.native/tests/codegen/objectExpression/expr1.out b/native/native.tests/testData/codegen/objectExpression/expr1.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/objectExpression/expr1.out rename to native/native.tests/testData/codegen/objectExpression/expr1.out diff --git a/kotlin-native/backend.native/tests/codegen/objectExpression/expr2.kt b/native/native.tests/testData/codegen/objectExpression/expr2.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/objectExpression/expr2.kt rename to native/native.tests/testData/codegen/objectExpression/expr2.kt diff --git a/kotlin-native/backend.native/tests/codegen/objectExpression/expr2.out b/native/native.tests/testData/codegen/objectExpression/expr2.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/objectExpression/expr2.out rename to native/native.tests/testData/codegen/objectExpression/expr2.out diff --git a/kotlin-native/backend.native/tests/codegen/objectExpression/expr3.kt b/native/native.tests/testData/codegen/objectExpression/expr3.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/objectExpression/expr3.kt rename to native/native.tests/testData/codegen/objectExpression/expr3.kt diff --git a/kotlin-native/backend.native/tests/codegen/objectExpression/expr3.out b/native/native.tests/testData/codegen/objectExpression/expr3.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/objectExpression/expr3.out rename to native/native.tests/testData/codegen/objectExpression/expr3.out diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/dynamicReceiver.kt b/native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/dynamicReceiver.kt rename to native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.kt diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/dynamicReceiver.out b/native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/dynamicReceiver.out rename to native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.out diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/valClass.kt b/native/native.tests/testData/codegen/propertyCallableReference/valClass.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/valClass.kt rename to native/native.tests/testData/codegen/propertyCallableReference/valClass.kt diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/valClass.out b/native/native.tests/testData/codegen/propertyCallableReference/valClass.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/valClass.out rename to native/native.tests/testData/codegen/propertyCallableReference/valClass.out diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/valExtension.kt b/native/native.tests/testData/codegen/propertyCallableReference/valExtension.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/valExtension.kt rename to native/native.tests/testData/codegen/propertyCallableReference/valExtension.kt diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/valExtension.out b/native/native.tests/testData/codegen/propertyCallableReference/valExtension.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/valExtension.out rename to native/native.tests/testData/codegen/propertyCallableReference/valExtension.out diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/valModule.kt b/native/native.tests/testData/codegen/propertyCallableReference/valModule.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/valModule.kt rename to native/native.tests/testData/codegen/propertyCallableReference/valModule.kt diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/valModule.out b/native/native.tests/testData/codegen/propertyCallableReference/valModule.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/valModule.out rename to native/native.tests/testData/codegen/propertyCallableReference/valModule.out diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/varClass.kt b/native/native.tests/testData/codegen/propertyCallableReference/varClass.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/varClass.kt rename to native/native.tests/testData/codegen/propertyCallableReference/varClass.kt diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/varClass.out b/native/native.tests/testData/codegen/propertyCallableReference/varClass.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/varClass.out rename to native/native.tests/testData/codegen/propertyCallableReference/varClass.out diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/varExtension.kt b/native/native.tests/testData/codegen/propertyCallableReference/varExtension.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/varExtension.kt rename to native/native.tests/testData/codegen/propertyCallableReference/varExtension.kt diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/varExtension.out b/native/native.tests/testData/codegen/propertyCallableReference/varExtension.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/varExtension.out rename to native/native.tests/testData/codegen/propertyCallableReference/varExtension.out diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/varModule.kt b/native/native.tests/testData/codegen/propertyCallableReference/varModule.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/varModule.kt rename to native/native.tests/testData/codegen/propertyCallableReference/varModule.kt diff --git a/kotlin-native/backend.native/tests/codegen/propertyCallableReference/varModule.out b/native/native.tests/testData/codegen/propertyCallableReference/varModule.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/propertyCallableReference/varModule.out rename to native/native.tests/testData/codegen/propertyCallableReference/varModule.out diff --git a/kotlin-native/backend.native/tests/codegen/stringTrim/stringTrim.kt b/native/native.tests/testData/codegen/stringTrim/stringTrim.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/stringTrim/stringTrim.kt rename to native/native.tests/testData/codegen/stringTrim/stringTrim.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/catch3.kt b/native/native.tests/testData/codegen/try/catch3.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/catch3.kt rename to native/native.tests/testData/codegen/try/catch3.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/catch3.out b/native/native.tests/testData/codegen/try/catch3.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/catch3.out rename to native/native.tests/testData/codegen/try/catch3.out diff --git a/kotlin-native/backend.native/tests/codegen/try/catch4.kt b/native/native.tests/testData/codegen/try/catch4.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/catch4.kt rename to native/native.tests/testData/codegen/try/catch4.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/catch4.out b/native/native.tests/testData/codegen/try/catch4.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/catch4.out rename to native/native.tests/testData/codegen/try/catch4.out diff --git a/kotlin-native/backend.native/tests/codegen/try/catch5.kt b/native/native.tests/testData/codegen/try/catch5.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/catch5.kt rename to native/native.tests/testData/codegen/try/catch5.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/catch5.out b/native/native.tests/testData/codegen/try/catch5.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/catch5.out rename to native/native.tests/testData/codegen/try/catch5.out diff --git a/kotlin-native/backend.native/tests/codegen/try/catch6.kt b/native/native.tests/testData/codegen/try/catch6.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/catch6.kt rename to native/native.tests/testData/codegen/try/catch6.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/catch6.out b/native/native.tests/testData/codegen/try/catch6.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/catch6.out rename to native/native.tests/testData/codegen/try/catch6.out diff --git a/kotlin-native/backend.native/tests/codegen/try/catch8.kt b/native/native.tests/testData/codegen/try/catch8.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/catch8.kt rename to native/native.tests/testData/codegen/try/catch8.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/catch8.out b/native/native.tests/testData/codegen/try/catch8.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/catch8.out rename to native/native.tests/testData/codegen/try/catch8.out diff --git a/kotlin-native/backend.native/tests/codegen/try/finally1.kt b/native/native.tests/testData/codegen/try/finally1.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally1.kt rename to native/native.tests/testData/codegen/try/finally1.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/finally1.out b/native/native.tests/testData/codegen/try/finally1.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally1.out rename to native/native.tests/testData/codegen/try/finally1.out diff --git a/kotlin-native/backend.native/tests/codegen/try/finally10.kt b/native/native.tests/testData/codegen/try/finally10.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally10.kt rename to native/native.tests/testData/codegen/try/finally10.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/finally10.out b/native/native.tests/testData/codegen/try/finally10.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally10.out rename to native/native.tests/testData/codegen/try/finally10.out diff --git a/kotlin-native/backend.native/tests/codegen/try/finally11.kt b/native/native.tests/testData/codegen/try/finally11.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally11.kt rename to native/native.tests/testData/codegen/try/finally11.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/finally11.out b/native/native.tests/testData/codegen/try/finally11.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally11.out rename to native/native.tests/testData/codegen/try/finally11.out diff --git a/kotlin-native/backend.native/tests/codegen/try/finally2.kt b/native/native.tests/testData/codegen/try/finally2.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally2.kt rename to native/native.tests/testData/codegen/try/finally2.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/finally2.out b/native/native.tests/testData/codegen/try/finally2.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally2.out rename to native/native.tests/testData/codegen/try/finally2.out diff --git a/kotlin-native/backend.native/tests/codegen/try/finally3.kt b/native/native.tests/testData/codegen/try/finally3.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally3.kt rename to native/native.tests/testData/codegen/try/finally3.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/finally3.out b/native/native.tests/testData/codegen/try/finally3.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally3.out rename to native/native.tests/testData/codegen/try/finally3.out diff --git a/kotlin-native/backend.native/tests/codegen/try/finally4.kt b/native/native.tests/testData/codegen/try/finally4.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally4.kt rename to native/native.tests/testData/codegen/try/finally4.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/finally4.out b/native/native.tests/testData/codegen/try/finally4.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally4.out rename to native/native.tests/testData/codegen/try/finally4.out diff --git a/kotlin-native/backend.native/tests/codegen/try/finally5.kt b/native/native.tests/testData/codegen/try/finally5.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally5.kt rename to native/native.tests/testData/codegen/try/finally5.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/finally5.out b/native/native.tests/testData/codegen/try/finally5.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally5.out rename to native/native.tests/testData/codegen/try/finally5.out diff --git a/kotlin-native/backend.native/tests/codegen/try/finally6.kt b/native/native.tests/testData/codegen/try/finally6.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally6.kt rename to native/native.tests/testData/codegen/try/finally6.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/finally6.out b/native/native.tests/testData/codegen/try/finally6.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally6.out rename to native/native.tests/testData/codegen/try/finally6.out diff --git a/kotlin-native/backend.native/tests/codegen/try/finally7.kt b/native/native.tests/testData/codegen/try/finally7.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally7.kt rename to native/native.tests/testData/codegen/try/finally7.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/finally7.out b/native/native.tests/testData/codegen/try/finally7.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally7.out rename to native/native.tests/testData/codegen/try/finally7.out diff --git a/kotlin-native/backend.native/tests/codegen/try/finally8.kt b/native/native.tests/testData/codegen/try/finally8.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally8.kt rename to native/native.tests/testData/codegen/try/finally8.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/finally8.out b/native/native.tests/testData/codegen/try/finally8.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally8.out rename to native/native.tests/testData/codegen/try/finally8.out diff --git a/kotlin-native/backend.native/tests/codegen/try/finally9.kt b/native/native.tests/testData/codegen/try/finally9.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally9.kt rename to native/native.tests/testData/codegen/try/finally9.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/finally9.out b/native/native.tests/testData/codegen/try/finally9.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/finally9.out rename to native/native.tests/testData/codegen/try/finally9.out diff --git a/kotlin-native/backend.native/tests/codegen/try/returnsDifferentTypes.kt b/native/native.tests/testData/codegen/try/returnsDifferentTypes.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/returnsDifferentTypes.kt rename to native/native.tests/testData/codegen/try/returnsDifferentTypes.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/returnsDifferentTypes.out b/native/native.tests/testData/codegen/try/returnsDifferentTypes.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/returnsDifferentTypes.out rename to native/native.tests/testData/codegen/try/returnsDifferentTypes.out diff --git a/kotlin-native/backend.native/tests/codegen/try/try1.kt b/native/native.tests/testData/codegen/try/try1.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/try1.kt rename to native/native.tests/testData/codegen/try/try1.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/try1.out b/native/native.tests/testData/codegen/try/try1.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/try1.out rename to native/native.tests/testData/codegen/try/try1.out diff --git a/kotlin-native/backend.native/tests/codegen/try/try2.kt b/native/native.tests/testData/codegen/try/try2.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/try2.kt rename to native/native.tests/testData/codegen/try/try2.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/try2.out b/native/native.tests/testData/codegen/try/try2.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/try2.out rename to native/native.tests/testData/codegen/try/try2.out diff --git a/kotlin-native/backend.native/tests/codegen/try/try3.kt b/native/native.tests/testData/codegen/try/try3.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/try3.kt rename to native/native.tests/testData/codegen/try/try3.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/try3.out b/native/native.tests/testData/codegen/try/try3.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/try3.out rename to native/native.tests/testData/codegen/try/try3.out diff --git a/kotlin-native/backend.native/tests/codegen/try/try4.kt b/native/native.tests/testData/codegen/try/try4.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/try4.kt rename to native/native.tests/testData/codegen/try/try4.kt diff --git a/kotlin-native/backend.native/tests/codegen/try/try4.out b/native/native.tests/testData/codegen/try/try4.out similarity index 100% rename from kotlin-native/backend.native/tests/codegen/try/try4.out rename to native/native.tests/testData/codegen/try/try4.out diff --git a/kotlin-native/backend.native/tests/codegen/vector/default_argument.kt b/native/native.tests/testData/codegen/vector/default_argument.kt similarity index 100% rename from kotlin-native/backend.native/tests/codegen/vector/default_argument.kt rename to native/native.tests/testData/codegen/vector/default_argument.kt diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenLocalTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenLocalTestGenerated.java index f405b57c0ea..49acfffe775 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenLocalTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenLocalTestGenerated.java @@ -2520,4 +2520,841 @@ public class FirNativeCodegenLocalTestGenerated extends AbstractNativeCodegenBox runTest("native/native.tests/testData/codegen/innerClass/superOuter.kt"); } } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/interfaceCallsNCasts") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class InterfaceCallsNCasts { + @Test + public void testAllFilesPresentInInterfaceCallsNCasts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/interfaceCallsNCasts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("conservativeItable.kt") + public void testConservativeItable() throws Exception { + runTest("native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.kt"); + } + + @Test + @TestMetadata("diamond.kt") + public void testDiamond() throws Exception { + runTest("native/native.tests/testData/codegen/interfaceCallsNCasts/diamond.kt"); + } + + @Test + @TestMetadata("finalMethod.kt") + public void testFinalMethod() throws Exception { + runTest("native/native.tests/testData/codegen/interfaceCallsNCasts/finalMethod.kt"); + } + + @Test + @TestMetadata("functionNameClash.kt") + public void testFunctionNameClash() throws Exception { + runTest("native/native.tests/testData/codegen/interfaceCallsNCasts/functionNameClash.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/intrinsics") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class Intrinsics { + @Test + public void testAllFilesPresentInIntrinsics() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/intrinsics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("interop_convertAll.kt") + public void testInterop_convertAll() throws Exception { + runTest("native/native.tests/testData/codegen/intrinsics/interop_convertAll.kt"); + } + + @Test + @TestMetadata("interop_convertNI.kt") + public void testInterop_convertNI() throws Exception { + runTest("native/native.tests/testData/codegen/intrinsics/interop_convertNI.kt"); + } + + @Test + @TestMetadata("interop_convertSimple.kt") + public void testInterop_convertSimple() throws Exception { + runTest("native/native.tests/testData/codegen/intrinsics/interop_convertSimple.kt"); + } + + @Test + @TestMetadata("interop_sourceCodeStruct.kt") + public void testInterop_sourceCodeStruct() throws Exception { + runTest("native/native.tests/testData/codegen/intrinsics/interop_sourceCodeStruct.kt"); + } + + @Test + @TestMetadata("isExperimentalMM.kt") + public void testIsExperimentalMM() throws Exception { + runTest("native/native.tests/testData/codegen/intrinsics/isExperimentalMM.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/kclass") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class Kclass { + @Test + public void testAllFilesPresentInKclass() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/kclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("kClassEnumArgument.kt") + public void testKClassEnumArgument() throws Exception { + runTest("native/native.tests/testData/codegen/kclass/kClassEnumArgument.kt"); + } + + @Test + @TestMetadata("kclass0.kt") + public void testKclass0() throws Exception { + runTest("native/native.tests/testData/codegen/kclass/kclass0.kt"); + } + + @Test + @TestMetadata("kclass1.kt") + public void testKclass1() throws Exception { + runTest("native/native.tests/testData/codegen/kclass/kclass1.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/ktype") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class Ktype { + @Test + public void testAllFilesPresentInKtype() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/ktype"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("ktype1_anonymousObject.kt") + public void testKtype1_anonymousObject() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/ktype1_anonymousObject.kt"); + } + + @Test + @TestMetadata("ktype1_basics1.kt") + public void testKtype1_basics1() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/ktype1_basics1.kt"); + } + + @Test + @TestMetadata("ktype1_inner.kt") + public void testKtype1_inner() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/ktype1_inner.kt"); + } + + @Test + @TestMetadata("nonReified_class.kt") + public void testNonReified_class() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/nonReified_class.kt"); + } + + @Test + @TestMetadata("nonReified_equality.kt") + public void testNonReified_equality() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/nonReified_equality.kt"); + } + + @Test + @TestMetadata("nonReified_fun.kt") + public void testNonReified_fun() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/nonReified_fun.kt"); + } + + @Test + @TestMetadata("nonReified_recursionInReified.kt") + public void testNonReified_recursionInReified() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/nonReified_recursionInReified.kt"); + } + + @Test + @TestMetadata("nonReified_reifiedUpperBound.kt") + public void testNonReified_reifiedUpperBound() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/nonReified_reifiedUpperBound.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/lambda") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class Lambda { + @Test + public void testAllFilesPresentInLambda() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/lambda"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("lambda1.kt") + public void testLambda1() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda1.kt"); + } + + @Test + @TestMetadata("lambda10.kt") + public void testLambda10() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda10.kt"); + } + + @Test + @TestMetadata("lambda11.kt") + public void testLambda11() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda11.kt"); + } + + @Test + @TestMetadata("lambda12.kt") + public void testLambda12() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda12.kt"); + } + + @Test + @TestMetadata("lambda13.kt") + public void testLambda13() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda13.kt"); + } + + @Test + @TestMetadata("lambda14.kt") + public void testLambda14() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda14.kt"); + } + + @Test + @TestMetadata("lambda2.kt") + public void testLambda2() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda2.kt"); + } + + @Test + @TestMetadata("lambda3.kt") + public void testLambda3() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda3.kt"); + } + + @Test + @TestMetadata("lambda4.kt") + public void testLambda4() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda4.kt"); + } + + @Test + @TestMetadata("lambda5.kt") + public void testLambda5() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda5.kt"); + } + + @Test + @TestMetadata("lambda6.kt") + public void testLambda6() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda6.kt"); + } + + @Test + @TestMetadata("lambda7.kt") + public void testLambda7() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda7.kt"); + } + + @Test + @TestMetadata("lambda8.kt") + public void testLambda8() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda8.kt"); + } + + @Test + @TestMetadata("lambda9.kt") + public void testLambda9() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda9.kt"); + } + + @Test + @TestMetadata("lambda_kt49360_trivial.kt") + public void testLambda_kt49360_trivial() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda_kt49360_trivial.kt"); + } + + @Test + @TestMetadata("lambda_kt49360_withFlow.kt") + public void testLambda_kt49360_withFlow() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda_kt49360_withFlow.kt"); + } + + @Test + @TestMetadata("lambda_kt49360_wrapBlock.kt") + public void testLambda_kt49360_wrapBlock() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda_kt49360_wrapBlock.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/lateinit") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class Lateinit { + @Test + public void testAllFilesPresentInLateinit() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/lateinit"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("globalIsInitialized.kt") + public void testGlobalIsInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/globalIsInitialized.kt"); + } + + @Test + @TestMetadata("inBaseClass.kt") + public void testInBaseClass() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/inBaseClass.kt"); + } + + @Test + @TestMetadata("initialized.kt") + public void testInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/initialized.kt"); + } + + @Test + @TestMetadata("innerIsInitialized.kt") + public void testInnerIsInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/innerIsInitialized.kt"); + } + + @Test + @TestMetadata("isInitialized.kt") + public void testIsInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/isInitialized.kt"); + } + + @Test + @TestMetadata("localCapturedInitialized.kt") + public void testLocalCapturedInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/localCapturedInitialized.kt"); + } + + @Test + @TestMetadata("localCapturedNotInitialized.kt") + public void testLocalCapturedNotInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.kt"); + } + + @Test + @TestMetadata("localInitialized.kt") + public void testLocalInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/localInitialized.kt"); + } + + @Test + @TestMetadata("localNotInitialized.kt") + public void testLocalNotInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/localNotInitialized.kt"); + } + + @Test + @TestMetadata("notInitialized.kt") + public void testNotInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/notInitialized.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/localClass") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class LocalClass { + @Test + public void testAllFilesPresentInLocalClass() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/localClass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("innerTakesCapturedFromOuter.kt") + public void testInnerTakesCapturedFromOuter() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.kt"); + } + + @Test + @TestMetadata("innerWithCapture.kt") + public void testInnerWithCapture() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/innerWithCapture.kt"); + } + + @Test + @TestMetadata("localFunctionCallFromLocalClass.kt") + public void testLocalFunctionCallFromLocalClass() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.kt"); + } + + @Test + @TestMetadata("localFunctionInLocalClass.kt") + public void testLocalFunctionInLocalClass() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.kt"); + } + + @Test + @TestMetadata("localHierarchy.kt") + public void testLocalHierarchy() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/localHierarchy.kt"); + } + + @Test + @TestMetadata("noPrimaryConstructor.kt") + public void testNoPrimaryConstructor() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/noPrimaryConstructor.kt"); + } + + @Test + @TestMetadata("objectExpressionInInitializer.kt") + public void testObjectExpressionInInitializer() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.kt"); + } + + @Test + @TestMetadata("objectExpressionInProperty.kt") + public void testObjectExpressionInProperty() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/objectExpressionInProperty.kt"); + } + + @Test + @TestMetadata("tryCatch.kt") + public void testTryCatch() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/tryCatch.kt"); + } + + @Test + @TestMetadata("virtualCallFromConstructor.kt") + public void testVirtualCallFromConstructor() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/localEscapeAnalysis") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class LocalEscapeAnalysis { + @Test + public void testAllFilesPresentInLocalEscapeAnalysis() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/localEscapeAnalysis"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("arraysFieldWrite.kt") + public void testArraysFieldWrite() throws Exception { + runTest("native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/object") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class Object { + @Test + public void testAllFilesPresentInObject() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/object"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("constructor0.kt") + public void testConstructor0() throws Exception { + runTest("native/native.tests/testData/codegen/object/constructor0.kt"); + } + + @Test + @TestMetadata("fields.kt") + public void testFields() throws Exception { + runTest("native/native.tests/testData/codegen/object/fields.kt"); + } + + @Test + @TestMetadata("fields1.kt") + public void testFields1() throws Exception { + runTest("native/native.tests/testData/codegen/object/fields1.kt"); + } + + @Test + @TestMetadata("fields2.kt") + public void testFields2() throws Exception { + runTest("native/native.tests/testData/codegen/object/fields2.kt"); + } + + @Test + @TestMetadata("fields2_2.kt") + public void testFields2_2() throws Exception { + runTest("native/native.tests/testData/codegen/object/fields2_2.kt"); + } + + @Test + @TestMetadata("globalInitializer.kt") + public void testGlobalInitializer() throws Exception { + runTest("native/native.tests/testData/codegen/object/globalInitializer.kt"); + } + + @Test + @TestMetadata("init0.kt") + public void testInit0() throws Exception { + runTest("native/native.tests/testData/codegen/object/init0.kt"); + } + + @Test + @TestMetadata("initialization.kt") + public void testInitialization() throws Exception { + runTest("native/native.tests/testData/codegen/object/initialization.kt"); + } + + @Test + @TestMetadata("initialization1.kt") + public void testInitialization1() throws Exception { + runTest("native/native.tests/testData/codegen/object/initialization1.kt"); + } + + @Test + @TestMetadata("method_call.kt") + public void testMethod_call() throws Exception { + runTest("native/native.tests/testData/codegen/object/method_call.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/objectDeclaration") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class ObjectDeclaration { + @Test + public void testAllFilesPresentInObjectDeclaration() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/objectDeclaration"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("globalConstants_checkComputedField.kt") + public void testGlobalConstants_checkComputedField() throws Exception { + runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkComputedField.kt"); + } + + @Test + @TestMetadata("globalConstants_checkConstructor.kt") + public void testGlobalConstants_checkConstructor() throws Exception { + runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkConstructor.kt"); + } + + @Test + @TestMetadata("globalConstants_checkEmptyClass.kt") + public void testGlobalConstants_checkEmptyClass() throws Exception { + runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkEmptyClass.kt"); + } + + @Test + @TestMetadata("globalConstants_checkField.kt") + public void testGlobalConstants_checkField() throws Exception { + runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkField.kt"); + } + + @Test + @TestMetadata("globalConstants_checkInit.kt") + public void testGlobalConstants_checkInit() throws Exception { + runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkInit.kt"); + } + + @Test + @TestMetadata("isFrozen.kt") + public void testIsFrozen() throws Exception { + runTest("native/native.tests/testData/codegen/objectDeclaration/isFrozen.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/objectExpression") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class ObjectExpression { + @Test + public void testAllFilesPresentInObjectExpression() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/objectExpression"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("expr1.kt") + public void testExpr1() throws Exception { + runTest("native/native.tests/testData/codegen/objectExpression/expr1.kt"); + } + + @Test + @TestMetadata("expr2.kt") + public void testExpr2() throws Exception { + runTest("native/native.tests/testData/codegen/objectExpression/expr2.kt"); + } + + @Test + @TestMetadata("expr3.kt") + public void testExpr3() throws Exception { + runTest("native/native.tests/testData/codegen/objectExpression/expr3.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/propertyCallableReference") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class PropertyCallableReference { + @Test + public void testAllFilesPresentInPropertyCallableReference() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/propertyCallableReference"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("dynamicReceiver.kt") + public void testDynamicReceiver() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.kt"); + } + + @Test + @TestMetadata("valClass.kt") + public void testValClass() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/valClass.kt"); + } + + @Test + @TestMetadata("valExtension.kt") + public void testValExtension() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/valExtension.kt"); + } + + @Test + @TestMetadata("valModule.kt") + public void testValModule() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/valModule.kt"); + } + + @Test + @TestMetadata("varClass.kt") + public void testVarClass() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/varClass.kt"); + } + + @Test + @TestMetadata("varExtension.kt") + public void testVarExtension() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/varExtension.kt"); + } + + @Test + @TestMetadata("varModule.kt") + public void testVarModule() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/varModule.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/stringTrim") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class StringTrim { + @Test + public void testAllFilesPresentInStringTrim() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/stringTrim"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("stringTrim.kt") + public void testStringTrim() throws Exception { + runTest("native/native.tests/testData/codegen/stringTrim/stringTrim.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/try") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class Try { + @Test + public void testAllFilesPresentInTry() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/try"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("catch3.kt") + public void testCatch3() throws Exception { + runTest("native/native.tests/testData/codegen/try/catch3.kt"); + } + + @Test + @TestMetadata("catch4.kt") + public void testCatch4() throws Exception { + runTest("native/native.tests/testData/codegen/try/catch4.kt"); + } + + @Test + @TestMetadata("catch5.kt") + public void testCatch5() throws Exception { + runTest("native/native.tests/testData/codegen/try/catch5.kt"); + } + + @Test + @TestMetadata("catch6.kt") + public void testCatch6() throws Exception { + runTest("native/native.tests/testData/codegen/try/catch6.kt"); + } + + @Test + @TestMetadata("catch8.kt") + public void testCatch8() throws Exception { + runTest("native/native.tests/testData/codegen/try/catch8.kt"); + } + + @Test + @TestMetadata("finally1.kt") + public void testFinally1() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally1.kt"); + } + + @Test + @TestMetadata("finally10.kt") + public void testFinally10() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally10.kt"); + } + + @Test + @TestMetadata("finally11.kt") + public void testFinally11() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally11.kt"); + } + + @Test + @TestMetadata("finally2.kt") + public void testFinally2() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally2.kt"); + } + + @Test + @TestMetadata("finally3.kt") + public void testFinally3() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally3.kt"); + } + + @Test + @TestMetadata("finally4.kt") + public void testFinally4() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally4.kt"); + } + + @Test + @TestMetadata("finally5.kt") + public void testFinally5() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally5.kt"); + } + + @Test + @TestMetadata("finally6.kt") + public void testFinally6() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally6.kt"); + } + + @Test + @TestMetadata("finally7.kt") + public void testFinally7() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally7.kt"); + } + + @Test + @TestMetadata("finally8.kt") + public void testFinally8() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally8.kt"); + } + + @Test + @TestMetadata("finally9.kt") + public void testFinally9() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally9.kt"); + } + + @Test + @TestMetadata("returnsDifferentTypes.kt") + public void testReturnsDifferentTypes() throws Exception { + runTest("native/native.tests/testData/codegen/try/returnsDifferentTypes.kt"); + } + + @Test + @TestMetadata("try1.kt") + public void testTry1() throws Exception { + runTest("native/native.tests/testData/codegen/try/try1.kt"); + } + + @Test + @TestMetadata("try2.kt") + public void testTry2() throws Exception { + runTest("native/native.tests/testData/codegen/try/try2.kt"); + } + + @Test + @TestMetadata("try3.kt") + public void testTry3() throws Exception { + runTest("native/native.tests/testData/codegen/try/try3.kt"); + } + + @Test + @TestMetadata("try4.kt") + public void testTry4() throws Exception { + runTest("native/native.tests/testData/codegen/try/try4.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/vector") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class Vector { + @Test + public void testAllFilesPresentInVector() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/vector"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("default_argument.kt") + public void testDefault_argument() throws Exception { + runTest("native/native.tests/testData/codegen/vector/default_argument.kt"); + } + } } diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenLocalTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenLocalTestGenerated.java index 121b274c084..3399c63c8ad 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenLocalTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenLocalTestGenerated.java @@ -2468,4 +2468,811 @@ public class NativeCodegenLocalTestGenerated extends AbstractNativeCodegenBoxTes runTest("native/native.tests/testData/codegen/innerClass/superOuter.kt"); } } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/interfaceCallsNCasts") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class InterfaceCallsNCasts { + @Test + public void testAllFilesPresentInInterfaceCallsNCasts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/interfaceCallsNCasts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("conservativeItable.kt") + public void testConservativeItable() throws Exception { + runTest("native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.kt"); + } + + @Test + @TestMetadata("diamond.kt") + public void testDiamond() throws Exception { + runTest("native/native.tests/testData/codegen/interfaceCallsNCasts/diamond.kt"); + } + + @Test + @TestMetadata("finalMethod.kt") + public void testFinalMethod() throws Exception { + runTest("native/native.tests/testData/codegen/interfaceCallsNCasts/finalMethod.kt"); + } + + @Test + @TestMetadata("functionNameClash.kt") + public void testFunctionNameClash() throws Exception { + runTest("native/native.tests/testData/codegen/interfaceCallsNCasts/functionNameClash.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/intrinsics") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class Intrinsics { + @Test + public void testAllFilesPresentInIntrinsics() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/intrinsics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("interop_convertAll.kt") + public void testInterop_convertAll() throws Exception { + runTest("native/native.tests/testData/codegen/intrinsics/interop_convertAll.kt"); + } + + @Test + @TestMetadata("interop_convertNI.kt") + public void testInterop_convertNI() throws Exception { + runTest("native/native.tests/testData/codegen/intrinsics/interop_convertNI.kt"); + } + + @Test + @TestMetadata("interop_convertSimple.kt") + public void testInterop_convertSimple() throws Exception { + runTest("native/native.tests/testData/codegen/intrinsics/interop_convertSimple.kt"); + } + + @Test + @TestMetadata("interop_sourceCodeStruct.kt") + public void testInterop_sourceCodeStruct() throws Exception { + runTest("native/native.tests/testData/codegen/intrinsics/interop_sourceCodeStruct.kt"); + } + + @Test + @TestMetadata("isExperimentalMM.kt") + public void testIsExperimentalMM() throws Exception { + runTest("native/native.tests/testData/codegen/intrinsics/isExperimentalMM.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/kclass") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class Kclass { + @Test + public void testAllFilesPresentInKclass() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/kclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("kClassEnumArgument.kt") + public void testKClassEnumArgument() throws Exception { + runTest("native/native.tests/testData/codegen/kclass/kClassEnumArgument.kt"); + } + + @Test + @TestMetadata("kclass0.kt") + public void testKclass0() throws Exception { + runTest("native/native.tests/testData/codegen/kclass/kclass0.kt"); + } + + @Test + @TestMetadata("kclass1.kt") + public void testKclass1() throws Exception { + runTest("native/native.tests/testData/codegen/kclass/kclass1.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/ktype") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class Ktype { + @Test + public void testAllFilesPresentInKtype() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/ktype"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("ktype1_anonymousObject.kt") + public void testKtype1_anonymousObject() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/ktype1_anonymousObject.kt"); + } + + @Test + @TestMetadata("ktype1_basics1.kt") + public void testKtype1_basics1() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/ktype1_basics1.kt"); + } + + @Test + @TestMetadata("ktype1_inner.kt") + public void testKtype1_inner() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/ktype1_inner.kt"); + } + + @Test + @TestMetadata("nonReified_class.kt") + public void testNonReified_class() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/nonReified_class.kt"); + } + + @Test + @TestMetadata("nonReified_equality.kt") + public void testNonReified_equality() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/nonReified_equality.kt"); + } + + @Test + @TestMetadata("nonReified_fun.kt") + public void testNonReified_fun() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/nonReified_fun.kt"); + } + + @Test + @TestMetadata("nonReified_recursionInReified.kt") + public void testNonReified_recursionInReified() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/nonReified_recursionInReified.kt"); + } + + @Test + @TestMetadata("nonReified_reifiedUpperBound.kt") + public void testNonReified_reifiedUpperBound() throws Exception { + runTest("native/native.tests/testData/codegen/ktype/nonReified_reifiedUpperBound.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/lambda") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class Lambda { + @Test + public void testAllFilesPresentInLambda() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/lambda"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("lambda1.kt") + public void testLambda1() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda1.kt"); + } + + @Test + @TestMetadata("lambda10.kt") + public void testLambda10() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda10.kt"); + } + + @Test + @TestMetadata("lambda11.kt") + public void testLambda11() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda11.kt"); + } + + @Test + @TestMetadata("lambda12.kt") + public void testLambda12() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda12.kt"); + } + + @Test + @TestMetadata("lambda13.kt") + public void testLambda13() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda13.kt"); + } + + @Test + @TestMetadata("lambda14.kt") + public void testLambda14() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda14.kt"); + } + + @Test + @TestMetadata("lambda2.kt") + public void testLambda2() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda2.kt"); + } + + @Test + @TestMetadata("lambda3.kt") + public void testLambda3() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda3.kt"); + } + + @Test + @TestMetadata("lambda4.kt") + public void testLambda4() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda4.kt"); + } + + @Test + @TestMetadata("lambda5.kt") + public void testLambda5() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda5.kt"); + } + + @Test + @TestMetadata("lambda6.kt") + public void testLambda6() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda6.kt"); + } + + @Test + @TestMetadata("lambda7.kt") + public void testLambda7() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda7.kt"); + } + + @Test + @TestMetadata("lambda8.kt") + public void testLambda8() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda8.kt"); + } + + @Test + @TestMetadata("lambda9.kt") + public void testLambda9() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda9.kt"); + } + + @Test + @TestMetadata("lambda_kt49360_trivial.kt") + public void testLambda_kt49360_trivial() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda_kt49360_trivial.kt"); + } + + @Test + @TestMetadata("lambda_kt49360_withFlow.kt") + public void testLambda_kt49360_withFlow() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda_kt49360_withFlow.kt"); + } + + @Test + @TestMetadata("lambda_kt49360_wrapBlock.kt") + public void testLambda_kt49360_wrapBlock() throws Exception { + runTest("native/native.tests/testData/codegen/lambda/lambda_kt49360_wrapBlock.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/lateinit") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class Lateinit { + @Test + public void testAllFilesPresentInLateinit() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/lateinit"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("globalIsInitialized.kt") + public void testGlobalIsInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/globalIsInitialized.kt"); + } + + @Test + @TestMetadata("inBaseClass.kt") + public void testInBaseClass() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/inBaseClass.kt"); + } + + @Test + @TestMetadata("initialized.kt") + public void testInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/initialized.kt"); + } + + @Test + @TestMetadata("innerIsInitialized.kt") + public void testInnerIsInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/innerIsInitialized.kt"); + } + + @Test + @TestMetadata("isInitialized.kt") + public void testIsInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/isInitialized.kt"); + } + + @Test + @TestMetadata("localCapturedInitialized.kt") + public void testLocalCapturedInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/localCapturedInitialized.kt"); + } + + @Test + @TestMetadata("localCapturedNotInitialized.kt") + public void testLocalCapturedNotInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.kt"); + } + + @Test + @TestMetadata("localInitialized.kt") + public void testLocalInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/localInitialized.kt"); + } + + @Test + @TestMetadata("localNotInitialized.kt") + public void testLocalNotInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/localNotInitialized.kt"); + } + + @Test + @TestMetadata("notInitialized.kt") + public void testNotInitialized() throws Exception { + runTest("native/native.tests/testData/codegen/lateinit/notInitialized.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/localClass") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class LocalClass { + @Test + public void testAllFilesPresentInLocalClass() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/localClass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("innerTakesCapturedFromOuter.kt") + public void testInnerTakesCapturedFromOuter() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.kt"); + } + + @Test + @TestMetadata("innerWithCapture.kt") + public void testInnerWithCapture() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/innerWithCapture.kt"); + } + + @Test + @TestMetadata("localFunctionCallFromLocalClass.kt") + public void testLocalFunctionCallFromLocalClass() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.kt"); + } + + @Test + @TestMetadata("localFunctionInLocalClass.kt") + public void testLocalFunctionInLocalClass() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.kt"); + } + + @Test + @TestMetadata("localHierarchy.kt") + public void testLocalHierarchy() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/localHierarchy.kt"); + } + + @Test + @TestMetadata("noPrimaryConstructor.kt") + public void testNoPrimaryConstructor() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/noPrimaryConstructor.kt"); + } + + @Test + @TestMetadata("objectExpressionInInitializer.kt") + public void testObjectExpressionInInitializer() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.kt"); + } + + @Test + @TestMetadata("objectExpressionInProperty.kt") + public void testObjectExpressionInProperty() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/objectExpressionInProperty.kt"); + } + + @Test + @TestMetadata("tryCatch.kt") + public void testTryCatch() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/tryCatch.kt"); + } + + @Test + @TestMetadata("virtualCallFromConstructor.kt") + public void testVirtualCallFromConstructor() throws Exception { + runTest("native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/localEscapeAnalysis") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class LocalEscapeAnalysis { + @Test + public void testAllFilesPresentInLocalEscapeAnalysis() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/localEscapeAnalysis"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("arraysFieldWrite.kt") + public void testArraysFieldWrite() throws Exception { + runTest("native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/object") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class Object { + @Test + public void testAllFilesPresentInObject() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/object"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("constructor0.kt") + public void testConstructor0() throws Exception { + runTest("native/native.tests/testData/codegen/object/constructor0.kt"); + } + + @Test + @TestMetadata("fields.kt") + public void testFields() throws Exception { + runTest("native/native.tests/testData/codegen/object/fields.kt"); + } + + @Test + @TestMetadata("fields1.kt") + public void testFields1() throws Exception { + runTest("native/native.tests/testData/codegen/object/fields1.kt"); + } + + @Test + @TestMetadata("fields2.kt") + public void testFields2() throws Exception { + runTest("native/native.tests/testData/codegen/object/fields2.kt"); + } + + @Test + @TestMetadata("fields2_2.kt") + public void testFields2_2() throws Exception { + runTest("native/native.tests/testData/codegen/object/fields2_2.kt"); + } + + @Test + @TestMetadata("globalInitializer.kt") + public void testGlobalInitializer() throws Exception { + runTest("native/native.tests/testData/codegen/object/globalInitializer.kt"); + } + + @Test + @TestMetadata("init0.kt") + public void testInit0() throws Exception { + runTest("native/native.tests/testData/codegen/object/init0.kt"); + } + + @Test + @TestMetadata("initialization.kt") + public void testInitialization() throws Exception { + runTest("native/native.tests/testData/codegen/object/initialization.kt"); + } + + @Test + @TestMetadata("initialization1.kt") + public void testInitialization1() throws Exception { + runTest("native/native.tests/testData/codegen/object/initialization1.kt"); + } + + @Test + @TestMetadata("method_call.kt") + public void testMethod_call() throws Exception { + runTest("native/native.tests/testData/codegen/object/method_call.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/objectDeclaration") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class ObjectDeclaration { + @Test + public void testAllFilesPresentInObjectDeclaration() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/objectDeclaration"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("globalConstants_checkComputedField.kt") + public void testGlobalConstants_checkComputedField() throws Exception { + runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkComputedField.kt"); + } + + @Test + @TestMetadata("globalConstants_checkConstructor.kt") + public void testGlobalConstants_checkConstructor() throws Exception { + runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkConstructor.kt"); + } + + @Test + @TestMetadata("globalConstants_checkEmptyClass.kt") + public void testGlobalConstants_checkEmptyClass() throws Exception { + runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkEmptyClass.kt"); + } + + @Test + @TestMetadata("globalConstants_checkField.kt") + public void testGlobalConstants_checkField() throws Exception { + runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkField.kt"); + } + + @Test + @TestMetadata("globalConstants_checkInit.kt") + public void testGlobalConstants_checkInit() throws Exception { + runTest("native/native.tests/testData/codegen/objectDeclaration/globalConstants_checkInit.kt"); + } + + @Test + @TestMetadata("isFrozen.kt") + public void testIsFrozen() throws Exception { + runTest("native/native.tests/testData/codegen/objectDeclaration/isFrozen.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/objectExpression") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class ObjectExpression { + @Test + public void testAllFilesPresentInObjectExpression() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/objectExpression"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("expr1.kt") + public void testExpr1() throws Exception { + runTest("native/native.tests/testData/codegen/objectExpression/expr1.kt"); + } + + @Test + @TestMetadata("expr2.kt") + public void testExpr2() throws Exception { + runTest("native/native.tests/testData/codegen/objectExpression/expr2.kt"); + } + + @Test + @TestMetadata("expr3.kt") + public void testExpr3() throws Exception { + runTest("native/native.tests/testData/codegen/objectExpression/expr3.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/propertyCallableReference") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class PropertyCallableReference { + @Test + public void testAllFilesPresentInPropertyCallableReference() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/propertyCallableReference"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("dynamicReceiver.kt") + public void testDynamicReceiver() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.kt"); + } + + @Test + @TestMetadata("valClass.kt") + public void testValClass() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/valClass.kt"); + } + + @Test + @TestMetadata("valExtension.kt") + public void testValExtension() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/valExtension.kt"); + } + + @Test + @TestMetadata("valModule.kt") + public void testValModule() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/valModule.kt"); + } + + @Test + @TestMetadata("varClass.kt") + public void testVarClass() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/varClass.kt"); + } + + @Test + @TestMetadata("varExtension.kt") + public void testVarExtension() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/varExtension.kt"); + } + + @Test + @TestMetadata("varModule.kt") + public void testVarModule() throws Exception { + runTest("native/native.tests/testData/codegen/propertyCallableReference/varModule.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/stringTrim") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class StringTrim { + @Test + public void testAllFilesPresentInStringTrim() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/stringTrim"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("stringTrim.kt") + public void testStringTrim() throws Exception { + runTest("native/native.tests/testData/codegen/stringTrim/stringTrim.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/try") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class Try { + @Test + public void testAllFilesPresentInTry() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/try"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("catch3.kt") + public void testCatch3() throws Exception { + runTest("native/native.tests/testData/codegen/try/catch3.kt"); + } + + @Test + @TestMetadata("catch4.kt") + public void testCatch4() throws Exception { + runTest("native/native.tests/testData/codegen/try/catch4.kt"); + } + + @Test + @TestMetadata("catch5.kt") + public void testCatch5() throws Exception { + runTest("native/native.tests/testData/codegen/try/catch5.kt"); + } + + @Test + @TestMetadata("catch6.kt") + public void testCatch6() throws Exception { + runTest("native/native.tests/testData/codegen/try/catch6.kt"); + } + + @Test + @TestMetadata("catch8.kt") + public void testCatch8() throws Exception { + runTest("native/native.tests/testData/codegen/try/catch8.kt"); + } + + @Test + @TestMetadata("finally1.kt") + public void testFinally1() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally1.kt"); + } + + @Test + @TestMetadata("finally10.kt") + public void testFinally10() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally10.kt"); + } + + @Test + @TestMetadata("finally11.kt") + public void testFinally11() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally11.kt"); + } + + @Test + @TestMetadata("finally2.kt") + public void testFinally2() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally2.kt"); + } + + @Test + @TestMetadata("finally3.kt") + public void testFinally3() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally3.kt"); + } + + @Test + @TestMetadata("finally4.kt") + public void testFinally4() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally4.kt"); + } + + @Test + @TestMetadata("finally5.kt") + public void testFinally5() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally5.kt"); + } + + @Test + @TestMetadata("finally6.kt") + public void testFinally6() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally6.kt"); + } + + @Test + @TestMetadata("finally7.kt") + public void testFinally7() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally7.kt"); + } + + @Test + @TestMetadata("finally8.kt") + public void testFinally8() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally8.kt"); + } + + @Test + @TestMetadata("finally9.kt") + public void testFinally9() throws Exception { + runTest("native/native.tests/testData/codegen/try/finally9.kt"); + } + + @Test + @TestMetadata("returnsDifferentTypes.kt") + public void testReturnsDifferentTypes() throws Exception { + runTest("native/native.tests/testData/codegen/try/returnsDifferentTypes.kt"); + } + + @Test + @TestMetadata("try1.kt") + public void testTry1() throws Exception { + runTest("native/native.tests/testData/codegen/try/try1.kt"); + } + + @Test + @TestMetadata("try2.kt") + public void testTry2() throws Exception { + runTest("native/native.tests/testData/codegen/try/try2.kt"); + } + + @Test + @TestMetadata("try3.kt") + public void testTry3() throws Exception { + runTest("native/native.tests/testData/codegen/try/try3.kt"); + } + + @Test + @TestMetadata("try4.kt") + public void testTry4() throws Exception { + runTest("native/native.tests/testData/codegen/try/try4.kt"); + } + } + + @Nested + @TestMetadata("native/native.tests/testData/codegen/vector") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class Vector { + @Test + public void testAllFilesPresentInVector() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/vector"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("default_argument.kt") + public void testDefault_argument() throws Exception { + runTest("native/native.tests/testData/codegen/vector/default_argument.kt"); + } + } }