New tests added
This commit is contained in:
committed by
KonstantinAnisimov
parent
b9235ca8b1
commit
c7e4f0f28f
@@ -1306,10 +1306,10 @@ task inline4(type: RunKonanTest) {
|
|||||||
source = "codegen/inline/inline4.kt"
|
source = "codegen/inline/inline4.kt"
|
||||||
}
|
}
|
||||||
|
|
||||||
//task inline5(type: RunKonanTest) {
|
task inline5(type: RunKonanTest) {
|
||||||
// goldValue = "33\n"
|
goldValue = "33\n"
|
||||||
// source = "codegen/inline/inline5.kt"
|
source = "codegen/inline/inline5.kt"
|
||||||
//}
|
}
|
||||||
|
|
||||||
task inline6(type: RunKonanTest) {
|
task inline6(type: RunKonanTest) {
|
||||||
goldValue = "hello1\nhello2\nhello3\nhello4\n"
|
goldValue = "hello1\nhello2\nhello3\nhello4\n"
|
||||||
@@ -1357,6 +1357,18 @@ task inline17(type: RunKonanTest) {
|
|||||||
source = "codegen/inline/inline17.kt"
|
source = "codegen/inline/inline17.kt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task inline18(type: RunKonanTest) {
|
||||||
|
disabled = true
|
||||||
|
goldValue = "true\n"
|
||||||
|
source = "codegen/inline/inline18.kt"
|
||||||
|
}
|
||||||
|
|
||||||
|
task inline19(type: RunKonanTest) {
|
||||||
|
disabled = true
|
||||||
|
goldValue = "6\n"
|
||||||
|
source = "codegen/inline/inline19.kt"
|
||||||
|
}
|
||||||
|
|
||||||
kotlinNativeInterop {
|
kotlinNativeInterop {
|
||||||
sysstat {
|
sysstat {
|
||||||
pkg 'sysstat'
|
pkg 'sysstat'
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
@Suppress("NOTHING_TO_INLINE")
|
||||||
|
inline fun <reified T> foo (i2: Any): Boolean {
|
||||||
|
return i2 is T
|
||||||
|
}
|
||||||
|
|
||||||
|
fun bar(i1: Int): Boolean {
|
||||||
|
return foo<Double>(i1)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
println(bar(1).toString())
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
@Suppress("NOTHING_TO_INLINE")
|
||||||
|
inline fun <T> foo (): Boolean {
|
||||||
|
return Any() is Any
|
||||||
|
}
|
||||||
|
|
||||||
|
fun bar(i1: Int): Boolean {
|
||||||
|
return foo<Double>()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
println(bar(1).toString())
|
||||||
|
}
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
@Suppress("NOTHING_TO_INLINE")
|
@Suppress("NOTHING_TO_INLINE")
|
||||||
inline fun <T> foo(i1: T, i2: T): List<T> {
|
inline fun <T> foo(i1: T, i2: T): List<T> {
|
||||||
return listOf(i1, i2)
|
val j1 = i1
|
||||||
|
val j2 = i2
|
||||||
|
return listOf(j1, j2)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun bar(): List<Int> {
|
fun bar(): List<Int> {
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
@Suppress("NOTHING_TO_INLINE")
|
||||||
|
inline fun <T> foo2(i2: T, j2: T, p2: (T, T) -> Boolean): Boolean {
|
||||||
|
return p2(i2, j2)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Suppress("NOTHING_TO_INLINE")
|
||||||
|
inline fun <T> foo1(i1: T, j1: T, p1: (T, T) -> Boolean): Boolean {
|
||||||
|
return foo2<T>(i1, j1, p1)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun bar(): Boolean {
|
||||||
|
val result = foo1 <Int> (3, 3) { x1: Int, x2: Int -> x1 == x2 }
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
println(bar().toString())
|
||||||
|
}
|
||||||
|
|
||||||
|
public inline fun foo(): Any? {
|
||||||
|
var result = null
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
fun bar() {
|
||||||
|
foo()
|
||||||
|
foo()
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
@Suppress("NOTHING_TO_INLINE")
|
||||||
|
inline private fun foo(i: Int): Int {
|
||||||
|
val result = i
|
||||||
|
return result + i
|
||||||
|
}
|
||||||
|
|
||||||
|
fun bar(): Int {
|
||||||
|
return foo(1) + foo(2)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
println(bar().toString())
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
@Suppress("NOTHING_TO_INLINE")
|
||||||
|
inline fun bar(block: () -> String) : String {
|
||||||
|
return block()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun bar2() : String {
|
||||||
|
return bar { return "def" }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
println(bar2())
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user