ADD week 5

This commit is contained in:
2025-03-31 16:33:42 +02:00
parent 86f265f22d
commit bf645048e6
4927 changed files with 544053 additions and 0 deletions

View File

@ -0,0 +1,32 @@
package kotlinx.coroutines.stream;
import kotlin.Metadata;
import kotlin.coroutines.Continuation;
import kotlin.coroutines.jvm.internal.ContinuationImpl;
import kotlin.coroutines.jvm.internal.DebugMetadata;
/* compiled from: Stream.kt */
@Metadata(k = 3, mv = {1, 8, 0}, xi = 48)
@DebugMetadata(c = "kotlinx.coroutines.stream.StreamFlow", f = "Stream.kt", i = {0, 0}, l = {26}, m = "collect", n = {"this", "collector"}, s = {"L$0", "L$1"})
/* loaded from: classes.dex */
final class StreamFlow$collect$1 extends ContinuationImpl {
Object L$0;
Object L$1;
Object L$2;
int label;
/* synthetic */ Object result;
final /* synthetic */ StreamFlow<T> this$0;
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
StreamFlow$collect$1(StreamFlow<T> streamFlow, Continuation<? super StreamFlow$collect$1> continuation) {
super(continuation);
this.this$0 = streamFlow;
}
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
public final Object invokeSuspend(Object obj) {
this.result = obj;
this.label |= Integer.MIN_VALUE;
return this.this$0.collect(null, this);
}
}

View File

