mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 08:31:26 +00:00
54 lines
1.9 KiB
Kotlin
Vendored
54 lines
1.9 KiB
Kotlin
Vendored
class Inv<E>
|
|
class Out<out T>
|
|
class OutPair<out Final, out Y>
|
|
class In<in Z>
|
|
|
|
class Final
|
|
open class Open
|
|
|
|
class Container {
|
|
// The signatures are obtained from compiler/testData/writeSignature/declarationSiteVariance/wildcardOptimization
|
|
fun openClassArgument(x: Out<Open>, y: In<Open>) {}
|
|
fun finalClassArgument(x: Out<Final>, y: In<Final>) {}
|
|
fun oneArgumentFinal(x: OutPair<Final, Open>) {}
|
|
|
|
fun arrayOfOutOpen(x: Array<Out<Open>>) {}
|
|
fun arrayOfOutFinal(x: Array<Out<Final>>) {}
|
|
fun outOfArrayOpen(x: Out<Array<Open>>) {}
|
|
fun outOfArrayOutOpen(x: Out<Array<out Open>>) {}
|
|
|
|
fun deepOpen(x: Out<Out<Out<Open>>>) {}
|
|
fun deepFinal(x: Out<Out<Out<Final>>>) {}
|
|
|
|
fun skipAllOutInvWildcards(): Inv<OutPair<Open, Out<Out<Open>>>> = null!!
|
|
fun skipAllInvWildcards(): Inv<In<Out<Open>>> = null!!
|
|
fun notDeepIn(): In<Final> = null!!
|
|
fun skipWildcardsUntilIn0(): Out<In<Out<Open>>> = null!!
|
|
fun skipWildcardsUntilIn1(): Out<In<Out<Final>>> = null!!
|
|
fun skipWildcardsUntilIn2(): Out<In<OutPair<Final, Out<Open>>>> = null!!
|
|
fun skipWildcardsUntilInProjection(): Inv<in Out<Open>> = null!!
|
|
|
|
fun outIn(x: Out<In<Final>>) {}
|
|
fun outInAny(x: Out<In<Any?>>) {}
|
|
|
|
fun invInv(x: Out<Inv<Open>>) {}
|
|
fun invOut(x: Out<Inv<out Open>>) {}
|
|
fun invOutFinal(x: Out<Inv<out Final>>) {}
|
|
fun invIn(x: Out<Inv<in Final>>) {}
|
|
fun invInAny(x: Out<Inv<in Any>>) {}
|
|
|
|
fun inFinal(x: In<Final>) {}
|
|
fun inAny(x: In<Any>) {}
|
|
fun inOutFinal(x: In<Out<Final>>) {}
|
|
|
|
fun invOpen(x: Inv<Open>) {}
|
|
fun invFinal(x: Inv<Final>) {}
|
|
fun invOutOpen(x: Inv<Out<Open>>) {}
|
|
fun invOutFinal(x: Inv<Out<Final>>) {}
|
|
fun invInOutOpen(x: Inv<In<Out<Open>>>) {}
|
|
fun invInOutFinal(x: Inv<In<Out<Final>>>) {}
|
|
fun invOutProjectedOutFinal(x: Inv<out Out<Final>>) {}
|
|
|
|
fun <Q : Final> typeParameter(x: Out<Q>, y: In<Q>) {}
|
|
}
|