From e10d9b62e2f21644524150da67c76c0e1a570202 Mon Sep 17 00:00:00 2001 From: Konstantin Anisimov Date: Tue, 31 Jan 2017 16:01:46 +0700 Subject: [PATCH] TESTS: new tests added --- backend.native/tests/build.gradle | 15 +++++++++++++++ backend.native/tests/codegen/inline/inline10.kt | 12 ++++++++++++ backend.native/tests/codegen/inline/inline4.kt | 2 +- backend.native/tests/codegen/inline/inline5.kt | 13 +++++++++++++ backend.native/tests/codegen/inline/inline9.kt | 15 ++++++++++----- 5 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 backend.native/tests/codegen/inline/inline10.kt create mode 100644 backend.native/tests/codegen/inline/inline5.kt diff --git a/backend.native/tests/build.gradle b/backend.native/tests/build.gradle index 55147a82d03..ca0c67123d2 100644 --- a/backend.native/tests/build.gradle +++ b/backend.native/tests/build.gradle @@ -904,3 +904,18 @@ task inline3(type: RunKonanTest) { goldValue = "5\n" source = "codegen/inline/inline3.kt" } + +task inline4(type: RunKonanTest) { + goldValue = "3\n" + source = "codegen/inline/inline4.kt" +} + +task inline5(type: RunKonanTest) { + goldValue = "34\n" + source = "codegen/inline/inline5.kt" +} + +task inline9(type: RunKonanTest) { + goldValue = "hello\n6\n" + source = "codegen/inline/inline9.kt" +} diff --git a/backend.native/tests/codegen/inline/inline10.kt b/backend.native/tests/codegen/inline/inline10.kt new file mode 100644 index 00000000000..f19f5dd8f76 --- /dev/null +++ b/backend.native/tests/codegen/inline/inline10.kt @@ -0,0 +1,12 @@ +@Suppress("NOTHING_TO_INLINE") +inline fun foo(i2: Int, body: () -> Int): Int { + return i2 + body() +} + +fun bar(i1: Int): Int { + return foo(i1) { 1 } +} + +fun main(args: Array) { + println(bar(1).toString()) +} diff --git a/backend.native/tests/codegen/inline/inline4.kt b/backend.native/tests/codegen/inline/inline4.kt index 04f6a475291..8424ebcdded 100644 --- a/backend.native/tests/codegen/inline/inline4.kt +++ b/backend.native/tests/codegen/inline/inline4.kt @@ -9,5 +9,5 @@ fun bar(i1: Int, i2: Int): Int { } fun main(args: Array) { - println(bar(1, 8).toString()) + println(bar(3, 8).toString()) } diff --git a/backend.native/tests/codegen/inline/inline5.kt b/backend.native/tests/codegen/inline/inline5.kt new file mode 100644 index 00000000000..19d44ed1546 --- /dev/null +++ b/backend.native/tests/codegen/inline/inline5.kt @@ -0,0 +1,13 @@ +@Suppress("NOTHING_TO_INLINE") +inline fun foo(i2: Int, body: () -> Int): Int { + return i2 + body() +} + +fun bar(i1: Int): Int { + return foo(i1) { 33 } +} + +fun main(args: Array) { + println(bar(1).toString()) +} + diff --git a/backend.native/tests/codegen/inline/inline9.kt b/backend.native/tests/codegen/inline/inline9.kt index 8e229a38cf7..bd33c725059 100644 --- a/backend.native/tests/codegen/inline/inline9.kt +++ b/backend.native/tests/codegen/inline/inline9.kt @@ -1,12 +1,17 @@ @Suppress("NOTHING_TO_INLINE") -inline fun foo(i4: Int, i5: Int): Int { - return i4 + i5 +inline fun foo(i3: Int, i4: Int): Int { + return i3 + i3 + i4 } -fun bar(i1: Int, i2: Int, i3: Int): Int { - return foo(i1 + i2, i3) +fun quiz(i: Int) : Int { + println("hello") + return i + 1 +} + +fun bar(i1: Int, i2: Int): Int { + return foo(quiz(i1), i2) } fun main(args: Array) { - println(bar(1, 2, 3).toString()) + println(bar(1, 2).toString()) }