public class net.sf.cglib.transform.impl.AccessFieldTransformer extends net.sf.cglib.transform.ClassEmitterTransformer
{
private net.sf.cglib.transform.impl.AccessFieldTransformer$Callback callback;
public void <init>(net.sf.cglib.transform.impl.AccessFieldTransformer$Callback)
{
net.sf.cglib.transform.impl.AccessFieldTransformer$Callback v;
net.sf.cglib.transform.impl.AccessFieldTransformer v;
v := @this: net.sf.cglib.transform.impl.AccessFieldTransformer;
v := @parameter: net.sf.cglib.transform.impl.AccessFieldTransformer$Callback;
specialinvoke v.<net.sf.cglib.transform.ClassEmitterTransformer: void <init>()>();
v.<net.sf.cglib.transform.impl.AccessFieldTransformer: net.sf.cglib.transform.impl.AccessFieldTransformer$Callback callback> = v;
return;
}
public void declare_field(int, java.lang.String, net.sf.cglib.asm.$Type, java.lang.Object)
{
net.sf.cglib.asm.$Type[] v, v;
net.sf.cglib.core.Signature v, v;
net.sf.cglib.transform.impl.AccessFieldTransformer$Callback v;
int v;
java.lang.String v, v, v, v, v;
net.sf.cglib.asm.$Type v, v, v;
net.sf.cglib.transform.impl.AccessFieldTransformer v;
java.lang.Object v;
net.sf.cglib.core.CodeEmitter v, v;
v := @this: net.sf.cglib.transform.impl.AccessFieldTransformer;
v := @parameter: int;
v := @parameter: java.lang.String;
v := @parameter: net.sf.cglib.asm.$Type;
v := @parameter: java.lang.Object;
specialinvoke v.<net.sf.cglib.transform.ClassEmitterTransformer: void declare_field(int,java.lang.String,net.sf.cglib.asm.$Type,java.lang.Object)>(v, v, v, v);
v = v.<net.sf.cglib.transform.impl.AccessFieldTransformer: net.sf.cglib.transform.impl.AccessFieldTransformer$Callback callback>;
v = virtualinvoke v.<net.sf.cglib.transform.impl.AccessFieldTransformer: net.sf.cglib.asm.$Type getClassType()>();
v = interfaceinvoke v.<net.sf.cglib.transform.impl.AccessFieldTransformer$Callback: java.lang.String getPropertyName(net.sf.cglib.asm.$Type,java.lang.String)>(v, v);
v = staticinvoke <net.sf.cglib.core.TypeUtils: java.lang.String upperFirst(java.lang.String)>(v);
if v == null goto label;
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.transform.impl.AccessFieldTransformer: 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.transform.impl.AccessFieldTransformer: 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()>();
label:
return;
}
}