More cases supported for inline functions: namespace level functions with parameters (not blocks)
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
package foo
|
||||
|
||||
fun box() = !myInlineFun()
|
||||
|
||||
inline fun myInlineFun() : Boolean {
|
||||
return false
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package foo
|
||||
|
||||
fun box() : Boolean {
|
||||
val t = myInlineFun(1 == 2)
|
||||
val f = myInlineFun(1 == 2)
|
||||
return t and f
|
||||
}
|
||||
|
||||
inline fun myInlineFun(t : Boolean) = !t
|
||||
@@ -0,0 +1,13 @@
|
||||
package foo
|
||||
|
||||
fun box() : Boolean {
|
||||
if (myInlineFun(3, 2) != 1) {
|
||||
return false;
|
||||
}
|
||||
if (myInlineFun(100, -100) != 200) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
inline fun myInlineFun(l : Int, r : Int) = l - r
|
||||
@@ -0,0 +1,11 @@
|
||||
package foo
|
||||
|
||||
fun box() : Boolean {
|
||||
return (!(A().myInlineMethod()))
|
||||
}
|
||||
|
||||
class A() {
|
||||
inline fun myInlineMethod() : Boolean {
|
||||
return false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package foo
|
||||
|
||||
fun box() : Boolean {
|
||||
return !(A(false).myInlineMethod()) and A(true).myInlineMethod()
|
||||
}
|
||||
|
||||
class A(val a : Boolean) {
|
||||
inline fun myInlineMethod() : Boolean {
|
||||
return a
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user