Reserve yield if it isn't function call.
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION -UNREACHABLE_CODE -UNUSED_VARIABLE
|
||||
|
||||
// FILE: 1.kt
|
||||
package p1.yield
|
||||
|
||||
import p1.yield.yield
|
||||
import p1.yield.foo
|
||||
|
||||
val yield = 5
|
||||
fun foo(){}
|
||||
|
||||
fun bar(yield: Int = 4) {}
|
||||
|
||||
fun yield(yield: Int) {
|
||||
"$<!YIELD_IS_RESERVED!>yield<!>"
|
||||
"${<!YIELD_IS_RESERVED!>yield<!>}"
|
||||
|
||||
<!YIELD_IS_RESERVED!>yield<!>
|
||||
val foo = <!YIELD_IS_RESERVED!>yield<!> + <!YIELD_IS_RESERVED!>yield<!>
|
||||
val foo2 = <!YIELD_IS_RESERVED!>yield<!>
|
||||
|
||||
bar(<!YIELD_IS_RESERVED!>yield<!> = 5)
|
||||
|
||||
yield(4)
|
||||
<!YIELD_IS_RESERVED!>yield<!> {}
|
||||
|
||||
class yield<T: <!YIELD_IS_RESERVED!>yield<!><T>>
|
||||
|
||||
return@<!YIELD_IS_RESERVED!>yield<!>
|
||||
return@<!YIELD_IS_RESERVED!>yield<!> Unit
|
||||
|
||||
val foo5: <!YIELD_IS_RESERVED!>yield<!><*>
|
||||
}
|
||||
|
||||
fun yield(i: (Int) -> Unit) {}
|
||||
|
||||
// FILE: 2.kt
|
||||
|
||||
package p2.yield
|
||||
|
||||
import p2.yield.yield
|
||||
import p2.yield.foo
|
||||
|
||||
val yield = 5
|
||||
fun foo(){}
|
||||
|
||||
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) {}
|
||||
@@ -0,0 +1,23 @@
|
||||
package
|
||||
|
||||
package p1 {
|
||||
|
||||
package p1.yield {
|
||||
public val yield: kotlin.Int = 5
|
||||
public fun bar(/*0*/ yield: kotlin.Int = ...): kotlin.Unit
|
||||
public fun foo(): kotlin.Unit
|
||||
public fun yield(/*0*/ i: (kotlin.Int) -> kotlin.Unit): kotlin.Unit
|
||||
public fun yield(/*0*/ yield: kotlin.Int): kotlin.Unit
|
||||
}
|
||||
}
|
||||
|
||||
package p2 {
|
||||
|
||||
package p2.yield {
|
||||
public val yield: kotlin.Int = 5
|
||||
public fun bar(/*0*/ yield: kotlin.Int = ...): kotlin.Unit
|
||||
public fun foo(): kotlin.Unit
|
||||
public fun yield(/*0*/ i: (kotlin.Int) -> kotlin.Unit): kotlin.Unit
|
||||
public fun yield(/*0*/ yield: kotlin.Int): kotlin.Unit
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION -UNREACHABLE_CODE -UNUSED_VARIABLE -WRONG_ANNOTATION_TARGET -UNUSED_LAMBDA_EXPRESSION
|
||||
|
||||
// FILE: 1.kt
|
||||
|
||||
annotation class yield
|
||||
|
||||
fun bar(p: Int) {
|
||||
<!YIELD_IS_RESERVED!>yield<!>@ p
|
||||
`yield`@ p
|
||||
|
||||
@<!YIELD_IS_RESERVED!>yield<!>() p
|
||||
@`yield`() p
|
||||
|
||||
for (yield in 1..5) {
|
||||
|
||||
}
|
||||
{ yield: Int -> }
|
||||
|
||||
val (yield) = listOf(4)
|
||||
|
||||
}
|
||||
|
||||
fun <T> listOf(vararg e: T): List<T> = null!!
|
||||
operator fun <T> List<T>.component1() = get(0)
|
||||
|
||||
// FILE: 2.kt
|
||||
package p3
|
||||
|
||||
enum class yield {
|
||||
yield
|
||||
}
|
||||
|
||||
fun f1(yield: Int, foo: Int = <!YIELD_IS_RESERVED!>yield<!>) {}
|
||||
|
||||
fun f2(foo: <!YIELD_IS_RESERVED!>yield<!>) {}
|
||||
|
||||
// FILE: 3.kt
|
||||
package p4
|
||||
|
||||
typealias yield = Number
|
||||
|
||||
fun <yield: Number> f1() {}
|
||||
fun <y: <!YIELD_IS_RESERVED!>yield<!>> f2() {}
|
||||
|
||||
// FILE: 4.kt
|
||||
object X {
|
||||
fun yield() {}
|
||||
|
||||
fun test3(yield: Int) {
|
||||
X::<!YIELD_IS_RESERVED!>yield<!>
|
||||
|
||||
<!YIELD_IS_RESERVED!>yield<!>::toInt
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package
|
||||
|
||||
public fun bar(/*0*/ p: kotlin.Int): kotlin.Unit
|
||||
public fun </*0*/ T> listOf(/*0*/ vararg e: T /*kotlin.Array<out T>*/): kotlin.collections.List<T>
|
||||
public operator fun </*0*/ T> kotlin.collections.List<T>.component1(): T
|
||||
|
||||
public object X {
|
||||
private constructor X()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public final fun test3(/*0*/ yield: kotlin.Int): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
public final fun yield(): kotlin.Unit
|
||||
}
|
||||
|
||||
public final annotation class yield : kotlin.Annotation {
|
||||
public constructor yield()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
package p3 {
|
||||
public fun f1(/*0*/ yield: kotlin.Int, /*1*/ foo: kotlin.Int = ...): kotlin.Unit
|
||||
public fun f2(/*0*/ foo: p3.yield): kotlin.Unit
|
||||
|
||||
public final enum class yield : kotlin.Enum<p3.yield> {
|
||||
enum entry yield
|
||||
|
||||
private constructor yield()
|
||||
public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
||||
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: p3.yield): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<p3.yield!>!
|
||||
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
// Static members
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): p3.yield
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<p3.yield>
|
||||
}
|
||||
}
|
||||
|
||||
package p4 {
|
||||
public fun </*0*/ yield : kotlin.Number> f1(): kotlin.Unit
|
||||
public fun </*0*/ y : p4.yield /* = kotlin.Number */> f2(): kotlin.Unit
|
||||
public typealias yield = kotlin.Number
|
||||
}
|
||||
Reference in New Issue
Block a user