[FE] Remove BuilderInference annotation from tests

This commit is contained in:
Victor Petukhov
2022-06-18 18:53:09 +02:00
parent dbe7f3ab0d
commit fa7809cd80
221 changed files with 366 additions and 348 deletions
@@ -5,10 +5,10 @@
import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
fun <R> build(@BuilderInference block: TestInterface<R>.() -> Unit) {}
fun <R> build(block: TestInterface<R>.() -> Unit) {}
@OptIn(ExperimentalTypeInference::class)
fun <R> build2(@BuilderInference block: TestInterface<R>.() -> Unit) {}
fun <R> build2(block: TestInterface<R>.() -> Unit) {}
interface TestInterface<R> {
fun emit(r: R)
@@ -13,10 +13,10 @@ class Test {
import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
fun <R> build(@BuilderInference block: TestInterface<R>.() -> Unit) {}
fun <R> build(block: TestInterface<R>.() -> Unit) {}
@OptIn(ExperimentalTypeInference::class)
fun <R> build2(@BuilderInference block: TestInterface<R>.() -> Unit) {}
fun <R> build2(block: TestInterface<R>.() -> Unit) {}
class Inv<K>
@@ -13,10 +13,10 @@ class Test {
import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
fun <R1> build(@BuilderInference block: TestInterface<R1>.() -> Unit) {}
fun <R1> build(block: TestInterface<R1>.() -> Unit) {}
@OptIn(ExperimentalTypeInference::class)
fun <R2> build2(@BuilderInference block: TestInterface<R2>.() -> Unit) {}
fun <R2> build2(block: TestInterface<R2>.() -> Unit) {}
class In<in K>
@@ -14,10 +14,10 @@ class Test {
import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
fun <R1> build(@BuilderInference block: TestInterface<R1>.() -> Unit) {}
fun <R1> build(block: TestInterface<R1>.() -> Unit) {}
@OptIn(ExperimentalTypeInference::class)
fun <R2> build2(@BuilderInference block: TestInterface<R2>.() -> Unit) {}
fun <R2> build2(block: TestInterface<R2>.() -> Unit) {}
class Out<out K>
@@ -14,10 +14,10 @@ class Test {
import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
fun <R1> build(@BuilderInference block: TestInterface<R1>.() -> Unit) {}
fun <R1> build(block: TestInterface<R1>.() -> Unit) {}
@OptIn(ExperimentalTypeInference::class)
fun <R2> build2(@BuilderInference block: TestInterface<R2>.() -> Unit) {}
fun <R2> build2(block: TestInterface<R2>.() -> Unit) {}
class Inv<K>
@@ -17,10 +17,10 @@ class Test {
import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
fun <R> build(@BuilderInference block: TestInterface<R>.() -> Unit) {}
fun <R> build(block: TestInterface<R>.() -> Unit) {}
@OptIn(ExperimentalTypeInference::class)
fun <R> build2(@BuilderInference block: TestInterface<R>.() -> Unit) {}
fun <R> build2(block: TestInterface<R>.() -> Unit) {}
class Inv<K>
@@ -10,7 +10,7 @@ class Foo<K11, K22>(val key: K11) {
}
@OptIn(ExperimentalTypeInference::class)
fun <K1, K2> build(@kotlin.BuilderInference builder: Foo<K1, K2>.() -> Unit) {}
fun <K1, K2> build(builder: Foo<K1, K2>.() -> Unit) {}
fun run(x: Int) {
build {
@@ -23,22 +23,22 @@ class B: A
class C: A
@OptIn(ExperimentalTypeInference::class)
fun <K> build1(@BuilderInference builderAction1: In<K>.() -> Unit, @BuilderInference builderAction2: In<K>.() -> Unit): K = 1 as K
fun <K> build1(builderAction1: In<K>.() -> Unit, builderAction2: In<K>.() -> Unit): K = 1 as K
@OptIn(ExperimentalTypeInference::class)
fun <K> build2(@BuilderInference builderAction1: In<K>.() -> Unit, @BuilderInference builderAction2: In<K>.() -> Unit): K = B() as K
fun <K> build2(builderAction1: In<K>.() -> Unit, builderAction2: In<K>.() -> Unit): K = B() as K
@OptIn(ExperimentalTypeInference::class)
fun <K> build3(@BuilderInference builderAction1: Out<K>.() -> Unit, @BuilderInference builderAction2: Out<K>.() -> Unit): K = 1 as K
fun <K> build3(builderAction1: Out<K>.() -> Unit, builderAction2: Out<K>.() -> Unit): K = 1 as K
@OptIn(ExperimentalTypeInference::class)
fun <K> build4(@BuilderInference builderAction1: Out<K>.() -> Unit, @BuilderInference builderAction2: Out<K>.() -> Unit): K = B() as K
fun <K> build4(builderAction1: Out<K>.() -> Unit, builderAction2: Out<K>.() -> Unit): K = B() as K
@OptIn(ExperimentalTypeInference::class)
fun <K> build5(@BuilderInference builderAction1: Inv<K>.() -> Unit, @BuilderInference builderAction2: Inv<K>.() -> Unit): K = 1 as K
fun <K> build5(builderAction1: Inv<K>.() -> Unit, builderAction2: Inv<K>.() -> Unit): K = 1 as K
@OptIn(ExperimentalTypeInference::class)
fun <K> build6(@BuilderInference builderAction1: Inv<K>.() -> Unit, @BuilderInference builderAction2: Inv<K>.() -> Unit): K = B() as K
fun <K> build6(builderAction1: Inv<K>.() -> Unit, builderAction2: Inv<K>.() -> Unit): K = B() as K
@OptIn(ExperimentalStdlibApi::class)
fun box(): String {
@@ -13,10 +13,10 @@ class Test {
import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
fun <R1> build(@BuilderInference block: TestInterface<R1>.() -> Unit) {}
fun <R1> build(block: TestInterface<R1>.() -> Unit) {}
@OptIn(ExperimentalTypeInference::class)
fun <R2> build2(@BuilderInference block: TestInterface<R2>.() -> Unit) {}
fun <R2> build2(block: TestInterface<R2>.() -> Unit) {}
class In<in K>
@@ -8,7 +8,7 @@ interface MyFlow<out T>
fun <K> select(x: K, y: K): K = x
@OptIn(ExperimentalTypeInference::class)
fun <T> myCallbackFlow(@BuilderInference block: MyProducerScope<T>.() -> Unit): MyFlow<T> = null!!
fun <T> myCallbackFlow(block: MyProducerScope<T>.() -> Unit): MyFlow<T> = null!!
fun MyProducerScope<*>.myAwaitClose(block: () -> Unit = {}) {}
fun <E> myEmptyFlow(): MyFlow<E> = null!!
@@ -11,7 +11,7 @@ class Scope<K11, K22>(
}
@OptIn(ExperimentalTypeInference::class)
fun <K1, K2> B<K1>.scoped(@kotlin.BuilderInference binder: Scope<K1, K2>.() -> Unit) {}
fun <K1, K2> B<K1>.scoped(binder: Scope<K1, K2>.() -> Unit) {}
fun run(x: B<A>) {
x.scoped { emit(key) }
@@ -6,7 +6,7 @@ object Hello {
}
@OptIn(ExperimentalTypeInference::class)
fun <E> buildList0(@BuilderInference builder: MutableList<E>.() -> Unit): List<E> = mutableListOf<E>().apply { builder() }
fun <E> buildList0(builder: MutableList<E>.() -> Unit): List<E> = mutableListOf<E>().apply { builder() }
val numbers = buildList0 {
add(Hello.let { it::hello }.get())
@@ -4,10 +4,10 @@
import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
fun <T> flow(@BuilderInference block: suspend FlowCollector<T>.() -> Unit) = Flow<T>()
fun <T> flow(block: suspend FlowCollector<T>.() -> Unit) = Flow<T>()
@OptIn(ExperimentalTypeInference::class)
fun <E> produce(@BuilderInference block: suspend SendChannel<E>.() -> Unit) {}
fun <E> produce(block: suspend SendChannel<E>.() -> Unit) {}
interface SendChannel<in E> {
val onSend: SelectClause2<E, SendChannel<E>>
@@ -3,12 +3,12 @@
import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
fun <AB1, BB1> build(@BuilderInference block: BuilderScope<AB1>.() -> BB1): ResultProvider<AB1, BB1> = object : ResultProvider<AB1, BB1> {
fun <AB1, BB1> build(block: BuilderScope<AB1>.() -> BB1): ResultProvider<AB1, BB1> = object : ResultProvider<AB1, BB1> {
override fun provideResult(): AB1 = "OK" as AB1
}
@OptIn(ExperimentalTypeInference::class)
fun <AB2, BB2> build2(@BuilderInference block: BuilderScope<AB2>.() -> BB2): ResultProvider<AB2, BB2> = object : ResultProvider<AB2, BB2> {
fun <AB2, BB2> build2(block: BuilderScope<AB2>.() -> BB2): ResultProvider<AB2, BB2> = object : ResultProvider<AB2, BB2> {
override fun provideResult(): AB2 = "OK" as AB2
}
@@ -5,7 +5,7 @@
import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
fun <R> build(@BuilderInference block: TestInterface<R>.() -> Unit) {}
fun <R> build(block: TestInterface<R>.() -> Unit) {}
interface TestInterface<R> {
fun emit(r: R)
@@ -15,7 +15,7 @@ class Builder<T> {
}
@OptIn(ExperimentalTypeInference::class)
fun <T> build(@BuilderInference configure: Builder<T>.() -> Unit) =
fun <T> build(configure: Builder<T>.() -> Unit) =
Builder<T>().apply(configure).build()
fun box(): String {
@@ -11,7 +11,7 @@ interface TestInterface<R> {
}
@OptIn(ExperimentalTypeInference::class)
fun <R1> build(@BuilderInference block: TestInterface<R1>.() -> Unit) {}
fun <R1> build(block: TestInterface<R1>.() -> Unit) {}
fun Any.test() {}
fun Any?.test2() {}
@@ -11,16 +11,16 @@ interface TestInterface<R> {
}
@OptIn(ExperimentalTypeInference::class)
fun <R1> build(@BuilderInference block: TestInterface<R1>.() -> Unit) {}
fun <R1> build(block: TestInterface<R1>.() -> Unit) {}
@OptIn(ExperimentalTypeInference::class)
fun <R1 : Any> build2(@BuilderInference block: TestInterface<R1>.() -> Unit) {}
fun <R1 : Any> build2(block: TestInterface<R1>.() -> Unit) {}
@OptIn(ExperimentalTypeInference::class)
fun <R1 : R2, R2 : Any> build3(@BuilderInference block: TestInterface<R1>.() -> Unit) {}
fun <R1 : R2, R2 : Any> build3(block: TestInterface<R1>.() -> Unit) {}
@OptIn(ExperimentalTypeInference::class)
fun <R1 : R2, R2> build4(x: R2, @BuilderInference block: TestInterface<R1>.() -> Unit) {}
fun <R1 : R2, R2> build4(x: R2, block: TestInterface<R1>.() -> Unit) {}
fun test(a: String?) {
val ret1 = build {
@@ -18,7 +18,7 @@ public interface ProducerScopeX<in E> {
public class FlowX<out T> {}
@OptIn(ExperimentalTypeInference::class)
public fun <T> callbackFlowX(@BuilderInference block: ProducerScopeX<T>.() -> Unit): FlowX<T> = FlowX()
public fun <T> callbackFlowX(block: ProducerScopeX<T>.() -> Unit): FlowX<T> = FlowX()
fun foo(): FlowX<String> = callbackFlowX {
object : Callback {
@@ -14,7 +14,7 @@ fun <T> materialize() = null as T
interface FlowCollector<in T> {}
@Suppress("OPT_IN_USAGE_ERROR")
fun <L> flow(@BuilderInference block: suspend FlowCollector<L>.() -> Unit) = Flow(block)
fun <L> flow(block: suspend FlowCollector<L>.() -> Unit) = Flow(block)
class Flow<out R>(private val block: suspend FlowCollector<R>.() -> Unit)
@@ -31,7 +31,7 @@ fun foo7() = null as Foo7<Int>
interface FlowCollector<in T> {}
@OptIn(ExperimentalTypeInference::class)
fun <L> flow(@BuilderInference block: suspend FlowCollector<L>.() -> Unit) = Flow(block)
fun <L> flow(block: suspend FlowCollector<L>.() -> Unit) = Flow(block)
class Flow<out R>(private val block: suspend FlowCollector<R>.() -> Unit)
@@ -14,7 +14,7 @@ fun <T> materialize() = null as T
interface FlowCollector<in T> {}
@Suppress("OPT_IN_USAGE_ERROR")
fun <L> flow(@BuilderInference block: suspend FlowCollector<L>.() -> Unit) = Flow(block)
fun <L> flow(block: suspend FlowCollector<L>.() -> Unit) = Flow(block)
class Flow<out R>(private val block: suspend FlowCollector<R>.() -> Unit)
@@ -6,17 +6,17 @@ import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
fun <R> scopedFlow(@BuilderInference block: suspend CoroutineScope.(FlowCollector<R>) -> Unit): Flow<R> =
fun <R> scopedFlow(block: suspend CoroutineScope.(FlowCollector<R>) -> Unit): Flow<R> =
flow {
val collector = this
flowScope { block(collector) }
}
@OptIn(ExperimentalTypeInference::class)
fun <T> flow(@BuilderInference block: suspend FlowCollector<T>.() -> Unit): Flow<T> = TODO()
fun <T> flow(block: suspend FlowCollector<T>.() -> Unit): Flow<T> = TODO()
@OptIn(ExperimentalTypeInference::class)
fun <R> flowScope(@BuilderInference block: suspend CoroutineScope.() -> R): R = TODO()
fun <R> flowScope(block: suspend CoroutineScope.() -> R): R = TODO()
interface CoroutineScope
interface Flow<out T>
@@ -5,7 +5,7 @@ import kotlin.experimental.ExperimentalTypeInference
interface FlowCollector<in T> {}
@Suppress("OPT_IN_USAGE_ERROR")
fun <L> flow(@BuilderInference block: suspend FlowCollector<L>.() -> Unit) = Flow(block)
fun <L> flow(block: suspend FlowCollector<L>.() -> Unit) = Flow(block)
class Flow<out R>(private val block: suspend FlowCollector<R>.() -> Unit)
@@ -8,7 +8,7 @@ class TypeDefinition<K : Any> {
}
@OptIn(ExperimentalTypeInference::class)
fun <T : Any> defineType(@BuilderInference definition: TypeDefinition<T>.() -> Unit): Unit {}
fun <T : Any> defineType(definition: TypeDefinition<T>.() -> Unit): Unit {}
fun test() {
defineType {
@@ -12,7 +12,7 @@ interface FlowCollector<T> {
}
@Suppress("OPT_IN_USAGE_ERROR")
fun <I> flow(@BuilderInference block: FlowCollector<I>.() -> Unit): I = null as I
fun <I> flow(block: FlowCollector<I>.() -> Unit): I = null as I
fun adapt(): Unit = flow {
emit(foo { coroutine -> bar(coroutine) })
@@ -6,7 +6,7 @@ operator fun <T> SequenceScope<String>.plusAssign(x: SequenceScope<T>) {}
@OptIn(ExperimentalTypeInference::class)
fun <T> mySequence(@BuilderInference block: suspend SequenceScope<T>.() -> Unit): Sequence<T> = Sequence { iterator(block) }
fun <T> mySequence(block: suspend SequenceScope<T>.() -> Unit): Sequence<T> = Sequence { iterator(block) }
fun main() {
val y: Sequence<String> = mySequence {
@@ -5,17 +5,17 @@ import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
class A1<T> {
fun <BT1> builder1(@BuilderInference configure: A2<BT1>.() -> Unit) {}
fun <BT1> builder1(configure: A2<BT1>.() -> Unit) {}
}
@OptIn(ExperimentalTypeInference::class)
class A2<A2_BT1> {
fun <BT2> builder2(@BuilderInference configure: A3<A2_BT1, BT2>.() -> Unit) {}
fun <BT2> builder2(configure: A3<A2_BT1, BT2>.() -> Unit) {}
}
@OptIn(ExperimentalTypeInference::class)
class A3<A3_BT1, A3_BT2> {
fun <BT3> builder3(@BuilderInference configure: A4<A3_BT1, A3_BT2, BT3>.() -> Unit) {}
fun <BT3> builder3(configure: A4<A3_BT1, A3_BT2, BT3>.() -> Unit) {}
}
class A4<A3_BT1, A3_BT2, A3_BT3> {
@@ -5,17 +5,17 @@ import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
class A1<T> {
fun <BT1> builder1(@BuilderInference configure: A2<BT1>.() -> Unit) {}
fun <BT1> builder1(configure: A2<BT1>.() -> Unit) {}
}
@OptIn(ExperimentalTypeInference::class)
class A2<A2_BT1> {
fun <BT2> builder2(@BuilderInference configure: A3<A2_BT1, BT2>.() -> Unit) {}
fun <BT2> builder2(configure: A3<A2_BT1, BT2>.() -> Unit) {}
}
@OptIn(ExperimentalTypeInference::class)
class A3<A3_BT1, A3_BT2> {
fun <BT3> builder3(@BuilderInference configure: A4<A3_BT1, A3_BT2, BT3>.() -> Unit) {}
fun <BT3> builder3(configure: A4<A3_BT1, A3_BT2, BT3>.() -> Unit) {}
}
class A4<A3_BT1, A3_BT2, A3_BT3> {
@@ -5,17 +5,17 @@ import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
class A1<T> {
fun <BT1> builder1(@BuilderInference configure: A2<BT1>.() -> Unit) {}
fun <BT1> builder1(configure: A2<BT1>.() -> Unit) {}
}
@OptIn(ExperimentalTypeInference::class)
class A2<A2_BT1> {
fun <BT2> builder2(@BuilderInference configure: A3<A2_BT1, BT2>.() -> Unit) {}
fun <BT2> builder2(configure: A3<A2_BT1, BT2>.() -> Unit) {}
}
@OptIn(ExperimentalTypeInference::class)
class A3<A3_BT1, A3_BT2> {
fun <BT3> builder3(@BuilderInference configure: A4<A3_BT1, A3_BT2, BT3>.() -> Unit) {}
fun <BT3> builder3(configure: A4<A3_BT1, A3_BT2, BT3>.() -> Unit) {}
}
class A4<A3_BT1, A3_BT2, A3_BT3> {
@@ -5,12 +5,12 @@ import kotlin.experimental.ExperimentalTypeInference
@OptIn(ExperimentalTypeInference::class)
class A1<T> {
fun <BT1> builder1(@BuilderInference configure: A2<BT1>.() -> Unit) {}
fun <BT1> builder1(configure: A2<BT1>.() -> Unit) {}
}
@OptIn(ExperimentalTypeInference::class)
class A2<A2_BT1> {
fun <BT2> builder2(@BuilderInference configure: A3<A2_BT1, BT2>.() -> Unit) {}
fun <BT2> builder2(configure: A3<A2_BT1, BT2>.() -> Unit) {}
}
class A3<A3_BT1, A3_BT2> {