class com.google.common.base.FinalizableReferenceQueue$DecoupledLoader extends java.lang.Object implements com.google.common.base.FinalizableReferenceQueue$FinalizerLoader
{
private static final java.lang.String LOADING_ERROR;
void <init>()
{
com.google.common.base.FinalizableReferenceQueue$DecoupledLoader v;
v := @this: com.google.common.base.FinalizableReferenceQueue$DecoupledLoader;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public java.lang.Class loadFinalizer()
{
java.net.URLClassLoader v;
java.net.URL v;
java.lang.Class v;
com.google.common.base.FinalizableReferenceQueue$DecoupledLoader v;
java.util.logging.Logger v;
java.lang.Exception v;
java.util.logging.Level v;
v := @this: com.google.common.base.FinalizableReferenceQueue$DecoupledLoader;
label:
v = virtualinvoke v.<com.google.common.base.FinalizableReferenceQueue$DecoupledLoader: java.net.URL getBaseUrl()>();
v = virtualinvoke v.<com.google.common.base.FinalizableReferenceQueue$DecoupledLoader: java.net.URLClassLoader newLoader(java.net.URL)>(v);
v = virtualinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String)>("com.google.common.base.internal.Finalizer");
label:
return v;
label:
v := @caughtexception;
v = <com.google.common.base.FinalizableReferenceQueue: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "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.", v);
return null;
catch java.lang.Exception from label to label with label;
}
java.net.URL getBaseUrl() throws java.io.IOException
{
java.net.URL v, v;
int v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v;
java.io.IOException v;
java.io.FileNotFoundException v;
java.lang.Class v;
com.google.common.base.FinalizableReferenceQueue$DecoupledLoader v;
java.lang.ClassLoader v;
v := @this: com.google.common.base.FinalizableReferenceQueue$DecoupledLoader;
v = "com.google.common.base.internal.Finalizer";
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(46, 47);
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String concat(java.lang.String)>(".class");
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
v = virtualinvoke v.<java.lang.ClassLoader: java.net.URL getResource(java.lang.String)>(v);
if v != null goto label;
v = new java.io.FileNotFoundException;
specialinvoke v.<java.io.FileNotFoundException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.net.URL: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(v);
if v != 0 goto label;
v = new java.io.IOException;
v = "Unsupported path style: ";
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String concat(java.lang.String)>(v);
goto label;
label:
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(java.lang.String)>("Unsupported path style: ");
label:
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = new java.net.URL;
specialinvoke v.<java.net.URL: void <init>(java.net.URL,java.lang.String)>(v, v);
return v;
}
java.net.URLClassLoader newLoader(java.net.URL)
{
java.net.URL[] v;
java.net.URLClassLoader v;
java.net.URL v;
com.google.common.base.FinalizableReferenceQueue$DecoupledLoader v;
v := @this: com.google.common.base.FinalizableReferenceQueue$DecoupledLoader;
v := @parameter: java.net.URL;
v = new java.net.URLClassLoader;
v = newarray (java.net.URL)[1];
v[0] = v;
specialinvoke v.<java.net.URLClassLoader: void <init>(java.net.URL[],java.lang.ClassLoader)>(v, null);
return v;
}
}