public class oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer extends java.lang.Object implements oadd.com.thoughtworks.paranamer.Paranamer
{
private static final java.util.Map primitives;
public static final java.lang.String __PARANAMER_DATA;
public void <init>()
{
oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer v;
v := @this: oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public java.lang.String[] lookupParameterNames(java.lang.reflect.AccessibleObject)
{
java.lang.String[] v;
java.lang.reflect.AccessibleObject v;
oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer v;
v := @this: oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer;
v := @parameter: java.lang.reflect.AccessibleObject;
v = virtualinvoke v.<oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer: java.lang.String[] lookupParameterNames(java.lang.reflect.AccessibleObject,boolean)>(v, 1);
return v;
}
public java.lang.String[] lookupParameterNames(java.lang.reflect.AccessibleObject, boolean)
{
java.lang.String[] v, v, v, v;
oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer$ClassReader v;
int v;
java.lang.String v;
boolean v, v;
java.lang.reflect.AccessibleObject v;
oadd.com.thoughtworks.paranamer.ParameterNamesNotFoundException v, v;
java.lang.Class[] v;
java.io.IOException v;
oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector v;
java.lang.Class v;
java.io.InputStream v;
oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer v;
v := @this: oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer;
v := @parameter: java.lang.reflect.AccessibleObject;
v := @parameter: boolean;
v = v instanceof java.lang.reflect.Method;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
goto label;
label:
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Class[] getParameterTypes()>();
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Class getDeclaringClass()>();
v = "<init>";
label:
v = lengthof v;
if v != 0 goto label;
v = <oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer: java.lang.String[] EMPTY_NAMES>;
return v;
label:
v = specialinvoke v.<oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer: java.io.InputStream getClassAsStream(java.lang.Class)>(v);
if v != null goto label;
if v == 0 goto label;
v = new oadd.com.thoughtworks.paranamer.ParameterNamesNotFoundException;
specialinvoke v.<oadd.com.thoughtworks.paranamer.ParameterNamesNotFoundException: void <init>(java.lang.String)>("Unable to get class bytes");
throw v;
label:
v = <oadd.com.thoughtworks.paranamer.Paranamer: java.lang.String[] EMPTY_NAMES>;
return v;
label:
v = new oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer$ClassReader;
specialinvoke v.<oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer$ClassReader: void <init>(java.io.InputStream)>(v);
v = new oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector;
specialinvoke v.<oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector: void <init>(java.lang.String,java.lang.Class[],boolean)>(v, v, v);
specialinvoke v.<oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer$ClassReader: void accept(oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector)>(v);
v = specialinvoke v.<oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector: java.lang.String[] getParameterNamesForMethod()>();
label:
return v;
label:
v := @caughtexception;
if v == 0 goto label;
v = new oadd.com.thoughtworks.paranamer.ParameterNamesNotFoundException;
specialinvoke v.<oadd.com.thoughtworks.paranamer.ParameterNamesNotFoundException: void <init>(java.lang.String,java.lang.Exception)>("IoException while reading class bytes", v);
throw v;
label:
v = <oadd.com.thoughtworks.paranamer.Paranamer: java.lang.String[] EMPTY_NAMES>;
return v;
catch java.io.IOException from label to label with label;
}
private java.io.InputStream getClassAsStream(java.lang.Class)
{
java.lang.Class v;
java.lang.ClassLoader v;
java.lang.String v;
java.io.InputStream v;
oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer v;
v := @this: oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
if v != null goto label;
v = staticinvoke <java.lang.ClassLoader: java.lang.ClassLoader getSystemClassLoader()>();
label:
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = specialinvoke v.<oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer: java.io.InputStream getClassAsStream(java.lang.ClassLoader,java.lang.String)>(v, v);
return v;
}
private java.io.InputStream getClassAsStream(java.lang.ClassLoader, java.lang.String)
{
java.lang.Class v;
java.lang.ClassLoader v;
java.lang.String v, v, v;
java.io.InputStream v;
oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer v;
v := @this: oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.String;
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);
if v != null goto label;
v = class "Loadd/com/thoughtworks/paranamer/BytecodeReadingParanamer;";
v = virtualinvoke v.<java.lang.Class: java.io.InputStream getResourceAsStream(java.lang.String)>(v);
label:
return v;
}
static void <clinit>()
{
oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer$1 v;
v = new oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer$1;
specialinvoke v.<oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer$1: void <init>()>();
<oadd.com.thoughtworks.paranamer.BytecodeReadingParanamer: java.util.Map primitives> = v;
return;
}
}