.class public final Lk0/a/w; .super Ljava/lang/Object; .source "CoroutineExceptionHandlerImpl.kt" # 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 invoke-static {}, La;->a()Ljava/util/Iterator; move-result-object v0 const-string v1, "ServiceLoader.load(\n \u2026.classLoader\n).iterator()" invoke-static {v0, v1}, Lj0/o/c/h;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-static {v0}, Lj0/f;->asSequence(Ljava/util/Iterator;)Lkotlin/sequences/Sequence; move-result-object v0 invoke-static {v0}, Lj0/f;->toList(Lkotlin/sequences/Sequence;)Ljava/util/List; move-result-object v0 sput-object v0, Lk0/a/w;->a:Ljava/util/List; return-void .end method .method public static final a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V .locals 4 sget-object v0, Lk0/a/w;->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 const-string v2, "currentThread" 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; :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 invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object v3 invoke-static {v3, v2}, Lj0/o/c/h;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {v3}, Ljava/lang/Thread;->getUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler; move-result-object v2 invoke-static {p1, v1}, Lj0/f;->K(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable; move-result-object v1 invoke-interface {v2, v3, v1}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V goto :goto_0 :cond_0 invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object p0 invoke-static {p0, v2}, Lj0/o/c/h;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V 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