public class org.glassfish.enterprise.iiop.impl.HandleDelegateClassLoader extends java.lang.ClassLoader
{
public void <init>()
{
org.glassfish.enterprise.iiop.impl.HandleDelegateClassLoader v;
v := @this: org.glassfish.enterprise.iiop.impl.HandleDelegateClassLoader;
specialinvoke v.<java.lang.ClassLoader: void <init>()>();
return;
}
protected java.lang.Class findClass(java.lang.String) throws java.lang.ClassNotFoundException
{
java.lang.Thread v;
java.lang.Class v;
org.glassfish.enterprise.iiop.impl.HandleDelegateClassLoader v;
java.lang.ClassLoader v;
java.lang.String v;
v := @this: org.glassfish.enterprise.iiop.impl.HandleDelegateClassLoader;
v := @parameter: java.lang.String;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v = virtualinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String)>(v);
return v;
}
protected java.lang.Class loadClass(java.lang.String, boolean) throws java.lang.ClassNotFoundException
{
java.lang.Throwable v, v, v;
byte[] v, v;
java.io.ByteArrayOutputStream v;
org.glassfish.enterprise.iiop.impl.HandleDelegateClassLoader v;
java.lang.Thread v, v;
int v, v, v, v;
java.lang.String v, v;
boolean v, v;
java.lang.Exception v;
java.lang.Class v, v, v;
java.lang.ClassNotFoundException v;
java.lang.ClassLoader v, v;
java.io.InputStream v;
v := @this: org.glassfish.enterprise.iiop.impl.HandleDelegateClassLoader;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("com.sun.enterprise.iiop.IIOPHandleDelegate");
if v != 0 goto label;
v = specialinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String,boolean)>(v, v);
return v;
label:
v = virtualinvoke v.<org.glassfish.enterprise.iiop.impl.HandleDelegateClassLoader: java.lang.Class findLoadedClass(java.lang.String)>(v);
if v == null goto label;
return v;
label:
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>()>();
label:
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
if v != null goto label;
v = staticinvoke <org.glassfish.enterprise.iiop.impl.HandleDelegateClassLoader: java.lang.ClassLoader getSystemClassLoader()>();
label:
v = virtualinvoke v.<java.lang.ClassLoader: java.io.InputStream getResourceAsStream(java.lang.String)>("org/glassfish/enterprise/iiop/impl/IIOPHandleDelegate.class");
v = newarray (byte)[4096];
label:
v = lengthof v;
v = virtualinvoke v.<java.io.InputStream: int read(byte[],int,int)>(v, 0, v);
v = (int) -1;
if v == v goto label;
virtualinvoke v.<java.io.ByteArrayOutputStream: void write(byte[],int,int)>(v, 0, v);
goto label;
label:
v = virtualinvoke v.<java.io.ByteArrayOutputStream: byte[] toByteArray()>();
v = lengthof v;
v = virtualinvoke v.<org.glassfish.enterprise.iiop.impl.HandleDelegateClassLoader: java.lang.Class defineClass(java.lang.String,byte[],int,int)>("org.glassfish.enterprise.iiop.impl.IIOPHandleDelegate", v, 0, v);
label:
virtualinvoke v.<java.io.ByteArrayOutputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.ClassNotFoundException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
specialinvoke v.<java.lang.ClassNotFoundException: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.ClassNotFoundException: java.lang.Throwable initCause(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
throw v;
label:
if v == 0 goto label;
virtualinvoke v.<org.glassfish.enterprise.iiop.impl.HandleDelegateClassLoader: void resolveClass(java.lang.Class)>(v);
label:
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
}