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"
|
||||
}
|
||||
|
||||
//task inline5(type: RunKonanTest) {
|
||||
// goldValue = "33\n"
|
||||
// source = "codegen/inline/inline5.kt"
|
||||
//}
|
||||
task inline5(type: RunKonanTest) {
|
||||
goldValue = "33\n"
|
||||
source = "codegen/inline/inline5.kt"
|
||||
}
|
||||
|
||||
task inline6(type: RunKonanTest) {
|
||||
goldValue = "hello1\nhello2\nhello3\nhello4\n"
|
||||
@@ -1357,6 +1357,18 @@ task inline17(type: RunKonanTest) {
|
||||
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 {
|
||||
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")
|
||||
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> {
|
||||
|
||||
@@ -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