.class public final Lkotlinx/coroutines/ad; .super Ljava/lang/Object; .source "CoroutineExceptionHandler.kt" # direct methods .method public static final b(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable; .locals 2 const-string v0, "originalException" invoke-static {p0, v0}, Lkotlin/jvm/internal/l;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "thrownException" invoke-static {p1, v0}, Lkotlin/jvm/internal/l;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V if-ne p0, p1, :cond_0 return-object p0 :cond_0 new-instance v0, Ljava/lang/RuntimeException; const-string v1, "Exception while trying to handle coroutine exception" invoke-direct {v0, v1, p1}, Ljava/lang/RuntimeException;->(Ljava/lang/String;Ljava/lang/Throwable;)V check-cast v0, Ljava/lang/Throwable; invoke-static {v0, p0}, Lkotlin/a;->addSuppressed(Ljava/lang/Throwable;Ljava/lang/Throwable;)V return-object v0 .end method .method public static final b(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V .locals 1 const-string v0, "context" invoke-static {p0, v0}, Lkotlin/jvm/internal/l;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "exception" invoke-static {p1, v0}, Lkotlin/jvm/internal/l;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V :try_start_0 sget-object v0, Lkotlinx/coroutines/CoroutineExceptionHandler;->bjA:Lkotlinx/coroutines/CoroutineExceptionHandler$a; check-cast v0, Lkotlin/coroutines/CoroutineContext$c; invoke-interface {p0, v0}, Lkotlin/coroutines/CoroutineContext;->get(Lkotlin/coroutines/CoroutineContext$c;)Lkotlin/coroutines/CoroutineContext$b; move-result-object v0 check-cast v0, Lkotlinx/coroutines/CoroutineExceptionHandler; if-eqz v0, :cond_0 invoke-interface {v0, 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 return-void :cond_0 invoke-static {p0, p1}, Lkotlinx/coroutines/ac;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V return-void :catchall_0 move-exception v0 invoke-static {p1, v0}, Lkotlinx/coroutines/ad;->b(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable; move-result-object p1 invoke-static {p0, p1}, Lkotlinx/coroutines/ac;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V return-void .end method