Supported inline function for expression body case

This commit is contained in:
Valentin Kipyatkov
2016-10-19 22:16:59 +03:00
parent 67e5ed802f
commit 57411b4d5e
16 changed files with 202 additions and 3 deletions
@@ -0,0 +1,11 @@
fun <caret>f(p: Int) = g()
fun g() {
}
fun complexFun(): Int {
}
fun main(args: Array<String>) {
f(complexFun())
}
@@ -0,0 +1,10 @@
fun g() {
}
fun complexFun(): Int {
}
fun main(args: Array<String>) {
complexFun()
g()
}
@@ -0,0 +1,8 @@
fun <caret>f(p: Int) = p + p
fun complexFun(): Int {
}
fun main(args: Array<String>) {
f(complexFun())
}
@@ -0,0 +1,7 @@
fun complexFun(): Int {
}
fun main(args: Array<String>) {
val p = complexFun()
p + p
}
@@ -0,0 +1,5 @@
fun <caret>f() = "foo"
fun main(args: Array<String>) {
println(f() + f())
}
@@ -0,0 +1,3 @@
fun main(args: Array<String>) {
println("foo" + "foo")
}
@@ -0,0 +1,7 @@
fun f(p1: Int, p2: Int) = p1 + p2
fun main(args: Array<String>) {
println(f(1, 2))
println(<caret>f(3, 4))
println(f(5, 6))
}
@@ -0,0 +1,5 @@
fun main(args: Array<String>) {
println(1 + 2)
println(3 + 4)
println(5 + 6)
}
@@ -0,0 +1,10 @@
fun <caret>foo(p1: String, p2: () -> Boolean) = bar(p1, null, p2)
fun bar(p1: String, p2: String?, p3: () -> Boolean)
fun foo(i: I) {
foo("foo") {
println("bar")
println("baz")
}
}
@@ -0,0 +1,8 @@
fun bar(p1: String, p2: String?, p3: () -> Boolean)
fun foo(i: I) {
bar("foo", null) {
println("bar")
println("baz")
}
}
@@ -0,0 +1,5 @@
fun <caret>f(p1: Int, p2: Int) = p1 + p2
fun main(args: Array<String>) {
println(f(3, 5))
}
@@ -0,0 +1,3 @@
fun main(args: Array<String>) {
println(3 + 5)
}