Restore history of SequenceBuilder from experimental coroutines
This commit is contained in:
+5
-4
@@ -6,9 +6,10 @@
|
|||||||
@file:kotlin.jvm.JvmMultifileClass
|
@file:kotlin.jvm.JvmMultifileClass
|
||||||
@file:kotlin.jvm.JvmName("SequenceBuilderKt")
|
@file:kotlin.jvm.JvmName("SequenceBuilderKt")
|
||||||
|
|
||||||
package kotlin.coroutines.experimental
|
package kotlin.sequences
|
||||||
|
|
||||||
import kotlin.*
|
import kotlin.*
|
||||||
|
import kotlin.coroutines.*
|
||||||
import kotlin.coroutines.experimental.intrinsics.*
|
import kotlin.coroutines.experimental.intrinsics.*
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -19,7 +20,7 @@ import kotlin.coroutines.experimental.intrinsics.*
|
|||||||
* @sample samples.collections.Sequences.Building.buildSequenceYieldAll
|
* @sample samples.collections.Sequences.Building.buildSequenceYieldAll
|
||||||
* @sample samples.collections.Sequences.Building.buildFibonacciSequence
|
* @sample samples.collections.Sequences.Building.buildFibonacciSequence
|
||||||
*/
|
*/
|
||||||
@SinceKotlin("1.1")
|
@SinceKotlin("1.3")
|
||||||
public fun <T> buildSequence(builderAction: suspend SequenceBuilder<T>.() -> Unit): Sequence<T> = Sequence { buildIterator(builderAction) }
|
public fun <T> buildSequence(builderAction: suspend SequenceBuilder<T>.() -> Unit): Sequence<T> = Sequence { buildIterator(builderAction) }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -28,7 +29,7 @@ public fun <T> buildSequence(builderAction: suspend SequenceBuilder<T>.() -> Uni
|
|||||||
* @sample samples.collections.Sequences.Building.buildIterator
|
* @sample samples.collections.Sequences.Building.buildIterator
|
||||||
* @sample samples.collections.Iterables.Building.iterable
|
* @sample samples.collections.Iterables.Building.iterable
|
||||||
*/
|
*/
|
||||||
@SinceKotlin("1.1")
|
@SinceKotlin("1.3")
|
||||||
public fun <T> buildIterator(builderAction: suspend SequenceBuilder<T>.() -> Unit): Iterator<T> {
|
public fun <T> buildIterator(builderAction: suspend SequenceBuilder<T>.() -> Unit): Iterator<T> {
|
||||||
val iterator = SequenceBuilderIterator<T>()
|
val iterator = SequenceBuilderIterator<T>()
|
||||||
iterator.nextStep = builderAction.createCoroutineUnchecked(receiver = iterator, completion = iterator)
|
iterator.nextStep = builderAction.createCoroutineUnchecked(receiver = iterator, completion = iterator)
|
||||||
@@ -45,7 +46,7 @@ public fun <T> buildIterator(builderAction: suspend SequenceBuilder<T>.() -> Uni
|
|||||||
* @sample samples.collections.Sequences.Building.buildFibonacciSequence
|
* @sample samples.collections.Sequences.Building.buildFibonacciSequence
|
||||||
*/
|
*/
|
||||||
@RestrictsSuspension
|
@RestrictsSuspension
|
||||||
@SinceKotlin("1.1")
|
@SinceKotlin("1.3")
|
||||||
public abstract class SequenceBuilder<in T> internal constructor() {
|
public abstract class SequenceBuilder<in T> internal constructor() {
|
||||||
/**
|
/**
|
||||||
* Yields a value to the [Iterator] being built.
|
* Yields a value to the [Iterator] being built.
|
||||||
Reference in New Issue
Block a user