class com.google.common.base.FinalizableReferenceQueue$DecoupledLoader implements com.google.common.base.FinalizableReferenceQueue$FinalizerLoader
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.google.common.base.FinalizableReferenceQueue$DecoupledLoader
super_class: java.lang.Object
{
private static final java.lang.String LOADING_ERROR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Could not load Finalizer in its own class loader. Loading Finalizer in the current class loader instead. As a result, you will not be able to garbage collect this class loader. To support reclaiming this class loader, either resolve the underlying issue, or move Guava to your system class path."
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/base/FinalizableReferenceQueue$DecoupledLoader;
public java.lang.Class<?> loadFinalizer();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual com.google.common.base.FinalizableReferenceQueue$DecoupledLoader.getBaseUrl:()Ljava/net/URL;
invokevirtual com.google.common.base.FinalizableReferenceQueue$DecoupledLoader.newLoader:(Ljava/net/URL;)Ljava/net/URLClassLoader;
astore 1
start local 1 1: aload 1
ldc "com.google.common.base.internal.Finalizer"
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
2: areturn
end local 1 3: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 4: getstatic com.google.common.base.FinalizableReferenceQueue.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
ldc "Could not load Finalizer in its own class loader. Loading Finalizer in the current class loader instead. As a result, you will not be able to garbage collect this class loader. To support reclaiming this class loader, either resolve the underlying issue, or move Guava to your system class path."
aload 1
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/base/FinalizableReferenceQueue$DecoupledLoader;
1 3 1 finalizerLoader Ljava/lang/ClassLoader;
4 6 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 2 3 Class java.lang.Exception
Signature: ()Ljava/lang/Class<*>;
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
java.net.URL getBaseUrl();
descriptor: ()Ljava/net/URL;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "com.google.common.base.internal.Finalizer"
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
aload 1
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: new java.io.FileNotFoundException
dup
aload 1
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.lang.String java.net.URL
StackMap stack:
aload 2
invokevirtual java.net.URL.toString:()Ljava/lang/String;
astore 3
start local 3 5: aload 3
aload 1
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 7
6: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported path style: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.String
StackMap stack:
aload 3
iconst_0
aload 3
invokevirtual java.lang.String.length:()I
aload 1
invokevirtual java.lang.String.length:()I
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
8: new java.net.URL
dup
aload 2
aload 3
invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/google/common/base/FinalizableReferenceQueue$DecoupledLoader;
1 9 1 finalizerPath Ljava/lang/String;
2 9 2 finalizerUrl Ljava/net/URL;
5 9 3 urlString Ljava/lang/String;
Exceptions:
throws java.io.IOException
java.net.URLClassLoader newLoader(java.net.URL);
descriptor: (Ljava/net/URL;)Ljava/net/URLClassLoader;
flags: (0x0000)
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new java.net.URLClassLoader
dup
iconst_1
anewarray java.net.URL
dup
iconst_0
aload 1
aastore
aconst_null
invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;Ljava/lang/ClassLoader;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/base/FinalizableReferenceQueue$DecoupledLoader;
0 1 1 base Ljava/net/URL;
MethodParameters:
Name Flags
base
}
SourceFile: "FinalizableReferenceQueue.java"
NestHost: com.google.common.base.FinalizableReferenceQueue
InnerClasses:
DecoupledLoader = com.google.common.base.FinalizableReferenceQueue$DecoupledLoader of com.google.common.base.FinalizableReferenceQueue
abstract FinalizerLoader = com.google.common.base.FinalizableReferenceQueue$FinalizerLoader of com.google.common.base.FinalizableReferenceQueue