public final class org.apache.ibatis.javassist.convert.TransformFieldAccess extends org.apache.ibatis.javassist.convert.Transformer
{
private java.lang.String newClassname;
private java.lang.String newFieldname;
private java.lang.String fieldname;
private org.apache.ibatis.javassist.CtClass fieldClass;
private boolean isPrivate;
private int newIndex;
private org.apache.ibatis.javassist.bytecode.ConstPool constPool;
public void <init>(org.apache.ibatis.javassist.convert.Transformer, org.apache.ibatis.javassist.CtField, java.lang.String, java.lang.String)
{
org.apache.ibatis.javassist.CtClass v;
org.apache.ibatis.javassist.convert.Transformer v;
org.apache.ibatis.javassist.convert.TransformFieldAccess v;
int v;
java.lang.String v, v, v;
org.apache.ibatis.javassist.CtField v;
boolean v;
v := @this: org.apache.ibatis.javassist.convert.TransformFieldAccess;
v := @parameter: org.apache.ibatis.javassist.convert.Transformer;
v := @parameter: org.apache.ibatis.javassist.CtField;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.ibatis.javassist.convert.Transformer: void <init>(org.apache.ibatis.javassist.convert.Transformer)>(v);
v = virtualinvoke v.<org.apache.ibatis.javassist.CtField: org.apache.ibatis.javassist.CtClass getDeclaringClass()>();
v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: org.apache.ibatis.javassist.CtClass fieldClass> = v;
v = virtualinvoke v.<org.apache.ibatis.javassist.CtField: java.lang.String getName()>();
v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: java.lang.String fieldname> = v;
v = virtualinvoke v.<org.apache.ibatis.javassist.CtField: int getModifiers()>();
v = staticinvoke <org.apache.ibatis.javassist.Modifier: boolean isPrivate(int)>(v);
v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: boolean isPrivate> = v;
v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: java.lang.String newClassname> = v;
v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: java.lang.String newFieldname> = v;
v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: org.apache.ibatis.javassist.bytecode.ConstPool constPool> = null;
return;
}
public void initialize(org.apache.ibatis.javassist.bytecode.ConstPool, org.apache.ibatis.javassist.bytecode.CodeAttribute)
{
org.apache.ibatis.javassist.convert.TransformFieldAccess v;
org.apache.ibatis.javassist.bytecode.CodeAttribute v;
org.apache.ibatis.javassist.bytecode.ConstPool v, v;
v := @this: org.apache.ibatis.javassist.convert.TransformFieldAccess;
v := @parameter: org.apache.ibatis.javassist.bytecode.ConstPool;
v := @parameter: org.apache.ibatis.javassist.bytecode.CodeAttribute;
v = v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: org.apache.ibatis.javassist.bytecode.ConstPool constPool>;
if v == v goto label;
v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: int newIndex> = 0;
label:
return;
}
public int transform(org.apache.ibatis.javassist.CtClass, int, org.apache.ibatis.javassist.bytecode.CodeIterator, org.apache.ibatis.javassist.bytecode.ConstPool)
{
org.apache.ibatis.javassist.ClassPool v;
org.apache.ibatis.javassist.CtClass v, v;
org.apache.ibatis.javassist.convert.TransformFieldAccess v;
int v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v;
boolean v;
org.apache.ibatis.javassist.bytecode.ConstPool v;
org.apache.ibatis.javassist.bytecode.CodeIterator v;
v := @this: org.apache.ibatis.javassist.convert.TransformFieldAccess;
v := @parameter: org.apache.ibatis.javassist.CtClass;
v := @parameter: int;
v := @parameter: org.apache.ibatis.javassist.bytecode.CodeIterator;
v := @parameter: org.apache.ibatis.javassist.bytecode.ConstPool;
v = virtualinvoke v.<org.apache.ibatis.javassist.bytecode.CodeIterator: int byteAt(int)>(v);
if v == 180 goto label;
if v == 178 goto label;
if v == 181 goto label;
if v != 179 goto label;
label:
v = v + 1;
v = virtualinvoke v.<org.apache.ibatis.javassist.bytecode.CodeIterator: int u16bitAt(int)>(v);
v = virtualinvoke v.<org.apache.ibatis.javassist.CtClass: org.apache.ibatis.javassist.ClassPool getClassPool()>();
v = v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: org.apache.ibatis.javassist.CtClass fieldClass>;
v = v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: java.lang.String fieldname>;
v = v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: boolean isPrivate>;
v = staticinvoke <org.apache.ibatis.javassist.convert.TransformReadField: java.lang.String isField(org.apache.ibatis.javassist.ClassPool,org.apache.ibatis.javassist.bytecode.ConstPool,org.apache.ibatis.javassist.CtClass,java.lang.String,boolean,int)>(v, v, v, v, v, v);
if v == null goto label;
v = v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: int newIndex>;
if v != 0 goto label;
v = v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: java.lang.String newFieldname>;
v = virtualinvoke v.<org.apache.ibatis.javassist.bytecode.ConstPool: int addNameAndTypeInfo(java.lang.String,java.lang.String)>(v, v);
v = v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: java.lang.String newClassname>;
v = virtualinvoke v.<org.apache.ibatis.javassist.bytecode.ConstPool: int addClassInfo(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.javassist.bytecode.ConstPool: int addFieldrefInfo(int,int)>(v, v);
v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: int newIndex> = v;
v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: org.apache.ibatis.javassist.bytecode.ConstPool constPool> = v;
label:
v = v.<org.apache.ibatis.javassist.convert.TransformFieldAccess: int newIndex>;
v = v + 1;
virtualinvoke v.<org.apache.ibatis.javassist.bytecode.CodeIterator: void write16bit(int,int)>(v, v);
label:
return v;
}
}