diff --git a/backend.native/tests/build.gradle b/backend.native/tests/build.gradle index 24c46406992..c21e7f3023d 100644 --- a/backend.native/tests/build.gradle +++ b/backend.native/tests/build.gradle @@ -734,6 +734,16 @@ task propertyCallableReference_linkTest(type: LinkKonanTest) { lib = "codegen/propertyCallableReference/linkTest_lib.kt" } +task lateinit_initialized(type: RunKonanTest) { + goldValue = "zzz\n" + source = "codegen/lateinit/initialized.kt" +} + +task lateinit_notInitialized(type: RunKonanTest) { + goldValue = "OK\n" + source = "codegen/lateinit/notInitialized.kt" +} + task array0(type: RunKonanTest) { goldValue = "5\n6\n7\n8\n9\n10\n11\n12\n13\n" source = "runtime/collections/array0.kt" diff --git a/backend.native/tests/codegen/lateinit/initialized.kt b/backend.native/tests/codegen/lateinit/initialized.kt new file mode 100644 index 00000000000..97828fada07 --- /dev/null +++ b/backend.native/tests/codegen/lateinit/initialized.kt @@ -0,0 +1,11 @@ +class A { + lateinit var s: String + + fun foo() = s +} + +fun main(args: Array) { + val a = A() + a.s = "zzz" + println(a.foo()) +} \ No newline at end of file diff --git a/backend.native/tests/codegen/lateinit/notInitialized.kt b/backend.native/tests/codegen/lateinit/notInitialized.kt new file mode 100644 index 00000000000..fa72164c21e --- /dev/null +++ b/backend.native/tests/codegen/lateinit/notInitialized.kt @@ -0,0 +1,17 @@ +class A { + lateinit var s: String + + fun foo() = s +} + +fun main(args: Array) { + val a = A() + try { + println(a.foo()) + } + catch (e: RuntimeException) { + println("OK") + return + } + println("Fail") +} \ No newline at end of file