.class final Lkotlin/coroutines/CoroutineContext$plus$1; .super Lkotlin/jvm/internal/Lambda; .source "CoroutineContext.kt" # interfaces .implements Lkotlin/jvm/functions/Function2; # annotations .annotation system Ldalvik/annotation/EnclosingMethod; value = Lkotlin/coroutines/CoroutineContext$DefaultImpls;->plus(Lkotlin/coroutines/CoroutineContext;Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/CoroutineContext; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x18 name = null .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/jvm/internal/Lambda;", "Lkotlin/jvm/functions/Function2<", "Lkotlin/coroutines/CoroutineContext;", "Lkotlin/coroutines/CoroutineContext$Element;", "Lkotlin/coroutines/CoroutineContext;", ">;" } .end annotation .annotation runtime Lkotlin/Metadata; d1 = { "\u0000\u0010\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0004H\n\u00a2\u0006\u0002\u0008\u0005" } d2 = { "", "Lkotlin/coroutines/CoroutineContext;", "acc", "element", "Lkotlin/coroutines/CoroutineContext$Element;", "invoke" } k = 0x3 mv = { 0x1, 0x5, 0x1 } .end annotation # static fields .field public static final INSTANCE:Lkotlin/coroutines/CoroutineContext$plus$1; # direct methods .method static constructor ()V .registers 1 new-instance v0, Lkotlin/coroutines/CoroutineContext$plus$1; invoke-direct {v0}, Lkotlin/coroutines/CoroutineContext$plus$1;->()V sput-object v0, Lkotlin/coroutines/CoroutineContext$plus$1;->INSTANCE:Lkotlin/coroutines/CoroutineContext$plus$1; return-void .end method .method constructor ()V .registers 2 const/4 v0, 0x2 invoke-direct {p0, v0}, Lkotlin/jvm/internal/Lambda;->(I)V return-void .end method # virtual methods .method public bridge synthetic invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .registers 3 .line 14 check-cast p1, Lkotlin/coroutines/CoroutineContext; check-cast p2, Lkotlin/coroutines/CoroutineContext$Element; invoke-virtual {p0, p1, p2}, Lkotlin/coroutines/CoroutineContext$plus$1;->invoke(Lkotlin/coroutines/CoroutineContext;Lkotlin/coroutines/CoroutineContext$Element;)Lkotlin/coroutines/CoroutineContext; move-result-object p1 return-object p1 .end method .method public final invoke(Lkotlin/coroutines/CoroutineContext;Lkotlin/coroutines/CoroutineContext$Element;)Lkotlin/coroutines/CoroutineContext; .registers 6 const-string v0, "acc" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "element" invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 33 invoke-interface {p2}, Lkotlin/coroutines/CoroutineContext$Element;->getKey()Lkotlin/coroutines/CoroutineContext$Key; move-result-object v0 invoke-interface {p1, v0}, Lkotlin/coroutines/CoroutineContext;->minusKey(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; move-result-object p1 .line 34 sget-object v0, Lkotlin/coroutines/EmptyCoroutineContext;->INSTANCE:Lkotlin/coroutines/EmptyCoroutineContext; if-ne p1, v0, :cond_19 check-cast p2, Lkotlin/coroutines/CoroutineContext; goto :goto_54 .line 36 :cond_19 sget-object v0, Lkotlin/coroutines/ContinuationInterceptor;->Key:Lkotlin/coroutines/ContinuationInterceptor$Key; check-cast v0, Lkotlin/coroutines/CoroutineContext$Key; invoke-interface {p1, v0}, Lkotlin/coroutines/CoroutineContext;->get(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; move-result-object v0 check-cast v0, Lkotlin/coroutines/ContinuationInterceptor; if-nez v0, :cond_2b .line 37 new-instance v0, Lkotlin/coroutines/CombinedContext; invoke-direct {v0, p1, p2}, Lkotlin/coroutines/CombinedContext;->(Lkotlin/coroutines/CoroutineContext;Lkotlin/coroutines/CoroutineContext$Element;)V goto :goto_51 .line 38 :cond_2b sget-object v1, Lkotlin/coroutines/ContinuationInterceptor;->Key:Lkotlin/coroutines/ContinuationInterceptor$Key; check-cast v1, Lkotlin/coroutines/CoroutineContext$Key; invoke-interface {p1, v1}, Lkotlin/coroutines/CoroutineContext;->minusKey(Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; move-result-object p1 .line 39 sget-object v1, Lkotlin/coroutines/EmptyCoroutineContext;->INSTANCE:Lkotlin/coroutines/EmptyCoroutineContext; if-ne p1, v1, :cond_42 new-instance p1, Lkotlin/coroutines/CombinedContext; check-cast p2, Lkotlin/coroutines/CoroutineContext; check-cast v0, Lkotlin/coroutines/CoroutineContext$Element; invoke-direct {p1, p2, v0}, Lkotlin/coroutines/CombinedContext;->(Lkotlin/coroutines/CoroutineContext;Lkotlin/coroutines/CoroutineContext$Element;)V move-object v0, p1 goto :goto_51 .line 40 :cond_42 new-instance v1, Lkotlin/coroutines/CombinedContext; new-instance v2, Lkotlin/coroutines/CombinedContext; invoke-direct {v2, p1, p2}, Lkotlin/coroutines/CombinedContext;->(Lkotlin/coroutines/CoroutineContext;Lkotlin/coroutines/CoroutineContext$Element;)V check-cast v2, Lkotlin/coroutines/CoroutineContext; check-cast v0, Lkotlin/coroutines/CoroutineContext$Element; invoke-direct {v1, v2, v0}, Lkotlin/coroutines/CombinedContext;->(Lkotlin/coroutines/CoroutineContext;Lkotlin/coroutines/CoroutineContext$Element;)V move-object v0, v1 .line 37 :goto_51 move-object p2, v0 check-cast p2, Lkotlin/coroutines/CoroutineContext; :goto_54 return-object p2 .end method