.class public abstract Lkotlin/coroutines/AbstractCoroutineContextKey; .super Ljava/lang/Object; .source "CoroutineContextImpl.kt" # interfaces .implements Lkotlin/coroutines/CoroutineContext$Key; # annotations .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;", "Lkotlin/coroutines/CoroutineContext$Key<", "TE;>;" } .end annotation .annotation runtime Lkotlin/Metadata; d1 = { "\u0000(\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0005\n\u0002\u0010\u000b\n\u0002\u0008\u0006\u0008\'\u0018\u0000*\u0008\u0008\u0000\u0010\u0001*\u00020\u0002*\u0008\u0008\u0001\u0010\u0003*\u0002H\u00012\u0008\u0012\u0004\u0012\u0002H\u00030\u0004B8\u0012\u000c\u0010\u0005\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u0004\u0012#\u0010\u0006\u001a\u001f\u0012\u0013\u0012\u00110\u0002\u00a2\u0006\u000c\u0008\u0008\u0012\u0008\u0008\t\u0012\u0004\u0008\u0008(\n\u0012\u0006\u0012\u0004\u0018\u00018\u00010\u0007\u00a2\u0006\u0002\u0010\u000bJ\u0019\u0010\r\u001a\u00020\u000e2\n\u0010\u000f\u001a\u0006\u0012\u0002\u0008\u00030\u0004H\u0000\u00a2\u0006\u0002\u0008\u0010J\u0019\u0010\u0011\u001a\u0004\u0018\u00018\u00012\u0006\u0010\n\u001a\u00020\u0002H\u0000\u00a2\u0006\u0004\u0008\u0012\u0010\u0013R+\u0010\u0006\u001a\u001f\u0012\u0013\u0012\u00110\u0002\u00a2\u0006\u000c\u0008\u0008\u0012\u0008\u0008\t\u0012\u0004\u0008\u0008(\n\u0012\u0006\u0012\u0004\u0018\u00018\u00010\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0012\u0010\u000c\u001a\u0006\u0012\u0002\u0008\u00030\u0004X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u0014" } d2 = { "Lkotlin/coroutines/AbstractCoroutineContextKey;", "B", "Lkotlin/coroutines/CoroutineContext$Element;", "E", "Lkotlin/coroutines/CoroutineContext$Key;", "baseKey", "safeCast", "Lkotlin/Function1;", "Lkotlin/ParameterName;", "name", "element", "(Lkotlin/coroutines/CoroutineContext$Key;Lkotlin/jvm/functions/Function1;)V", "topmostKey", "isSubKey", "", "key", "isSubKey$kotlin_stdlib", "tryCast", "tryCast$kotlin_stdlib", "(Lkotlin/coroutines/CoroutineContext$Element;)Lkotlin/coroutines/CoroutineContext$Element;", "kotlin-stdlib" } k = 0x1 mv = { 0x1, 0x5, 0x1 } .end annotation # instance fields .field private final safeCast:Lkotlin/jvm/functions/Function1; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/jvm/functions/Function1<", "Lkotlin/coroutines/CoroutineContext$Element;", "TE;>;" } .end annotation .end field .field private final topmostKey:Lkotlin/coroutines/CoroutineContext$Key; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/coroutines/CoroutineContext$Key<", "*>;" } .end annotation .end field # direct methods .method public constructor (Lkotlin/coroutines/CoroutineContext$Key;Lkotlin/jvm/functions/Function1;)V .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/coroutines/CoroutineContext$Key<", "TB;>;", "Lkotlin/jvm/functions/Function1<", "-", "Lkotlin/coroutines/CoroutineContext$Element;", "+TE;>;)V" } .end annotation const-string v0, "baseKey" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "safeCast" invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 48 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p2, p0, Lkotlin/coroutines/AbstractCoroutineContextKey;->safeCast:Lkotlin/jvm/functions/Function1; .line 52 instance-of p2, p1, Lkotlin/coroutines/AbstractCoroutineContextKey; if-eqz p2, :cond_17 check-cast p1, Lkotlin/coroutines/AbstractCoroutineContextKey; iget-object p1, p1, Lkotlin/coroutines/AbstractCoroutineContextKey;->topmostKey:Lkotlin/coroutines/CoroutineContext$Key; :cond_17 iput-object p1, p0, Lkotlin/coroutines/AbstractCoroutineContextKey;->topmostKey:Lkotlin/coroutines/CoroutineContext$Key; return-void .end method # virtual methods .method public final isSubKey$kotlin_stdlib(Lkotlin/coroutines/CoroutineContext$Key;)Z .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/coroutines/CoroutineContext$Key<", "*>;)Z" } .end annotation const-string v0, "key" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 55 move-object v0, p0 check-cast v0, Lkotlin/coroutines/AbstractCoroutineContextKey; if-eq p1, p0, :cond_11 iget-object v0, p0, Lkotlin/coroutines/AbstractCoroutineContextKey;->topmostKey:Lkotlin/coroutines/CoroutineContext$Key; if-ne v0, p1, :cond_f goto :goto_11 :cond_f const/4 p1, 0x0 goto :goto_12 :cond_11 :goto_11 const/4 p1, 0x1 :goto_12 return p1 .end method .method public final tryCast$kotlin_stdlib(Lkotlin/coroutines/CoroutineContext$Element;)Lkotlin/coroutines/CoroutineContext$Element; .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/coroutines/CoroutineContext$Element;", ")TE;" } .end annotation const-string v0, "element" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 54 iget-object v0, p0, Lkotlin/coroutines/AbstractCoroutineContextKey;->safeCast:Lkotlin/jvm/functions/Function1; invoke-interface {v0, p1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Lkotlin/coroutines/CoroutineContext$Element; return-object p1 .end method