.class final Lcom/google/common/io/Closer$SuppressingSuppressor; .super Ljava/lang/Object; .source "Closer.java" # interfaces .implements Lcom/google/common/io/Closer$Suppressor; # annotations .annotation build Lcom/google/common/annotations/VisibleForTesting; .end annotation .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/google/common/io/Closer; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x19 name = "SuppressingSuppressor" .end annotation # instance fields .field private final addSuppressed:Ljava/lang/reflect/Method; # direct methods .method private constructor (Ljava/lang/reflect/Method;)V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V .line 2 iput-object p1, p0, Lcom/google/common/io/Closer$SuppressingSuppressor;->addSuppressed:Ljava/lang/reflect/Method; return-void .end method .method public static tryCreate()Lcom/google/common/io/Closer$SuppressingSuppressor; .locals 5 .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .line 1 :try_start_0 const-class v0, Ljava/lang/Throwable; const-string v1, "addSuppressed" const/4 v2, 0x1 new-array v2, v2, [Ljava/lang/Class; const/4 v3, 0x0 const-class v4, Ljava/lang/Throwable; aput-object v4, v2, v3 invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 2 new-instance v1, Lcom/google/common/io/Closer$SuppressingSuppressor; invoke-direct {v1, v0}, Lcom/google/common/io/Closer$SuppressingSuppressor;->(Ljava/lang/reflect/Method;)V return-object v1 :catchall_0 const/4 v0, 0x0 return-object v0 .end method # virtual methods .method public suppress(Ljava/io/Closeable;Ljava/lang/Throwable;Ljava/lang/Throwable;)V .locals 3 if-ne p2, p3, :cond_0 return-void .line 1 :cond_0 :try_start_0 iget-object v0, p0, Lcom/google/common/io/Closer$SuppressingSuppressor;->addSuppressed:Ljava/lang/reflect/Method; const/4 v1, 0x1 new-array v1, v1, [Ljava/lang/Object; const/4 v2, 0x0 aput-object p3, v1, v2 invoke-virtual {v0, p2, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 goto :goto_0 .line 2 :catchall_0 sget-object v0, Lcom/google/common/io/Closer$LoggingSuppressor;->INSTANCE:Lcom/google/common/io/Closer$LoggingSuppressor; invoke-virtual {v0, p1, p2, p3}, Lcom/google/common/io/Closer$LoggingSuppressor;->suppress(Ljava/io/Closeable;Ljava/lang/Throwable;Ljava/lang/Throwable;)V :goto_0 return-void .end method