public class net.sf.cglib.core.EmitUtils extends java.lang.Object
{
private static final net.sf.cglib.core.Signature CSTRUCT_NULL;
private static final net.sf.cglib.core.Signature CSTRUCT_THROWABLE;
private static final net.sf.cglib.core.Signature GET_NAME;
private static final net.sf.cglib.core.Signature HASH_CODE;
private static final net.sf.cglib.core.Signature EQUALS;
private static final net.sf.cglib.core.Signature STRING_LENGTH;
private static final net.sf.cglib.core.Signature STRING_CHAR_AT;
private static final net.sf.cglib.core.Signature FOR_NAME;
private static final net.sf.cglib.core.Signature DOUBLE_TO_LONG_BITS;
private static final net.sf.cglib.core.Signature FLOAT_TO_INT_BITS;
private static final net.sf.cglib.core.Signature TO_STRING;
private static final net.sf.cglib.core.Signature APPEND_STRING;
private static final net.sf.cglib.core.Signature APPEND_INT;
private static final net.sf.cglib.core.Signature APPEND_DOUBLE;
private static final net.sf.cglib.core.Signature APPEND_FLOAT;
private static final net.sf.cglib.core.Signature APPEND_CHAR;
private static final net.sf.cglib.core.Signature APPEND_LONG;
private static final net.sf.cglib.core.Signature APPEND_BOOLEAN;
private static final net.sf.cglib.core.Signature LENGTH;
private static final net.sf.cglib.core.Signature SET_LENGTH;
private static final net.sf.cglib.core.Signature GET_DECLARED_METHOD;
public static final net.sf.cglib.core.EmitUtils$ArrayDelimiters DEFAULT_DELIMITERS;
private void <init>()
{
net.sf.cglib.core.EmitUtils v;
v := @this: net.sf.cglib.core.EmitUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static void factory_method(net.sf.cglib.core.ClassEmitter, net.sf.cglib.core.Signature)
{
net.sf.cglib.core.ClassEmitter v;
net.sf.cglib.core.Signature v, v;
net.sf.cglib.asm.$Type[] v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.ClassEmitter;
v := @parameter: net.sf.cglib.core.Signature;
v = virtualinvoke v.<net.sf.cglib.core.ClassEmitter: net.sf.cglib.core.CodeEmitter begin_method(int,net.sf.cglib.core.Signature,net.sf.cglib.asm.$Type[])>(1, v, null);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void new_instance_this()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_args()>();
v = virtualinvoke v.<net.sf.cglib.core.Signature: net.sf.cglib.asm.$Type[] getArgumentTypes()>();
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseConstructor(net.sf.cglib.asm.$Type[])>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_constructor_this(net.sf.cglib.core.Signature)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void return_value()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void end_method()>();
return;
}
public static void null_constructor(net.sf.cglib.core.ClassEmitter)
{
net.sf.cglib.core.ClassEmitter v;
net.sf.cglib.core.Signature v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.ClassEmitter;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature CSTRUCT_NULL>;
v = virtualinvoke v.<net.sf.cglib.core.ClassEmitter: net.sf.cglib.core.CodeEmitter begin_method(int,net.sf.cglib.core.Signature,net.sf.cglib.asm.$Type[])>(1, v, null);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_this()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void super_invoke_constructor()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void return_value()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void end_method()>();
return;
}
public static void process_array(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type, net.sf.cglib.core.ProcessArrayCallback)
{
net.sf.cglib.asm.$Label v, v;
net.sf.cglib.core.ProcessArrayCallback v;
net.sf.cglib.asm.$Type v, v, v;
net.sf.cglib.core.Local v, v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: net.sf.cglib.core.ProcessArrayCallback;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.asm.$Type getComponentType(net.sf.cglib.asm.$Type)>(v);
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.core.Local make_local()>();
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type INT_TYPE>;
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.core.Local make_local(net.sf.cglib.asm.$Type)>(v);
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void store_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(int)>(0);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void store_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void goTo(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void array_load(net.sf.cglib.asm.$Type)>(v);
interfaceinvoke v.<net.sf.cglib.core.ProcessArrayCallback: void processElement(net.sf.cglib.asm.$Type)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void iinc(net.sf.cglib.core.Local,int)>(v, 1);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void arraylength()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void if_icmp(int,net.sf.cglib.asm.$Label)>(155, v);
return;
}
public static void process_arrays(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type, net.sf.cglib.core.ProcessArrayCallback)
{
net.sf.cglib.asm.$Label v, v;
net.sf.cglib.core.ProcessArrayCallback v;
net.sf.cglib.asm.$Type v, v, v;
net.sf.cglib.core.Local v, v, v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: net.sf.cglib.core.ProcessArrayCallback;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.asm.$Type getComponentType(net.sf.cglib.asm.$Type)>(v);
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.core.Local make_local()>();
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.core.Local make_local()>();
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type INT_TYPE>;
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.core.Local make_local(net.sf.cglib.asm.$Type)>(v);
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void store_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void store_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(int)>(0);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void store_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void goTo(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void array_load(net.sf.cglib.asm.$Type)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void array_load(net.sf.cglib.asm.$Type)>(v);
interfaceinvoke v.<net.sf.cglib.core.ProcessArrayCallback: void processElement(net.sf.cglib.asm.$Type)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void iinc(net.sf.cglib.core.Local,int)>(v, 1);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_local(net.sf.cglib.core.Local)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void arraylength()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void if_icmp(int,net.sf.cglib.asm.$Label)>(155, v);
return;
}
public static void string_switch(net.sf.cglib.core.CodeEmitter, java.lang.String[], int, net.sf.cglib.core.ObjectSwitchCallback)
{
java.lang.Error v;
java.lang.String[] v;
java.lang.RuntimeException v;
java.lang.IllegalArgumentException v;
java.lang.Exception v;
int v;
net.sf.cglib.core.CodeGenerationException v;
java.lang.String v;
net.sf.cglib.core.ObjectSwitchCallback v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: java.lang.String[];
v := @parameter: int;
v := @parameter: net.sf.cglib.core.ObjectSwitchCallback;
label:
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
staticinvoke <net.sf.cglib.core.EmitUtils: void string_switch_trie(net.sf.cglib.core.CodeEmitter,java.lang.String[],net.sf.cglib.core.ObjectSwitchCallback)>(v, v, v);
goto label;
label:
staticinvoke <net.sf.cglib.core.EmitUtils: void string_switch_hash(net.sf.cglib.core.CodeEmitter,java.lang.String[],net.sf.cglib.core.ObjectSwitchCallback,boolean)>(v, v, v, 0);
goto label;
label:
staticinvoke <net.sf.cglib.core.EmitUtils: void string_switch_hash(net.sf.cglib.core.CodeEmitter,java.lang.String[],net.sf.cglib.core.ObjectSwitchCallback,boolean)>(v, v, v, 1);
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("unknown switch style \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new net.sf.cglib.core.CodeGenerationException;
specialinvoke v.<net.sf.cglib.core.CodeGenerationException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.lang.RuntimeException from label to label with label;
catch java.lang.Error from label to label with label;
catch java.lang.Exception from label to label with label;
}
private static void string_switch_trie(net.sf.cglib.core.CodeEmitter, java.lang.String[], net.sf.cglib.core.ObjectSwitchCallback) throws java.lang.Exception
{
net.sf.cglib.asm.$Label v, v;
java.lang.String[] v;
net.sf.cglib.asm.$Type v;
java.util.List v;
net.sf.cglib.core.EmitUtils$2 v;
net.sf.cglib.core.EmitUtils$1 v;
int[] v;
net.sf.cglib.core.Signature v;
java.util.Map v;
net.sf.cglib.core.ObjectSwitchCallback v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: java.lang.String[];
v := @parameter: net.sf.cglib.core.ObjectSwitchCallback;
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = new net.sf.cglib.core.EmitUtils$1;
specialinvoke v.<net.sf.cglib.core.EmitUtils$1: void <init>()>();
v = staticinvoke <net.sf.cglib.core.CollectionUtils: java.util.Map bucket(java.util.Collection,net.sf.cglib.core.Transformer)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature STRING_LENGTH>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
v = staticinvoke <net.sf.cglib.core.EmitUtils: int[] getSwitchKeys(java.util.Map)>(v);
v = new net.sf.cglib.core.EmitUtils$2;
specialinvoke v.<net.sf.cglib.core.EmitUtils$2: void <init>(java.util.Map,net.sf.cglib.core.CodeEmitter,net.sf.cglib.core.ObjectSwitchCallback,net.sf.cglib.asm.$Label,net.sf.cglib.asm.$Label)>(v, v, v, v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void process_switch(int[],net.sf.cglib.core.ProcessSwitchCallback)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void pop()>();
interfaceinvoke v.<net.sf.cglib.core.ObjectSwitchCallback: void processDefault()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
return;
}
private static void stringSwitchHelper(net.sf.cglib.core.CodeEmitter, java.util.List, net.sf.cglib.core.ObjectSwitchCallback, net.sf.cglib.asm.$Label, net.sf.cglib.asm.$Label, int) throws java.lang.Exception
{
net.sf.cglib.asm.$Label v, v;
net.sf.cglib.asm.$Type v;
net.sf.cglib.core.EmitUtils$4 v;
java.util.List v;
net.sf.cglib.core.EmitUtils$3 v;
int[] v;
net.sf.cglib.core.Signature v;
java.util.Map v;
int v, v;
java.lang.Object v;
net.sf.cglib.core.ObjectSwitchCallback v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: java.util.List;
v := @parameter: net.sf.cglib.core.ObjectSwitchCallback;
v := @parameter: net.sf.cglib.asm.$Label;
v := @parameter: net.sf.cglib.asm.$Label;
v := @parameter: int;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<java.lang.String: int length()>();
v = new net.sf.cglib.core.EmitUtils$3;
specialinvoke v.<net.sf.cglib.core.EmitUtils$3: void <init>(int)>(v);
v = staticinvoke <net.sf.cglib.core.CollectionUtils: java.util.Map bucket(java.util.Collection,net.sf.cglib.core.Transformer)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(int)>(v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature STRING_CHAR_AT>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
v = staticinvoke <net.sf.cglib.core.EmitUtils: int[] getSwitchKeys(java.util.Map)>(v);
v = new net.sf.cglib.core.EmitUtils$4;
specialinvoke v.<net.sf.cglib.core.EmitUtils$4: void <init>(java.util.Map,int,int,net.sf.cglib.core.CodeEmitter,net.sf.cglib.core.ObjectSwitchCallback,net.sf.cglib.asm.$Label,net.sf.cglib.asm.$Label)>(v, v, v, v, v, v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void process_switch(int[],net.sf.cglib.core.ProcessSwitchCallback)>(v, v);
return;
}
static int[] getSwitchKeys(java.util.Map)
{
java.util.Iterator v;
java.util.Set v;
int[] v;
java.util.Map v;
int v, v, v, v;
java.lang.Object v;
boolean v;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<java.util.Map: int size()>();
v = newarray (int)[v];
v = 0;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = v;
v = v + 1;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v[v] = v;
goto label;
label:
staticinvoke <java.util.Arrays: void sort(int[])>(v);
return v;
}
private static void string_switch_hash(net.sf.cglib.core.CodeEmitter, java.lang.String[], net.sf.cglib.core.ObjectSwitchCallback, boolean) throws java.lang.Exception
{
net.sf.cglib.asm.$Label v, v;
java.lang.String[] v;
net.sf.cglib.core.EmitUtils$5 v;
net.sf.cglib.asm.$Type v;
java.util.List v;
int[] v;
net.sf.cglib.core.Signature v;
java.util.Map v;
net.sf.cglib.core.ObjectSwitchCallback v;
boolean v;
net.sf.cglib.core.CodeEmitter v;
net.sf.cglib.core.EmitUtils$6 v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: java.lang.String[];
v := @parameter: net.sf.cglib.core.ObjectSwitchCallback;
v := @parameter: boolean;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = new net.sf.cglib.core.EmitUtils$5;
specialinvoke v.<net.sf.cglib.core.EmitUtils$5: void <init>()>();
v = staticinvoke <net.sf.cglib.core.CollectionUtils: java.util.Map bucket(java.util.Collection,net.sf.cglib.core.Transformer)>(v, v);
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_OBJECT>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature HASH_CODE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
v = staticinvoke <net.sf.cglib.core.EmitUtils: int[] getSwitchKeys(java.util.Map)>(v);
v = new net.sf.cglib.core.EmitUtils$6;
specialinvoke v.<net.sf.cglib.core.EmitUtils$6: void <init>(java.util.Map,boolean,net.sf.cglib.core.CodeEmitter,net.sf.cglib.core.ObjectSwitchCallback,net.sf.cglib.asm.$Label,net.sf.cglib.asm.$Label)>(v, v, v, v, v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void process_switch(int[],net.sf.cglib.core.ProcessSwitchCallback)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
interfaceinvoke v.<net.sf.cglib.core.ObjectSwitchCallback: void processDefault()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
return;
}
public static void load_class_this(net.sf.cglib.core.CodeEmitter)
{
net.sf.cglib.asm.$Type v;
net.sf.cglib.core.ClassEmitter v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.core.ClassEmitter getClassEmitter()>();
v = virtualinvoke v.<net.sf.cglib.core.ClassEmitter: net.sf.cglib.asm.$Type getClassType()>();
staticinvoke <net.sf.cglib.core.EmitUtils: void load_class_helper(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type)>(v, v);
return;
}
public static void load_class(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type)
{
net.sf.cglib.asm.$Type v, v, v, v;
java.lang.IllegalArgumentException v;
boolean v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v = staticinvoke <net.sf.cglib.core.TypeUtils: boolean isPrimitive(net.sf.cglib.asm.$Type)>(v);
if v == 0 goto label;
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type VOID_TYPE>;
if v != v goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("cannot load void type");
throw v;
label:
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.asm.$Type getBoxedType(net.sf.cglib.asm.$Type)>(v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_CLASS>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void getstatic(net.sf.cglib.asm.$Type,java.lang.String,net.sf.cglib.asm.$Type)>(v, "TYPE", v);
goto label;
label:
staticinvoke <net.sf.cglib.core.EmitUtils: void load_class_helper(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type)>(v, v);
label:
return;
}
private static void load_class_helper(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type)
{
net.sf.cglib.core.ClassEmitter v;
net.sf.cglib.core.Signature v, v;
java.lang.String v, v, v, v;
boolean v, v;
net.sf.cglib.asm.$Type v, v, v, v, v, v;
net.sf.cglib.core.CodeEmitter v, v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: boolean isStaticHook()>();
if v == 0 goto label;
v = staticinvoke <net.sf.cglib.core.TypeUtils: java.lang.String emulateClassGetName(net.sf.cglib.asm.$Type)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(java.lang.String)>(v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_CLASS>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature FOR_NAME>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_static(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
goto label;
label:
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.core.ClassEmitter getClassEmitter()>();
v = staticinvoke <net.sf.cglib.core.TypeUtils: java.lang.String emulateClassGetName(net.sf.cglib.asm.$Type)>(v);
v = staticinvoke <net.sf.cglib.core.TypeUtils: java.lang.String escapeType(java.lang.String)>(v);
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[])>("CGLIB$load_class$\u0001");
v = virtualinvoke v.<net.sf.cglib.core.ClassEmitter: boolean isFieldDeclared(java.lang.String)>(v);
if v != 0 goto label;
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_CLASS>;
virtualinvoke v.<net.sf.cglib.core.ClassEmitter: void declare_field(int,java.lang.String,net.sf.cglib.asm.$Type,java.lang.Object)>(26, v, v, null);
v = virtualinvoke v.<net.sf.cglib.core.ClassEmitter: net.sf.cglib.core.CodeEmitter getStaticHook()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(java.lang.String)>(v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_CLASS>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature FOR_NAME>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_static(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
v = virtualinvoke v.<net.sf.cglib.core.ClassEmitter: net.sf.cglib.asm.$Type getClassType()>();
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_CLASS>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void putstatic(net.sf.cglib.asm.$Type,java.lang.String,net.sf.cglib.asm.$Type)>(v, v, v);
label:
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void getfield(java.lang.String)>(v);
label:
return;
}
public static void push_array(net.sf.cglib.core.CodeEmitter, java.lang.Object[])
{
java.lang.Object[] v;
net.sf.cglib.asm.$Type v;
int v, v, v;
java.lang.Class v, v, v;
java.lang.Object v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: java.lang.Object[];
v = lengthof v;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(int)>(v);
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Class getComponentType()>();
v = staticinvoke <net.sf.cglib.core.EmitUtils: java.lang.Class remapComponentType(java.lang.Class)>(v);
v = staticinvoke <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type getType(java.lang.Class)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void 'newarray'(net.sf.cglib.asm.$Type)>(v);
v = 0;
label:
v = lengthof v;
if v >= v goto label;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(int)>(v);
v = v[v];
staticinvoke <net.sf.cglib.core.EmitUtils: void push_object(net.sf.cglib.core.CodeEmitter,java.lang.Object)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void aastore()>();
v = v + 1;
goto label;
label:
return;
}
private static java.lang.Class remapComponentType(java.lang.Class)
{
java.lang.Class v;
boolean v;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(class "Lnet/sf/cglib/asm/$Type;");
if v == 0 goto label;
return class "Ljava/lang/Class;";
label:
return v;
}
public static void push_object(net.sf.cglib.core.CodeEmitter, java.lang.Object)
{
java.lang.String v, v, v;
boolean v, v, v, v, v, v;
java.lang.IllegalArgumentException v;
net.sf.cglib.asm.$Type v, v, v, v, v;
java.lang.Class v, v;
java.lang.Object v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: java.lang.Object;
if v != null goto label;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void aconst_null()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v == 0 goto label;
staticinvoke <net.sf.cglib.core.EmitUtils: void push_array(net.sf.cglib.core.CodeEmitter,java.lang.Object[])>(v, v);
goto label;
label:
v = v instanceof java.lang.String;
if v == 0 goto label;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(java.lang.String)>(v);
goto label;
label:
v = v instanceof net.sf.cglib.asm.$Type;
if v == 0 goto label;
staticinvoke <net.sf.cglib.core.EmitUtils: void load_class(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type)>(v, v);
goto label;
label:
v = v instanceof java.lang.Class;
if v == 0 goto label;
v = staticinvoke <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type getType(java.lang.Class)>(v);
staticinvoke <net.sf.cglib.core.EmitUtils: void load_class(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type)>(v, v);
goto label;
label:
v = v instanceof java.math.BigInteger;
if v == 0 goto label;
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_BIG_INTEGER>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void new_instance(net.sf.cglib.asm.$Type)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(java.lang.String)>(v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_BIG_INTEGER>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_constructor(net.sf.cglib.asm.$Type)>(v);
goto label;
label:
v = v instanceof java.math.BigDecimal;
if v == 0 goto label;
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_BIG_DECIMAL>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void new_instance(net.sf.cglib.asm.$Type)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(java.lang.String)>(v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_BIG_DECIMAL>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_constructor(net.sf.cglib.asm.$Type)>(v);
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Class)>(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[])>("unknown type: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public static void hash_code(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type, int, net.sf.cglib.core.Customizer)
{
net.sf.cglib.asm.$Type v;
net.sf.cglib.core.internal.CustomizerRegistry v;
int v;
net.sf.cglib.core.Customizer v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: int;
v := @parameter: net.sf.cglib.core.Customizer;
v = staticinvoke <net.sf.cglib.core.internal.CustomizerRegistry: net.sf.cglib.core.internal.CustomizerRegistry singleton(net.sf.cglib.core.Customizer)>(v);
staticinvoke <net.sf.cglib.core.EmitUtils: void hash_code(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type,int,net.sf.cglib.core.internal.CustomizerRegistry)>(v, v, v, v);
return;
}
public static void hash_code(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type, int, net.sf.cglib.core.internal.CustomizerRegistry)
{
net.sf.cglib.core.internal.CustomizerRegistry v;
net.sf.cglib.asm.$Type v, v, v, v, v;
int v;
boolean v, v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: int;
v := @parameter: net.sf.cglib.core.internal.CustomizerRegistry;
v = staticinvoke <net.sf.cglib.core.TypeUtils: boolean isArray(net.sf.cglib.asm.$Type)>(v);
if v == 0 goto label;
staticinvoke <net.sf.cglib.core.EmitUtils: void hash_array(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type,int,net.sf.cglib.core.internal.CustomizerRegistry)>(v, v, v, v);
goto label;
label:
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type INT_TYPE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void swap(net.sf.cglib.asm.$Type,net.sf.cglib.asm.$Type)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(int)>(v);
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type INT_TYPE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void math(int,net.sf.cglib.asm.$Type)>(104, v);
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type INT_TYPE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void swap(net.sf.cglib.asm.$Type,net.sf.cglib.asm.$Type)>(v, v);
v = staticinvoke <net.sf.cglib.core.TypeUtils: boolean isPrimitive(net.sf.cglib.asm.$Type)>(v);
if v == 0 goto label;
staticinvoke <net.sf.cglib.core.EmitUtils: void hash_primitive(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type)>(v, v);
goto label;
label:
staticinvoke <net.sf.cglib.core.EmitUtils: void hash_object(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type,net.sf.cglib.core.internal.CustomizerRegistry)>(v, v, v);
label:
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type INT_TYPE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void math(int,net.sf.cglib.asm.$Type)>(96, v);
label:
return;
}
private static void hash_array(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type, int, net.sf.cglib.core.internal.CustomizerRegistry)
{
net.sf.cglib.asm.$Label v, v;
net.sf.cglib.asm.$Type v;
net.sf.cglib.core.internal.CustomizerRegistry v;
int v;
net.sf.cglib.core.EmitUtils$7 v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: int;
v := @parameter: net.sf.cglib.core.internal.CustomizerRegistry;
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void ifnull(net.sf.cglib.asm.$Label)>(v);
v = new net.sf.cglib.core.EmitUtils$7;
specialinvoke v.<net.sf.cglib.core.EmitUtils$7: void <init>(net.sf.cglib.core.CodeEmitter,int,net.sf.cglib.core.internal.CustomizerRegistry)>(v, v, v);
staticinvoke <net.sf.cglib.core.EmitUtils: void process_array(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type,net.sf.cglib.core.ProcessArrayCallback)>(v, v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void goTo(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void pop()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
return;
}
private static void hash_object(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type, net.sf.cglib.core.internal.CustomizerRegistry)
{
net.sf.cglib.asm.$Label v, v;
net.sf.cglib.core.Signature v;
boolean v, v, v, v;
net.sf.cglib.core.internal.CustomizerRegistry v;
java.util.Iterator v, v;
net.sf.cglib.asm.$Type v, v;
java.util.List v, v;
java.lang.Object v, v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: net.sf.cglib.core.internal.CustomizerRegistry;
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void ifnull(net.sf.cglib.asm.$Label)>(v);
v = 0;
v = virtualinvoke v.<net.sf.cglib.core.internal.CustomizerRegistry: java.util.List get(java.lang.Class)>(class "Lnet/sf/cglib/core/HashCodeCustomizer;");
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<net.sf.cglib.core.HashCodeCustomizer: boolean customize(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type)>(v, v);
if v == 0 goto label;
v = 1;
label:
if v != 0 goto label;
v = virtualinvoke v.<net.sf.cglib.core.internal.CustomizerRegistry: java.util.List get(java.lang.Class)>(class "Lnet/sf/cglib/core/Customizer;");
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<net.sf.cglib.core.Customizer: void customize(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type)>(v, v);
goto label;
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_OBJECT>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature HASH_CODE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
label:
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void goTo(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void pop()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(int)>(0);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
return;
}
private static void hash_primitive(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type)
{
net.sf.cglib.asm.$Type v, v, v, v;
net.sf.cglib.core.Signature v, v;
int v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v = virtualinvoke v.<net.sf.cglib.asm.$Type: int getSort()>();
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
default: goto label;
};
label:
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(int)>(1);
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type INT_TYPE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void math(int,net.sf.cglib.asm.$Type)>(130, v);
goto label;
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_FLOAT>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature FLOAT_TO_INT_BITS>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_static(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
goto label;
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_DOUBLE>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature DOUBLE_TO_LONG_BITS>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_static(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
label:
staticinvoke <net.sf.cglib.core.EmitUtils: void hash_long(net.sf.cglib.core.CodeEmitter)>(v);
label:
return;
}
private static void hash_long(net.sf.cglib.core.CodeEmitter)
{
net.sf.cglib.asm.$Type v, v, v, v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup2()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(int)>(32);
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type LONG_TYPE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void math(int,net.sf.cglib.asm.$Type)>(124, v);
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type LONG_TYPE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void math(int,net.sf.cglib.asm.$Type)>(130, v);
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type LONG_TYPE>;
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type INT_TYPE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void cast_numeric(net.sf.cglib.asm.$Type,net.sf.cglib.asm.$Type)>(v, v);
return;
}
public static void not_equals(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type, net.sf.cglib.asm.$Label, net.sf.cglib.core.Customizer)
{
net.sf.cglib.asm.$Label v;
net.sf.cglib.asm.$Type v;
net.sf.cglib.core.internal.CustomizerRegistry v;
net.sf.cglib.core.Customizer v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: net.sf.cglib.asm.$Label;
v := @parameter: net.sf.cglib.core.Customizer;
v = staticinvoke <net.sf.cglib.core.internal.CustomizerRegistry: net.sf.cglib.core.internal.CustomizerRegistry singleton(net.sf.cglib.core.Customizer)>(v);
staticinvoke <net.sf.cglib.core.EmitUtils: void not_equals(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type,net.sf.cglib.asm.$Label,net.sf.cglib.core.internal.CustomizerRegistry)>(v, v, v, v);
return;
}
public static void not_equals(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type, net.sf.cglib.asm.$Label, net.sf.cglib.core.internal.CustomizerRegistry)
{
net.sf.cglib.asm.$Label v;
net.sf.cglib.asm.$Type v;
net.sf.cglib.core.internal.CustomizerRegistry v;
net.sf.cglib.core.EmitUtils$8 v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: net.sf.cglib.asm.$Label;
v := @parameter: net.sf.cglib.core.internal.CustomizerRegistry;
v = new net.sf.cglib.core.EmitUtils$8;
specialinvoke v.<net.sf.cglib.core.EmitUtils$8: void <init>(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Label,net.sf.cglib.core.internal.CustomizerRegistry)>(v, v, v);
virtualinvoke v.<net.sf.cglib.core.EmitUtils$8: void processElement(net.sf.cglib.asm.$Type)>(v);
return;
}
private static void not_equals_helper(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type, net.sf.cglib.asm.$Label, net.sf.cglib.core.internal.CustomizerRegistry, net.sf.cglib.core.ProcessArrayCallback)
{
net.sf.cglib.asm.$Label v, v, v;
net.sf.cglib.core.Signature v;
boolean v, v, v, v, v;
net.sf.cglib.core.ProcessArrayCallback v;
net.sf.cglib.core.internal.CustomizerRegistry v;
java.util.Iterator v, v;
net.sf.cglib.asm.$Type v, v;
java.util.List v;
java.lang.Object v, v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: net.sf.cglib.asm.$Label;
v := @parameter: net.sf.cglib.core.internal.CustomizerRegistry;
v := @parameter: net.sf.cglib.core.ProcessArrayCallback;
v = staticinvoke <net.sf.cglib.core.TypeUtils: boolean isPrimitive(net.sf.cglib.asm.$Type)>(v);
if v == 0 goto label;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void if_cmp(net.sf.cglib.asm.$Type,int,net.sf.cglib.asm.$Label)>(v, 154, v);
goto label;
label:
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
staticinvoke <net.sf.cglib.core.EmitUtils: void nullcmp(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Label,net.sf.cglib.asm.$Label)>(v, v, v);
v = staticinvoke <net.sf.cglib.core.TypeUtils: boolean isArray(net.sf.cglib.asm.$Type)>(v);
if v == 0 goto label;
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup2()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void arraylength()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void swap()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void arraylength()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void if_icmp(int,net.sf.cglib.asm.$Label)>(153, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void pop2()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void goTo(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
staticinvoke <net.sf.cglib.core.EmitUtils: void process_arrays(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type,net.sf.cglib.core.ProcessArrayCallback)>(v, v, v);
goto label;
label:
v = virtualinvoke v.<net.sf.cglib.core.internal.CustomizerRegistry: java.util.List get(java.lang.Class)>(class "Lnet/sf/cglib/core/Customizer;");
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<net.sf.cglib.core.Customizer: void customize(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type)>(v, v);
goto label;
label:
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void swap()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<net.sf.cglib.core.Customizer: void customize(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type)>(v, v);
goto label;
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_OBJECT>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature EQUALS>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void if_jump(int,net.sf.cglib.asm.$Label)>(153, v);
label:
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
label:
return;
}
private static void nullcmp(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Label, net.sf.cglib.asm.$Label)
{
net.sf.cglib.asm.$Label v, v, v, v, v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Label;
v := @parameter: net.sf.cglib.asm.$Label;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup2()>();
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void ifnonnull(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void ifnonnull(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void pop2()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void goTo(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void ifnull(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void goTo(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void pop2()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void goTo(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
return;
}
public static void append_string(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type, net.sf.cglib.core.EmitUtils$ArrayDelimiters, net.sf.cglib.core.Customizer)
{
net.sf.cglib.asm.$Type v;
net.sf.cglib.core.EmitUtils$ArrayDelimiters v;
net.sf.cglib.core.internal.CustomizerRegistry v;
net.sf.cglib.core.Customizer v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: net.sf.cglib.core.EmitUtils$ArrayDelimiters;
v := @parameter: net.sf.cglib.core.Customizer;
v = staticinvoke <net.sf.cglib.core.internal.CustomizerRegistry: net.sf.cglib.core.internal.CustomizerRegistry singleton(net.sf.cglib.core.Customizer)>(v);
staticinvoke <net.sf.cglib.core.EmitUtils: void append_string(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type,net.sf.cglib.core.EmitUtils$ArrayDelimiters,net.sf.cglib.core.internal.CustomizerRegistry)>(v, v, v, v);
return;
}
public static void append_string(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type, net.sf.cglib.core.EmitUtils$ArrayDelimiters, net.sf.cglib.core.internal.CustomizerRegistry)
{
net.sf.cglib.asm.$Type v;
net.sf.cglib.core.EmitUtils$ArrayDelimiters v, v;
net.sf.cglib.core.internal.CustomizerRegistry v;
net.sf.cglib.core.EmitUtils$9 v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: net.sf.cglib.core.EmitUtils$ArrayDelimiters;
v := @parameter: net.sf.cglib.core.internal.CustomizerRegistry;
if v == null goto label;
v = v;
goto label;
label:
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.EmitUtils$ArrayDelimiters DEFAULT_DELIMITERS>;
label:
v = new net.sf.cglib.core.EmitUtils$9;
specialinvoke v.<net.sf.cglib.core.EmitUtils$9: void <init>(net.sf.cglib.core.CodeEmitter,net.sf.cglib.core.EmitUtils$ArrayDelimiters,net.sf.cglib.core.internal.CustomizerRegistry)>(v, v, v);
staticinvoke <net.sf.cglib.core.EmitUtils: void append_string_helper(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type,net.sf.cglib.core.EmitUtils$ArrayDelimiters,net.sf.cglib.core.internal.CustomizerRegistry,net.sf.cglib.core.ProcessArrayCallback)>(v, v, v, v, v);
return;
}
private static void append_string_helper(net.sf.cglib.core.CodeEmitter, net.sf.cglib.asm.$Type, net.sf.cglib.core.EmitUtils$ArrayDelimiters, net.sf.cglib.core.internal.CustomizerRegistry, net.sf.cglib.core.ProcessArrayCallback)
{
net.sf.cglib.asm.$Label v, v;
net.sf.cglib.core.EmitUtils$ArrayDelimiters v;
net.sf.cglib.core.Signature v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v;
net.sf.cglib.core.internal.CustomizerRegistry v;
java.util.List v;
net.sf.cglib.core.CodeEmitter v;
int v;
java.lang.String v, v, v, v, v, v, v, v;
net.sf.cglib.core.ProcessArrayCallback v;
java.util.Iterator v;
net.sf.cglib.asm.$Type v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: net.sf.cglib.core.EmitUtils$ArrayDelimiters;
v := @parameter: net.sf.cglib.core.internal.CustomizerRegistry;
v := @parameter: net.sf.cglib.core.ProcessArrayCallback;
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
v = staticinvoke <net.sf.cglib.core.TypeUtils: boolean isPrimitive(net.sf.cglib.asm.$Type)>(v);
if v == 0 goto label;
v = virtualinvoke v.<net.sf.cglib.asm.$Type: int getSort()>();
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
default: goto label;
};
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING_BUFFER>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_INT>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
goto label;
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING_BUFFER>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_DOUBLE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
goto label;
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING_BUFFER>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_FLOAT>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
goto label;
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING_BUFFER>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_LONG>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
goto label;
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING_BUFFER>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_BOOLEAN>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
goto label;
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING_BUFFER>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_CHAR>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
goto label;
label:
v = staticinvoke <net.sf.cglib.core.TypeUtils: boolean isArray(net.sf.cglib.asm.$Type)>(v);
if v == 0 goto label;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void ifnull(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void swap()>();
if v == null goto label;
v = v.<net.sf.cglib.core.EmitUtils$ArrayDelimiters: java.lang.String before>;
if v == null goto label;
v = "";
v = v.<net.sf.cglib.core.EmitUtils$ArrayDelimiters: java.lang.String before>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<net.sf.cglib.core.EmitUtils$ArrayDelimiters: java.lang.String before>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(java.lang.String)>(v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING_BUFFER>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_STRING>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void swap()>();
label:
staticinvoke <net.sf.cglib.core.EmitUtils: void process_array(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type,net.sf.cglib.core.ProcessArrayCallback)>(v, v, v);
staticinvoke <net.sf.cglib.core.EmitUtils: void shrinkStringBuffer(net.sf.cglib.core.CodeEmitter,int)>(v, 2);
if v == null goto label;
v = v.<net.sf.cglib.core.EmitUtils$ArrayDelimiters: java.lang.String after>;
if v == null goto label;
v = "";
v = v.<net.sf.cglib.core.EmitUtils$ArrayDelimiters: java.lang.String after>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<net.sf.cglib.core.EmitUtils$ArrayDelimiters: java.lang.String after>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(java.lang.String)>(v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING_BUFFER>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_STRING>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
goto label;
label:
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void ifnull(net.sf.cglib.asm.$Label)>(v);
v = virtualinvoke v.<net.sf.cglib.core.internal.CustomizerRegistry: java.util.List get(java.lang.Class)>(class "Lnet/sf/cglib/core/Customizer;");
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<net.sf.cglib.core.Customizer: void customize(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type)>(v, v);
goto label;
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_OBJECT>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature TO_STRING>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING_BUFFER>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_STRING>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
label:
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void goTo(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void pop()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(java.lang.String)>("null");
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING_BUFFER>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_STRING>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
return;
}
private static void shrinkStringBuffer(net.sf.cglib.core.CodeEmitter, int)
{
net.sf.cglib.asm.$Type v, v, v;
net.sf.cglib.core.Signature v, v;
int v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: int;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING_BUFFER>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature LENGTH>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(int)>(v);
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type INT_TYPE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void math(int,net.sf.cglib.asm.$Type)>(100, v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_STRING_BUFFER>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature SET_LENGTH>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
return;
}
public static void load_method(net.sf.cglib.core.CodeEmitter, net.sf.cglib.core.MethodInfo)
{
net.sf.cglib.asm.$Type[] v;
net.sf.cglib.core.MethodInfo v;
net.sf.cglib.asm.$Type v, v;
net.sf.cglib.core.ClassInfo v;
net.sf.cglib.core.Signature v, v, v;
java.lang.String v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.core.MethodInfo;
v = virtualinvoke v.<net.sf.cglib.core.MethodInfo: net.sf.cglib.core.ClassInfo getClassInfo()>();
v = virtualinvoke v.<net.sf.cglib.core.ClassInfo: net.sf.cglib.asm.$Type getType()>();
staticinvoke <net.sf.cglib.core.EmitUtils: void load_class(net.sf.cglib.core.CodeEmitter,net.sf.cglib.asm.$Type)>(v, v);
v = virtualinvoke v.<net.sf.cglib.core.MethodInfo: net.sf.cglib.core.Signature getSignature()>();
v = virtualinvoke v.<net.sf.cglib.core.Signature: java.lang.String getName()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(java.lang.String)>(v);
v = virtualinvoke v.<net.sf.cglib.core.MethodInfo: net.sf.cglib.core.Signature getSignature()>();
v = virtualinvoke v.<net.sf.cglib.core.Signature: net.sf.cglib.asm.$Type[] getArgumentTypes()>();
staticinvoke <net.sf.cglib.core.EmitUtils: void push_object(net.sf.cglib.core.CodeEmitter,java.lang.Object)>(v, v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_CLASS>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature GET_DECLARED_METHOD>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
return;
}
public static void method_switch(net.sf.cglib.core.CodeEmitter, java.util.List, net.sf.cglib.core.ObjectSwitchCallback)
{
java.util.List v;
net.sf.cglib.core.ObjectSwitchCallback v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: java.util.List;
v := @parameter: net.sf.cglib.core.ObjectSwitchCallback;
staticinvoke <net.sf.cglib.core.EmitUtils: void member_switch_helper(net.sf.cglib.core.CodeEmitter,java.util.List,net.sf.cglib.core.ObjectSwitchCallback,boolean)>(v, v, v, 1);
return;
}
public static void constructor_switch(net.sf.cglib.core.CodeEmitter, java.util.List, net.sf.cglib.core.ObjectSwitchCallback)
{
java.util.List v;
net.sf.cglib.core.ObjectSwitchCallback v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: java.util.List;
v := @parameter: net.sf.cglib.core.ObjectSwitchCallback;
staticinvoke <net.sf.cglib.core.EmitUtils: void member_switch_helper(net.sf.cglib.core.CodeEmitter,java.util.List,net.sf.cglib.core.ObjectSwitchCallback,boolean)>(v, v, v, 0);
return;
}
private static void member_switch_helper(net.sf.cglib.core.CodeEmitter, java.util.List, net.sf.cglib.core.ObjectSwitchCallback, boolean)
{
net.sf.cglib.asm.$Label v, v;
java.lang.Object[] v;
net.sf.cglib.core.EmitUtils$10 v;
net.sf.cglib.core.EmitUtils$12 v;
net.sf.cglib.core.EmitUtils$11 v;
java.lang.Error v;
java.lang.String[] v;
java.util.HashMap v;
java.util.Map v;
int v;
net.sf.cglib.core.CodeGenerationException v;
boolean v;
java.util.Set v;
java.lang.RuntimeException v;
java.lang.Exception v;
java.util.List v;
net.sf.cglib.core.ObjectSwitchCallback v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: java.util.List;
v := @parameter: net.sf.cglib.core.ObjectSwitchCallback;
v := @parameter: boolean;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new net.sf.cglib.core.EmitUtils$10;
specialinvoke v.<net.sf.cglib.core.EmitUtils$10: void <init>(java.util.Map)>(v);
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
v = virtualinvoke v.<net.sf.cglib.core.CodeEmitter: net.sf.cglib.asm.$Label make_label()>();
if v == 0 goto label;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void swap()>();
v = new net.sf.cglib.core.EmitUtils$11;
specialinvoke v.<net.sf.cglib.core.EmitUtils$11: void <init>()>();
v = staticinvoke <net.sf.cglib.core.CollectionUtils: java.util.Map bucket(java.util.Collection,net.sf.cglib.core.Transformer)>(v, v);
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Map: int size()>();
v = newarray (java.lang.String)[v];
v = interfaceinvoke v.<java.util.Set: java.lang.Object[] toArray(java.lang.Object[])>(v);
v = new net.sf.cglib.core.EmitUtils$12;
specialinvoke v.<net.sf.cglib.core.EmitUtils$12: void <init>(net.sf.cglib.core.CodeEmitter,java.util.Map,net.sf.cglib.core.ObjectSwitchCallback,net.sf.cglib.core.EmitUtils$ParameterTyper,net.sf.cglib.asm.$Label,net.sf.cglib.asm.$Label)>(v, v, v, v, v, v);
staticinvoke <net.sf.cglib.core.EmitUtils: void string_switch(net.sf.cglib.core.CodeEmitter,java.lang.String[],int,net.sf.cglib.core.ObjectSwitchCallback)>(v, v, 1, v);
goto label;
label:
staticinvoke <net.sf.cglib.core.EmitUtils: void member_helper_size(net.sf.cglib.core.CodeEmitter,java.util.List,net.sf.cglib.core.ObjectSwitchCallback,net.sf.cglib.core.EmitUtils$ParameterTyper,net.sf.cglib.asm.$Label,net.sf.cglib.asm.$Label)>(v, v, v, v, v, v);
label:
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void pop()>();
interfaceinvoke v.<net.sf.cglib.core.ObjectSwitchCallback: void processDefault()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void mark(net.sf.cglib.asm.$Label)>(v);
label:
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new net.sf.cglib.core.CodeGenerationException;
specialinvoke v.<net.sf.cglib.core.CodeGenerationException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.lang.RuntimeException from label to label with label;
catch java.lang.Error from label to label with label;
catch java.lang.Exception from label to label with label;
}
private static void member_helper_size(net.sf.cglib.core.CodeEmitter, java.util.List, net.sf.cglib.core.ObjectSwitchCallback, net.sf.cglib.core.EmitUtils$ParameterTyper, net.sf.cglib.asm.$Label, net.sf.cglib.asm.$Label) throws java.lang.Exception
{
net.sf.cglib.asm.$Label v, v;
java.util.List v;
net.sf.cglib.core.EmitUtils$ParameterTyper v;
int[] v;
java.util.Map v;
net.sf.cglib.core.EmitUtils$14 v;
net.sf.cglib.core.EmitUtils$13 v;
net.sf.cglib.core.ObjectSwitchCallback v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: java.util.List;
v := @parameter: net.sf.cglib.core.ObjectSwitchCallback;
v := @parameter: net.sf.cglib.core.EmitUtils$ParameterTyper;
v := @parameter: net.sf.cglib.asm.$Label;
v := @parameter: net.sf.cglib.asm.$Label;
v = new net.sf.cglib.core.EmitUtils$13;
specialinvoke v.<net.sf.cglib.core.EmitUtils$13: void <init>(net.sf.cglib.core.EmitUtils$ParameterTyper)>(v);
v = staticinvoke <net.sf.cglib.core.CollectionUtils: java.util.Map bucket(java.util.Collection,net.sf.cglib.core.Transformer)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void arraylength()>();
v = staticinvoke <net.sf.cglib.core.EmitUtils: int[] getSwitchKeys(java.util.Map)>(v);
v = new net.sf.cglib.core.EmitUtils$14;
specialinvoke v.<net.sf.cglib.core.EmitUtils$14: void <init>(java.util.Map,net.sf.cglib.core.CodeEmitter,net.sf.cglib.core.ObjectSwitchCallback,net.sf.cglib.core.EmitUtils$ParameterTyper,net.sf.cglib.asm.$Label,net.sf.cglib.asm.$Label)>(v, v, v, v, v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void process_switch(int[],net.sf.cglib.core.ProcessSwitchCallback)>(v, v);
return;
}
private static void member_helper_type(net.sf.cglib.core.CodeEmitter, java.util.List, net.sf.cglib.core.ObjectSwitchCallback, net.sf.cglib.core.EmitUtils$ParameterTyper, net.sf.cglib.asm.$Label, net.sf.cglib.asm.$Label, java.util.BitSet) throws java.lang.Exception
{
net.sf.cglib.asm.$Label v, v;
net.sf.cglib.core.EmitUtils$ParameterTyper v;
net.sf.cglib.core.Signature v, v, v;
java.util.Map v, v;
boolean v;
java.util.Set v;
java.util.List v;
net.sf.cglib.core.EmitUtils$16 v;
net.sf.cglib.core.EmitUtils$15 v;
net.sf.cglib.core.CodeEmitter v;
java.lang.Object[] v;
net.sf.cglib.asm.$Type[] v, v;
java.lang.String[] v;
int v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
net.sf.cglib.asm.$Type v, v, v, v;
java.lang.Object v, v;
java.util.BitSet v;
net.sf.cglib.core.ObjectSwitchCallback v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: java.util.List;
v := @parameter: net.sf.cglib.core.ObjectSwitchCallback;
v := @parameter: net.sf.cglib.core.EmitUtils$ParameterTyper;
v := @parameter: net.sf.cglib.asm.$Label;
v := @parameter: net.sf.cglib.asm.$Label;
v := @parameter: java.util.BitSet;
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<net.sf.cglib.core.EmitUtils$ParameterTyper: net.sf.cglib.asm.$Type[] getParameterTypes(net.sf.cglib.core.MethodInfo)>(v);
v = 0;
label:
v = lengthof v;
if v >= v goto label;
if v == null goto label;
v = virtualinvoke v.<java.util.BitSet: boolean get(int)>(v);
if v != 0 goto label;
label:
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void aaload(int)>(v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_CLASS>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature GET_NAME>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
v = v[v];
v = staticinvoke <net.sf.cglib.core.TypeUtils: java.lang.String emulateClassGetName(net.sf.cglib.asm.$Type)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void push(java.lang.String)>(v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_OBJECT>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature EQUALS>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void if_jump(int,net.sf.cglib.asm.$Label)>(153, v);
label:
v = v + 1;
goto label;
label:
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void pop()>();
interfaceinvoke v.<net.sf.cglib.core.ObjectSwitchCallback: void processCase(java.lang.Object,net.sf.cglib.asm.$Label)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<net.sf.cglib.core.EmitUtils$ParameterTyper: net.sf.cglib.asm.$Type[] getParameterTypes(net.sf.cglib.core.MethodInfo)>(v);
v = null;
v = (int) -1;
v = v;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = new net.sf.cglib.core.EmitUtils$15;
specialinvoke v.<net.sf.cglib.core.EmitUtils$15: void <init>(net.sf.cglib.core.EmitUtils$ParameterTyper,int)>(v, v);
v = staticinvoke <net.sf.cglib.core.CollectionUtils: java.util.Map bucket(java.util.Collection,net.sf.cglib.core.Transformer)>(v, v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: int size()>();
v = interfaceinvoke v.<java.util.Map: int size()>();
if v <= v goto label;
label:
v = v;
v = v;
label:
v = v + 1;
goto label;
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: int size()>();
if v != 1 goto label;
label:
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void goTo(net.sf.cglib.asm.$Label)>(v);
goto label;
label:
virtualinvoke v.<java.util.BitSet: void set(int)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void aaload(int)>(v);
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_CLASS>;
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature GET_NAME>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_virtual(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Map: int size()>();
v = newarray (java.lang.String)[v];
v = interfaceinvoke v.<java.util.Set: java.lang.Object[] toArray(java.lang.Object[])>(v);
v = new net.sf.cglib.core.EmitUtils$16;
specialinvoke v.<net.sf.cglib.core.EmitUtils$16: void <init>(net.sf.cglib.core.CodeEmitter,java.util.Map,net.sf.cglib.core.ObjectSwitchCallback,net.sf.cglib.core.EmitUtils$ParameterTyper,net.sf.cglib.asm.$Label,net.sf.cglib.asm.$Label,java.util.BitSet)>(v, v, v, v, v, v, v);
staticinvoke <net.sf.cglib.core.EmitUtils: void string_switch(net.sf.cglib.core.CodeEmitter,java.lang.String[],int,net.sf.cglib.core.ObjectSwitchCallback)>(v, v, 1, v);
label:
return;
}
public static void wrap_throwable(net.sf.cglib.core.Block, net.sf.cglib.asm.$Type)
{
net.sf.cglib.asm.$Type v, v;
net.sf.cglib.core.Block v;
net.sf.cglib.core.Signature v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.Block;
v := @parameter: net.sf.cglib.asm.$Type;
v = virtualinvoke v.<net.sf.cglib.core.Block: net.sf.cglib.core.CodeEmitter getCodeEmitter()>();
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_THROWABLE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void catch_exception(net.sf.cglib.core.Block,net.sf.cglib.asm.$Type)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void new_instance(net.sf.cglib.asm.$Type)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup_x1()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void swap()>();
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature CSTRUCT_THROWABLE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_constructor(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void athrow()>();
return;
}
public static void add_properties(net.sf.cglib.core.ClassEmitter, java.lang.String[], net.sf.cglib.asm.$Type[])
{
net.sf.cglib.core.ClassEmitter v;
net.sf.cglib.asm.$Type[] v;
java.lang.String[] v;
net.sf.cglib.asm.$Type v, v;
int v, v;
java.lang.String v, v, v;
v := @parameter: net.sf.cglib.core.ClassEmitter;
v := @parameter: java.lang.String[];
v := @parameter: net.sf.cglib.asm.$Type[];
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
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[])>("$cglib_prop_\u0001");
v = v[v];
virtualinvoke v.<net.sf.cglib.core.ClassEmitter: void declare_field(int,java.lang.String,net.sf.cglib.asm.$Type,java.lang.Object)>(2, v, v, null);
v = v[v];
v = v[v];
staticinvoke <net.sf.cglib.core.EmitUtils: void add_property(net.sf.cglib.core.ClassEmitter,java.lang.String,net.sf.cglib.asm.$Type,java.lang.String)>(v, v, v, v);
v = v + 1;
goto label;
label:
return;
}
public static void add_property(net.sf.cglib.core.ClassEmitter, java.lang.String, net.sf.cglib.asm.$Type, java.lang.String)
{
net.sf.cglib.core.ClassEmitter v;
net.sf.cglib.asm.$Type[] v, v;
net.sf.cglib.asm.$Type v, v;
net.sf.cglib.core.Signature v, v;
java.lang.String v, v, v, v, v;
net.sf.cglib.core.CodeEmitter v, v;
v := @parameter: net.sf.cglib.core.ClassEmitter;
v := @parameter: java.lang.String;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: java.lang.String;
v = staticinvoke <net.sf.cglib.core.TypeUtils: java.lang.String upperFirst(java.lang.String)>(v);
v = new net.sf.cglib.core.Signature;
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[])>("get\u0001");
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type[] TYPES_EMPTY>;
specialinvoke v.<net.sf.cglib.core.Signature: void <init>(java.lang.String,net.sf.cglib.asm.$Type,net.sf.cglib.asm.$Type[])>(v, v, v);
v = virtualinvoke v.<net.sf.cglib.core.ClassEmitter: net.sf.cglib.core.CodeEmitter begin_method(int,net.sf.cglib.core.Signature,net.sf.cglib.asm.$Type[])>(1, v, null);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_this()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void getfield(java.lang.String)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void return_value()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void end_method()>();
v = new net.sf.cglib.core.Signature;
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[])>("set\u0001");
v = <net.sf.cglib.asm.$Type: net.sf.cglib.asm.$Type VOID_TYPE>;
v = newarray (net.sf.cglib.asm.$Type)[1];
v[0] = v;
specialinvoke v.<net.sf.cglib.core.Signature: void <init>(java.lang.String,net.sf.cglib.asm.$Type,net.sf.cglib.asm.$Type[])>(v, v, v);
v = virtualinvoke v.<net.sf.cglib.core.ClassEmitter: net.sf.cglib.core.CodeEmitter begin_method(int,net.sf.cglib.core.Signature,net.sf.cglib.asm.$Type[])>(1, v, null);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_this()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void load_arg(int)>(0);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void putfield(java.lang.String)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void return_value()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void end_method()>();
return;
}
public static void wrap_undeclared_throwable(net.sf.cglib.core.CodeEmitter, net.sf.cglib.core.Block, net.sf.cglib.asm.$Type[], net.sf.cglib.asm.$Type)
{
net.sf.cglib.asm.$Type[] v;
java.util.HashSet v;
net.sf.cglib.core.Signature v;
int v, v;
boolean v, v, v, v, v;
java.util.Set v, v;
net.sf.cglib.asm.$Type v, v, v, v, v, v, v, v;
java.util.List v;
net.sf.cglib.core.Block v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.CodeEmitter;
v := @parameter: net.sf.cglib.core.Block;
v := @parameter: net.sf.cglib.asm.$Type[];
v := @parameter: net.sf.cglib.asm.$Type;
if v != null goto label;
v = <java.util.Collections: java.util.Set EMPTY_SET>;
goto label;
label:
v = new java.util.HashSet;
v = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
label:
v = v;
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_THROWABLE>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
return;
label:
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_RUNTIME_EXCEPTION>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_RUNTIME_EXCEPTION>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void catch_exception(net.sf.cglib.core.Block,net.sf.cglib.asm.$Type)>(v, v);
v = 1;
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_ERROR>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_ERROR>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void catch_exception(net.sf.cglib.core.Block,net.sf.cglib.asm.$Type)>(v, v);
v = 1;
label:
if v == null goto label;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void catch_exception(net.sf.cglib.core.Block,net.sf.cglib.asm.$Type)>(v, v);
v = v + 1;
goto label;
label:
if v == 0 goto label;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void athrow()>();
label:
v = <net.sf.cglib.core.Constants: net.sf.cglib.asm.$Type TYPE_THROWABLE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void catch_exception(net.sf.cglib.core.Block,net.sf.cglib.asm.$Type)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void new_instance(net.sf.cglib.asm.$Type)>(v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void dup_x1()>();
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void swap()>();
v = <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature CSTRUCT_THROWABLE>;
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void invoke_constructor(net.sf.cglib.asm.$Type,net.sf.cglib.core.Signature)>(v, v);
virtualinvoke v.<net.sf.cglib.core.CodeEmitter: void athrow()>();
return;
}
public static net.sf.cglib.core.CodeEmitter begin_method(net.sf.cglib.core.ClassEmitter, net.sf.cglib.core.MethodInfo)
{
net.sf.cglib.core.ClassEmitter v;
int v;
net.sf.cglib.core.MethodInfo v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.ClassEmitter;
v := @parameter: net.sf.cglib.core.MethodInfo;
v = virtualinvoke v.<net.sf.cglib.core.MethodInfo: int getModifiers()>();
v = staticinvoke <net.sf.cglib.core.EmitUtils: net.sf.cglib.core.CodeEmitter begin_method(net.sf.cglib.core.ClassEmitter,net.sf.cglib.core.MethodInfo,int)>(v, v, v);
return v;
}
public static net.sf.cglib.core.CodeEmitter begin_method(net.sf.cglib.core.ClassEmitter, net.sf.cglib.core.MethodInfo, int)
{
net.sf.cglib.core.ClassEmitter v;
net.sf.cglib.core.Signature v;
net.sf.cglib.asm.$Type[] v;
int v;
net.sf.cglib.core.MethodInfo v;
net.sf.cglib.core.CodeEmitter v;
v := @parameter: net.sf.cglib.core.ClassEmitter;
v := @parameter: net.sf.cglib.core.MethodInfo;
v := @parameter: int;
v = virtualinvoke v.<net.sf.cglib.core.MethodInfo: net.sf.cglib.core.Signature getSignature()>();
v = virtualinvoke v.<net.sf.cglib.core.MethodInfo: net.sf.cglib.asm.$Type[] getExceptionTypes()>();
v = virtualinvoke v.<net.sf.cglib.core.ClassEmitter: net.sf.cglib.core.CodeEmitter begin_method(int,net.sf.cglib.core.Signature,net.sf.cglib.asm.$Type[])>(v, v, v);
return v;
}
static void <clinit>()
{
net.sf.cglib.core.EmitUtils$ArrayDelimiters v;
net.sf.cglib.core.Signature v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseConstructor(java.lang.String)>("");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature CSTRUCT_NULL> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseConstructor(java.lang.String)>("Throwable");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature CSTRUCT_THROWABLE> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("String getName()");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature GET_NAME> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("int hashCode()");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature HASH_CODE> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("boolean equals(Object)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature EQUALS> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("int length()");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature STRING_LENGTH> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("char charAt(int)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature STRING_CHAR_AT> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("Class forName(String)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature FOR_NAME> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("long doubleToLongBits(double)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature DOUBLE_TO_LONG_BITS> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("int floatToIntBits(float)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature FLOAT_TO_INT_BITS> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("String toString()");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature TO_STRING> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("StringBuffer append(String)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_STRING> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("StringBuffer append(int)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_INT> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("StringBuffer append(double)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_DOUBLE> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("StringBuffer append(float)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_FLOAT> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("StringBuffer append(char)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_CHAR> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("StringBuffer append(long)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_LONG> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("StringBuffer append(boolean)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature APPEND_BOOLEAN> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("int length()");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature LENGTH> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("void setLength(int)");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature SET_LENGTH> = v;
v = staticinvoke <net.sf.cglib.core.TypeUtils: net.sf.cglib.core.Signature parseSignature(java.lang.String)>("java.lang.reflect.Method getDeclaredMethod(String, Class[])");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.Signature GET_DECLARED_METHOD> = v;
v = new net.sf.cglib.core.EmitUtils$ArrayDelimiters;
specialinvoke v.<net.sf.cglib.core.EmitUtils$ArrayDelimiters: void <init>(java.lang.String,java.lang.String,java.lang.String)>("{", ", ", "}");
<net.sf.cglib.core.EmitUtils: net.sf.cglib.core.EmitUtils$ArrayDelimiters DEFAULT_DELIMITERS> = v;
return;
}
}