Reserve yield if it isn't function call.

This commit is contained in:
Stanislav Erokhin
2017-02-10 20:21:52 +03:00
parent 9eae929084
commit 3efda0e45a
24 changed files with 466 additions and 3 deletions
+45
View File
@@ -67,3 +67,48 @@ val x = C() willBeInfix 1
fun infixTest() {
arrayListOf(1, 2, 3) map { it }
}
fun bar(yield: Int = 4) {}
fun yield(yield: Int) {
"$yield"
"${yield}"
yield
val foo = yield + yield
val foo2 = yield
bar(yield = 5)
yield(4)
yield {}
class yield<T: yield<T>>
return@yield
return@yield Unit
val foo5: yield<*>
}
fun yield(i: (Int) -> Unit) {}
annotation class yield
@yield()
fun test2(p: Int) {
yield@ p
@yield fun f() {}
}
object X {
fun yield() {}
fun test3(yield: Int) {
X::yield
yield::toInt
}
}
+45
View File
@@ -66,3 +66,48 @@ val x = C() willBeInfix 1
fun infixTest() {
arrayListOf(1, 2, 3).map { it }
}
fun bar(yield: Int = 4) {}
fun yield(yield: Int) {
"$`yield`"
"${`yield`}"
`yield`
val foo = `yield` + `yield`
val foo2 = `yield`
bar(`yield` = 5)
yield(4)
yield() {}
class yield<T: `yield`<T>>
return@`yield`
return@`yield` Unit
val foo5: `yield`<*>
}
fun yield(i: (Int) -> Unit) {}
annotation class yield
@`yield`()
fun test2(p: Int) {
`yield`@ p
@`yield` fun f() {}
}
object X {
fun yield() {}
fun test3(yield: Int) {
X::`yield`
`yield`::toInt
}
}