.class Lcom/google/common/base/FinalizableReferenceQueue$SystemLoader; .super Ljava/lang/Object; .source "FinalizableReferenceQueue.java" # interfaces .implements Lcom/google/common/base/FinalizableReferenceQueue$FinalizerLoader; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/google/common/base/FinalizableReferenceQueue; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x9 name = "SystemLoader" .end annotation # static fields .field public static disabled:Z .annotation build Lcom/google/common/annotations/VisibleForTesting; .end annotation .end field # direct methods .method public constructor ()V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method # virtual methods .method public loadFinalizer()Ljava/lang/Class; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/lang/Class<", "*>;" } .end annotation .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .line 1 sget-boolean v0, Lcom/google/common/base/FinalizableReferenceQueue$SystemLoader;->disabled:Z const/4 v1, 0x0 if-eqz v0, :cond_0 return-object v1 .line 2 :cond_0 :try_start_0 invoke-static {}, Ljava/lang/ClassLoader;->getSystemClassLoader()Ljava/lang/ClassLoader; move-result-object v0 :try_end_0 .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_0} :catch_1 if-eqz v0, :cond_1 :try_start_1 const-string v2, "com.google.common.base.internal.Finalizer" .line 3 invoke-virtual {v0, v2}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class; move-result-object v0 :try_end_1 .catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_1} :catch_0 return-object v0 :catch_0 :cond_1 return-object v1 .line 4 :catch_1 invoke-static {}, Lcom/google/common/base/FinalizableReferenceQueue;->access$000()Ljava/util/logging/Logger; move-result-object v0 const-string v2, "Not allowed to access system class loader." invoke-virtual {v0, v2}, Ljava/util/logging/Logger;->info(Ljava/lang/String;)V return-object v1 .end method