public class org.glassfish.appclient.client.jws.boot.ClassPathManager extends org.glassfish.appclient.client.jws.boot.ClassPathManager
{
private java.lang.Class jnlpClassLoaderClass;
private java.lang.reflect.Method getJarFileMethod;
protected void <init>(java.lang.ClassLoader, boolean)
{
java.lang.Throwable v;
org.glassfish.appclient.client.jws.boot.ClassPathManager v;
java.lang.ClassLoader v;
java.lang.RuntimeException v;
boolean v;
v := @this: org.glassfish.appclient.client.jws.boot.ClassPathManager;
v := @parameter: java.lang.ClassLoader;
v := @parameter: boolean;
specialinvoke v.<org.glassfish.appclient.client.jws.boot.ClassPathManager: void <init>(java.lang.ClassLoader,boolean)>(v, v);
label:
specialinvoke v.<org.glassfish.appclient.client.jws.boot.ClassPathManager16: void prepareIntrospectionInfo()>();
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void prepareIntrospectionInfo() throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException
{
java.lang.Class[] v;
java.lang.Class v, v;
org.glassfish.appclient.client.jws.boot.ClassPathManager v;
java.lang.ClassLoader v;
java.lang.reflect.Method v, v;
v := @this: org.glassfish.appclient.client.jws.boot.ClassPathManager;
v = virtualinvoke v.<org.glassfish.appclient.client.jws.boot.ClassPathManager16: java.lang.ClassLoader getJNLPClassLoader()>();
v = virtualinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String)>("com.sun.jnlp.JNLPClassLoader");
v.<org.glassfish.appclient.client.jws.boot.ClassPathManager16: java.lang.Class jnlpClassLoaderClass> = v;
v = v.<org.glassfish.appclient.client.jws.boot.ClassPathManager16: java.lang.Class jnlpClassLoaderClass>;
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/net/URL;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("getJarFile", v);
v.<org.glassfish.appclient.client.jws.boot.ClassPathManager16: java.lang.reflect.Method getJarFileMethod> = v;
v = v.<org.glassfish.appclient.client.jws.boot.ClassPathManager16: java.lang.reflect.Method getJarFileMethod>;
virtualinvoke v.<java.lang.reflect.Method: void setAccessible(boolean)>(1);
return;
}
public java.lang.ClassLoader getParentClassLoader()
{
org.glassfish.appclient.client.jws.boot.ClassPathManager v;
java.lang.ClassLoader v, v;
boolean v;
v := @this: org.glassfish.appclient.client.jws.boot.ClassPathManager;
v = virtualinvoke v.<org.glassfish.appclient.client.jws.boot.ClassPathManager16: boolean keepJWSClassLoader()>();
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.appclient.client.jws.boot.ClassPathManager16: java.lang.ClassLoader getJnlpClassLoader()>();
goto label;
label:
v = virtualinvoke v.<org.glassfish.appclient.client.jws.boot.ClassPathManager16: java.lang.ClassLoader getJNLPClassLoader()>();
v = virtualinvoke v.<java.lang.ClassLoader: java.lang.ClassLoader getParent()>();
label:
return v;
}
public java.io.File findContainingJar(java.net.URL) throws java.lang.IllegalArgumentException, java.net.URISyntaxException, java.net.MalformedURLException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
{
java.lang.Object[] v;
java.net.URL v, v, v;
org.glassfish.appclient.client.jws.boot.ClassPathManager v;
int v;
java.lang.String v, v, v, v;
java.net.URI v, v;
java.lang.reflect.Method v;
java.lang.IllegalArgumentException v;
java.io.File v, v;
java.lang.Object v;
java.lang.ClassLoader v;
v := @this: org.glassfish.appclient.client.jws.boot.ClassPathManager;
v := @parameter: java.net.URL;
v = null;
if v == null goto label;
v = virtualinvoke v.<java.net.URL: java.net.URI toURI()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getSchemeSpecificPart()>();
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(33);
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.lang.String)>(v);
v = virtualinvoke v.<java.net.URL: java.net.URI toURI()>();
v = virtualinvoke v.<java.net.URI: java.net.URL toURL()>();
v = v.<org.glassfish.appclient.client.jws.boot.ClassPathManager16: java.lang.reflect.Method getJarFileMethod>;
v = virtualinvoke v.<org.glassfish.appclient.client.jws.boot.ClassPathManager16: java.lang.ClassLoader getJNLPClassLoader()>();
v = newarray (java.lang.Object)[1];
v[0] = v;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
if v != null goto label;
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<java.net.URL: java.lang.String toExternalForm()>();
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new java.io.File;
v = virtualinvoke v.<java.util.jar.JarFile: java.lang.String getName()>();
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = v;
label:
return v;
}
}