.class public final Lz/a/y; .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 const-class v0, Lkotlinx/coroutines/CoroutineExceptionHandler; invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v1 invoke-static {v0, v1}, Ljava/util/ServiceLoader;->load(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader; move-result-object v0 const-string v1, "ServiceLoader.load(servi\u2026serviceClass.classLoader)" invoke-static {v0, v1}, Ly/u/b/j;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-static {v0}, Ly/q/l;->toList(Ljava/lang/Iterable;)Ljava/util/List; move-result-object v0 sput-object v0, Lz/a/y;->a:Ljava/util/List; return-void .end method .method public static final a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V .locals 4 const/4 v0, 0x0 if-eqz p0, :cond_2 if-eqz p1, :cond_1 sget-object v0, Lz/a/y;->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}, Ly/u/b/j;->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}, Ly/z/l;->a(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}, Ly/u/b/j;->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 :cond_1 const-string p0, "exception" invoke-static {p0}, Ly/u/b/j;->a(Ljava/lang/String;)V throw v0 :cond_2 const-string p0, "context" invoke-static {p0}, Ly/u/b/j;->a(Ljava/lang/String;)V throw v0 .end method