final class org.apache.axiom.weaver.ClassFetcherImpl extends java.lang.Object implements org.apache.axiom.weaver.classio.ClassFetcher
{
private final java.lang.ClassLoader classLoader;
void <init>(java.lang.ClassLoader)
{
java.lang.ClassLoader v;
org.apache.axiom.weaver.ClassFetcherImpl v;
v := @this: org.apache.axiom.weaver.ClassFetcherImpl;
v := @parameter: java.lang.ClassLoader;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.axiom.weaver.ClassFetcherImpl: java.lang.ClassLoader classLoader> = v;
return;
}
public java.lang.Class loadClass(java.lang.String)
{
org.apache.axiom.weaver.WeaverException v;
java.lang.Class v;
java.lang.ClassNotFoundException v;
java.lang.ClassLoader v;
java.lang.String v, v;
org.apache.axiom.weaver.ClassFetcherImpl v;
v := @this: org.apache.axiom.weaver.ClassFetcherImpl;
v := @parameter: java.lang.String;
label:
v = v.<org.apache.axiom.weaver.ClassFetcherImpl: java.lang.ClassLoader classLoader>;
v = virtualinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.apache.axiom.weaver.WeaverException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to load class \u0001");
specialinvoke v.<org.apache.axiom.weaver.WeaverException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.ClassNotFoundException from label to label with label;
}
public void fetch(java.lang.String, org.objectweb.asm.ClassVisitor)
{
java.lang.Throwable v;
org.apache.axiom.weaver.WeaverException v, v;
java.io.IOException v;
org.objectweb.asm.ClassReader v;
java.lang.ClassLoader v;
java.lang.String v, v, v, v, v;
org.apache.axiom.weaver.ClassFetcherImpl v;
org.objectweb.asm.ClassVisitor v;
java.io.InputStream v;
v := @this: org.apache.axiom.weaver.ClassFetcherImpl;
v := @parameter: java.lang.String;
v := @parameter: org.objectweb.asm.ClassVisitor;
label:
v = v.<org.apache.axiom.weaver.ClassFetcherImpl: java.lang.ClassLoader classLoader>;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(46, 47);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.class");
v = virtualinvoke v.<java.lang.ClassLoader: java.io.InputStream getResourceAsStream(java.lang.String)>(v);
label:
if v != null goto label;
v = new org.apache.axiom.weaver.WeaverException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Class \u not found");
specialinvoke v.<org.apache.axiom.weaver.WeaverException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.objectweb.asm.ClassReader;
specialinvoke v.<org.objectweb.asm.ClassReader: void <init>(java.io.InputStream)>(v);
virtualinvoke v.<org.objectweb.asm.ClassReader: void accept(org.objectweb.asm.ClassVisitor,int)>(v, 0);
label:
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new org.apache.axiom.weaver.WeaverException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to load class \u0001");
specialinvoke v.<org.apache.axiom.weaver.WeaverException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
}
}