@ -0,0 +1,118 @@
package kotlinx.coroutines.stream;
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.stream.Stream;
import kotlin.Metadata;
import kotlin.jvm.Volatile;
import kotlinx.coroutines.flow.Flow;
/* compiled from: Stream.kt */
@Metadata(d1 = {"\u0000(\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0002\u0018\u0000*\u0004\b\u0000\u0010\u00012\b\u0012\u0004\u0012\u0002H\u00010\u0002B\u0013\u0012\f\u0010\u0003\u001a\b\u0012\u0004\u0012\u00028\u00000\u0004¢\u0006\u0002\u0010\u0005J\u001f\u0010\b\u001a\u00020\t2\f\u0010\n\u001a\b\u0012\u0004\u0012\u00028\u00000\u000bH\u0096@ø\u0001\u0000¢\u0006\u0002\u0010\fR\t\u0010\u0006\u001a\u00020\u0007X\u0082\u0004R\u0014\u0010\u0003\u001a\b\u0012\u0004\u0012\u00028\u00000\u0004X\u0082\u0004¢\u0006\u0002\n\u0000\u0082\u0002\u0004\n\u0002\b\u0019¨\u0006\r"}, d2 = {"Lkotlinx/coroutines/stream/StreamFlow;", "T", "Lkotlinx/coroutines/flow/Flow;", "stream", "Ljava/util/stream/Stream;", "(Ljava/util/stream/Stream;)V", "consumed", "Lkotlinx/atomicfu/AtomicBoolean;", "collect", "", "collector", "Lkotlinx/coroutines/flow/FlowCollector;", "(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
final class StreamFlow<T> implements Flow<T> {
private static final AtomicIntegerFieldUpdater consumed$FU = AtomicIntegerFieldUpdater.newUpdater(StreamFlow.class, "consumed");
@Volatile
private volatile int consumed = 0;
private final Stream<T> stream;
public StreamFlow(Stream<T> stream) {
this.stream = stream;
}
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARN: Removed duplicated region for block: B:16:0x005d A[Catch: all -> 0x0037, TRY_LEAVE, TryCatch #0 {all -> 0x0037, blocks: (B:11:0x0032, B:14:0x0057, B:16:0x005d), top: B:10:0x0032 }] */
/* JADX WARN: Removed duplicated region for block: B:31:0x0041 */
/* JADX WARN: Removed duplicated region for block: B:8:0x0024 */
@Override // kotlinx.coroutines.flow.Flow
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public java.lang.Object collect(kotlinx.coroutines.flow.FlowCollector<? super T> r7, kotlin.coroutines.Continuation<? super kotlin.Unit> r8) {
/*
r6 = this;
boolean r0 = r8 instanceof kotlinx.coroutines.stream.StreamFlow$collect$1
if (r0 == 0) goto L14
r0 = r8
kotlinx.coroutines.stream.StreamFlow$collect$1 r0 = (kotlinx.coroutines.stream.StreamFlow$collect$1) r0
int r1 = r0.label
r2 = -2147483648(0xffffffff80000000, float:-0.0)
r1 = r1 & r2
if (r1 == 0) goto L14
int r8 = r0.label
int r8 = r8 - r2
r0.label = r8
goto L19
L14:
kotlinx.coroutines.stream.StreamFlow$collect$1 r0 = new kotlinx.coroutines.stream.StreamFlow$collect$1
r0.<init>(r6, r8)
L19:
java.lang.Object r8 = r0.result
java.lang.Object r1 = kotlin.coroutines.intrinsics.IntrinsicsKt.getCOROUTINE_SUSPENDED()
int r2 = r0.label
r3 = 1
if (r2 == 0) goto L41
if (r2 != r3) goto L39
java.lang.Object r7 = r0.L$2
java.util.Iterator r7 = (java.util.Iterator) r7
java.lang.Object r2 = r0.L$1
kotlinx.coroutines.flow.FlowCollector r2 = (kotlinx.coroutines.flow.FlowCollector) r2
java.lang.Object r4 = r0.L$0
kotlinx.coroutines.stream.StreamFlow r4 = (kotlinx.coroutines.stream.StreamFlow) r4
kotlin.ResultKt.throwOnFailure(r8) // Catch: java.lang.Throwable -> L37
r8 = r2
goto L57
L37:
r7 = move-exception
goto L7a
L39:
java.lang.IllegalStateException r7 = new java.lang.IllegalStateException
java.lang.String r8 = "call to 'resume' before 'invoke' with coroutine"
r7.<init>(r8)
throw r7
L41:
kotlin.ResultKt.throwOnFailure(r8)
java.util.concurrent.atomic.AtomicIntegerFieldUpdater r8 = kotlinx.coroutines.stream.StreamFlow.consumed$FU
r2 = 0
boolean r8 = r8.compareAndSet(r6, r2, r3)
if (r8 == 0) goto L80
java.util.stream.Stream<T> r8 = r6.stream // Catch: java.lang.Throwable -> L78
java.util.Iterator r8 = kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m(r8) // Catch: java.lang.Throwable -> L78
r4 = r6
r5 = r8
r8 = r7
r7 = r5
L57:
boolean r2 = r7.hasNext() // Catch: java.lang.Throwable -> L37
if (r2 == 0) goto L70
java.lang.Object r2 = r7.next() // Catch: java.lang.Throwable -> L37
r0.L$0 = r4 // Catch: java.lang.Throwable -> L37
r0.L$1 = r8 // Catch: java.lang.Throwable -> L37
r0.L$2 = r7 // Catch: java.lang.Throwable -> L37
r0.label = r3 // Catch: java.lang.Throwable -> L37
java.lang.Object r2 = r8.emit(r2, r0) // Catch: java.lang.Throwable -> L37
if (r2 != r1) goto L57
return r1
L70:
java.util.stream.Stream<T> r7 = r4.stream
kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m1640m(r7)
kotlin.Unit r7 = kotlin.Unit.INSTANCE
return r7
L78:
r7 = move-exception
r4 = r6
L7a:
java.util.stream.Stream<T> r8 = r4.stream
kotlin.streams.jdk8.StreamsKt$$ExternalSyntheticApiModelOutline0.m1640m(r8)
throw r7
L80:
java.lang.IllegalStateException r7 = new java.lang.IllegalStateException
java.lang.String r8 = "Stream.consumeAsFlow can be collected only once"
java.lang.String r8 = r8.toString()
r7.<init>(r8)
throw r7
*/
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.stream.StreamFlow.collect(kotlinx.coroutines.flow.FlowCollector, kotlin.coroutines.Continuation):java.lang.Object");
}
}

View File

@ -0,0 +1,14 @@
package kotlinx.coroutines.stream;
import java.util.stream.Stream;
import kotlin.Metadata;
import kotlinx.coroutines.flow.Flow;
/* compiled from: Stream.kt */
@Metadata(d1 = {"\u0000\u000e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\u001a\u001c\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\b\u0000\u0010\u0002*\b\u0012\u0004\u0012\u0002H\u00020\u0003¨\u0006\u0004"}, d2 = {"consumeAsFlow", "Lkotlinx/coroutines/flow/Flow;", "T", "Ljava/util/stream/Stream;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
public final class StreamKt {
public static final <T> Flow<T> consumeAsFlow(Stream<T> stream) {
return new StreamFlow(stream);
}
}