ADD week 5
This commit is contained in:
		
							
								
								
									
										41
									
								
								02-Easy5/E5/sources/kotlinx/coroutines/YieldKt.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								02-Easy5/E5/sources/kotlinx/coroutines/YieldKt.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| package kotlinx.coroutines; | ||||
|  | ||||
| import kotlin.Metadata; | ||||
| import kotlin.Unit; | ||||
| import kotlin.coroutines.Continuation; | ||||
| import kotlin.coroutines.CoroutineContext; | ||||
| import kotlin.coroutines.intrinsics.IntrinsicsKt; | ||||
| import kotlin.coroutines.jvm.internal.DebugProbesKt; | ||||
| import kotlinx.coroutines.internal.DispatchedContinuation; | ||||
| import kotlinx.coroutines.internal.DispatchedContinuationKt; | ||||
|  | ||||
| /* compiled from: Yield.kt */ | ||||
| @Metadata(d1 = {"\u0000\n\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0002\u001a\u0011\u0010\u0000\u001a\u00020\u0001H\u0086@ø\u0001\u0000¢\u0006\u0002\u0010\u0002\u0082\u0002\u0004\n\u0002\b\u0019¨\u0006\u0003"}, d2 = {"yield", "", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 8, 0}, xi = 48) | ||||
| /* loaded from: classes.dex */ | ||||
| public final class YieldKt { | ||||
|     public static final Object yield(Continuation<? super Unit> continuation) { | ||||
|         Object coroutine_suspended; | ||||
|         CoroutineContext coroutineContext = continuation.get$context(); | ||||
|         JobKt.ensureActive(coroutineContext); | ||||
|         Continuation intercepted = IntrinsicsKt.intercepted(continuation); | ||||
|         DispatchedContinuation dispatchedContinuation = intercepted instanceof DispatchedContinuation ? (DispatchedContinuation) intercepted : null; | ||||
|         if (dispatchedContinuation == null) { | ||||
|             coroutine_suspended = Unit.INSTANCE; | ||||
|         } else { | ||||
|             if (dispatchedContinuation.dispatcher.isDispatchNeeded(coroutineContext)) { | ||||
|                 dispatchedContinuation.dispatchYield$kotlinx_coroutines_core(coroutineContext, Unit.INSTANCE); | ||||
|             } else { | ||||
|                 YieldContext yieldContext = new YieldContext(); | ||||
|                 dispatchedContinuation.dispatchYield$kotlinx_coroutines_core(coroutineContext.plus(yieldContext), Unit.INSTANCE); | ||||
|                 if (yieldContext.dispatcherWasUnconfined) { | ||||
|                     coroutine_suspended = DispatchedContinuationKt.yieldUndispatched(dispatchedContinuation) ? IntrinsicsKt.getCOROUTINE_SUSPENDED() : Unit.INSTANCE; | ||||
|                 } | ||||
|             } | ||||
|             coroutine_suspended = IntrinsicsKt.getCOROUTINE_SUSPENDED(); | ||||
|         } | ||||
|         if (coroutine_suspended == IntrinsicsKt.getCOROUTINE_SUSPENDED()) { | ||||
|             DebugProbesKt.probeCoroutineSuspended(continuation); | ||||
|         } | ||||
|         return coroutine_suspended == IntrinsicsKt.getCOROUTINE_SUSPENDED() ? coroutine_suspended : Unit.INSTANCE; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user