Add test for KotlinBytecodeToolWindow
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
package inlineFun1
|
||||
|
||||
class A<T> {
|
||||
fun test() = 1
|
||||
|
||||
inline fun myFun1(f: () -> T): T {
|
||||
test()
|
||||
return f()
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package foo
|
||||
|
||||
import inlineFun1.*
|
||||
|
||||
fun test() {
|
||||
A<Int>().myFun1 { 1 }
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package inlineFun1
|
||||
|
||||
inline fun myFun1(f: () -> Int): Int = f()
|
||||
@@ -0,0 +1,7 @@
|
||||
package foo
|
||||
|
||||
import inlineFun1.*
|
||||
|
||||
fun test() {
|
||||
myFun1 { 1 }
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package inlineFun1
|
||||
|
||||
import inlineFun2.*
|
||||
|
||||
inline fun myFun1(f: () -> Int): Int = myFun2 { f() }
|
||||
@@ -0,0 +1,3 @@
|
||||
package inlineFun2
|
||||
|
||||
inline fun myFun2(f: () -> Int): Int = f()
|
||||
@@ -0,0 +1,7 @@
|
||||
package foo
|
||||
|
||||
import inlineFun1.*
|
||||
|
||||
fun test() {
|
||||
myFun1 { 1 }
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package inlineFun1
|
||||
|
||||
inline fun Int.myFun1(f: () -> Int): Int = f()
|
||||
@@ -0,0 +1,7 @@
|
||||
package foo
|
||||
|
||||
import inlineFun1.*
|
||||
|
||||
fun test() {
|
||||
1 myFun1 { 1 }
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package inlineFun1
|
||||
|
||||
inline fun <reified T> myFun1(f: () -> T): T = f()
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package foo
|
||||
|
||||
import inlineFun1.*
|
||||
|
||||
fun test() {
|
||||
myFun1 { 1 }
|
||||
}
|
||||
|
||||
// INLINE: false
|
||||
@@ -0,0 +1,8 @@
|
||||
package inlineFun1
|
||||
|
||||
import inlineFun2.*
|
||||
import inlineFun3.*
|
||||
|
||||
inline fun myFun1(f: () -> Int): Int {
|
||||
return myFun3 { f() } + myFun2 { f() }
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package inlineFun2
|
||||
|
||||
import inlineFun3.*
|
||||
|
||||
inline fun myFun2(f: () -> Int): Int = myFun3 { f() }
|
||||
@@ -0,0 +1,3 @@
|
||||
package inlineFun3
|
||||
|
||||
inline fun myFun3(f: () -> Int): Int = f()
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package foo
|
||||
|
||||
import inlineFun1.*
|
||||
|
||||
fun test() {
|
||||
myFun1 { 1 }
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package inlineFun1
|
||||
|
||||
inline fun myFun(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) f: () -> Int): Int {
|
||||
val o = object {
|
||||
fun test() = 1
|
||||
}
|
||||
o.test()
|
||||
|
||||
val lambda = { 1 }
|
||||
lambda()
|
||||
|
||||
val o2 = object {
|
||||
fun test() = f()
|
||||
}
|
||||
o2.test()
|
||||
|
||||
val lambda2 = { f() }
|
||||
lambda2()
|
||||
|
||||
val ref = ::reference
|
||||
ref.invoke()
|
||||
|
||||
return f()
|
||||
}
|
||||
|
||||
fun reference() = 1
|
||||
@@ -0,0 +1,7 @@
|
||||
package foo
|
||||
|
||||
import inlineFun1.*
|
||||
|
||||
fun test() {
|
||||
myFun { 1 }
|
||||
}
|
||||
Reference in New Issue
Block a user