.class public final Lkotlinx/coroutines/j0; .super Ljava/lang/Object; .source "CoroutineExceptionHandlerImpl.kt" # annotations .annotation runtime Lkotlin/Metadata; bv = {} d1 = { "\u0000\u001e\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0003\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\u0008\u0003\u001a\u0018\u0010\u0005\u001a\u00020\u00042\u0006\u0010\u0001\u001a\u00020\u00002\u0006\u0010\u0003\u001a\u00020\u0002H\u0000\"\u001a\u0010\t\u001a\u0008\u0012\u0004\u0012\u00020\u00070\u00068\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008\u0005\u0010\u0008\u00a8\u0006\n" } d2 = { "Lkotlin/coroutines/CoroutineContext;", "context", "", "exception", "Lkotlin/d1;", "a", "", "Lkotlinx/coroutines/CoroutineExceptionHandler;", "Ljava/util/List;", "handlers", "kotlinx-coroutines-core" } k = 0x2 mv = { 0x1, 0x4, 0x0 } .end annotation # static fields .field public static final a:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Lkotlinx/coroutines/CoroutineExceptionHandler;", ">;" } .end annotation .end field # direct methods .method public static constructor ()V .locals 2 .line 1 const-class v0, Lkotlinx/coroutines/CoroutineExceptionHandler; .line 2 invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v1 .line 3 invoke-static {v0, v1}, Ljava/util/ServiceLoader;->load(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader; move-result-object v0 .line 4 invoke-virtual {v0}, Ljava/util/ServiceLoader;->iterator()Ljava/util/Iterator; move-result-object v0 invoke-static {v0}, Lkotlin/sequences/SequencesKt__SequencesKt;->h(Ljava/util/Iterator;)Lkotlin/sequences/m; move-result-object v0 invoke-static {v0}, Lkotlin/sequences/SequencesKt___SequencesKt;->V2(Lkotlin/sequences/m;)Ljava/util/List; move-result-object v0 sput-object v0, Lkotlinx/coroutines/j0;->a:Ljava/util/List; return-void .end method .method public static final a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V .locals 4 .param p0 # Lkotlin/coroutines/CoroutineContext; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param .param p1 # Ljava/lang/Throwable; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param .line 1 sget-object v0, Lkotlinx/coroutines/j0;->a:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lkotlinx/coroutines/CoroutineExceptionHandler; .line 2 :try_start_0 invoke-interface {v1, p0, p1}, Lkotlinx/coroutines/CoroutineExceptionHandler;->handleException(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 goto :goto_0 :catchall_0 move-exception v1 .line 3 invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object v2 .line 4 invoke-virtual {v2}, Ljava/lang/Thread;->getUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler; move-result-object v3 invoke-static {p1, v1}, Lkotlinx/coroutines/k0;->c(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable; move-result-object v1 invoke-interface {v3, v2, v1}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V goto :goto_0 .line 5 :cond_0 invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object p0 .line 6 invoke-virtual {p0}, Ljava/lang/Thread;->getUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler; move-result-object v0 invoke-interface {v0, p0, p1}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V return-void .end method