public class org.apache.ibatis.javassist.convert.TransformReadField extends org.apache.ibatis.javassist.convert.Transformer
{
protected java.lang.String fieldname;
protected org.apache.ibatis.javassist.CtClass fieldClass;
protected boolean isPrivate;
protected java.lang.String methodClassname;
protected java.lang.String methodName;
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.TransformReadField v;
int v;
java.lang.String v, v, v;
org.apache.ibatis.javassist.CtField v;
boolean v;
v := @this: org.apache.ibatis.javassist.convert.TransformReadField;
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.TransformReadField: 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.TransformReadField: java.lang.String fieldname> = v;
v.<org.apache.ibatis.javassist.convert.TransformReadField: java.lang.String methodClassname> = v;
v.<org.apache.ibatis.javassist.convert.TransformReadField: java.lang.String methodName> = 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.TransformReadField: boolean isPrivate> = v;
return;
}
static 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)
{
org.apache.ibatis.javassist.ClassPool v;
org.apache.ibatis.javassist.NotFoundException v;
org.apache.ibatis.javassist.CtClass v, v;
int v;
java.lang.String v, v, v, v;
boolean v, v, v;
org.apache.ibatis.javassist.bytecode.ConstPool v;
v := @parameter: org.apache.ibatis.javassist.ClassPool;
v := @parameter: org.apache.ibatis.javassist.bytecode.ConstPool;
v := @parameter: org.apache.ibatis.javassist.CtClass;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: int;
v = virtualinvoke v.<org.apache.ibatis.javassist.bytecode.ConstPool: java.lang.String getFieldrefName(int)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
return null;
label:
v = virtualinvoke v.<org.apache.ibatis.javassist.bytecode.ConstPool: java.lang.String getFieldrefClassName(int)>(v);
v = virtualinvoke v.<org.apache.ibatis.javassist.ClassPool: org.apache.ibatis.javassist.CtClass get(java.lang.String)>(v);
if v == v goto label;
if v != 0 goto label;
v = staticinvoke <org.apache.ibatis.javassist.convert.TransformReadField: boolean isFieldInSuper(org.apache.ibatis.javassist.CtClass,org.apache.ibatis.javassist.CtClass,java.lang.String)>(v, v, v);
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.ibatis.javassist.bytecode.ConstPool: java.lang.String getFieldrefType(int)>(v);
label:
return v;
label:
v := @caughtexception;
label:
return null;
catch org.apache.ibatis.javassist.NotFoundException from label to label with label;
}
static boolean isFieldInSuper(org.apache.ibatis.javassist.CtClass, org.apache.ibatis.javassist.CtClass, java.lang.String)
{
org.apache.ibatis.javassist.NotFoundException v;
org.apache.ibatis.javassist.CtClass v, v, v;
java.lang.String v;
org.apache.ibatis.javassist.CtField v;
boolean v, v;
v := @parameter: org.apache.ibatis.javassist.CtClass;
v := @parameter: org.apache.ibatis.javassist.CtClass;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.ibatis.javassist.CtClass: boolean subclassOf(org.apache.ibatis.javassist.CtClass)>(v);
if v != 0 goto label;
return 0;
label:
v = virtualinvoke v.<org.apache.ibatis.javassist.CtClass: org.apache.ibatis.javassist.CtField getField(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.ibatis.javassist.CtField: org.apache.ibatis.javassist.CtClass getDeclaringClass()>();
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v := @caughtexception;
return 0;
catch org.apache.ibatis.javassist.NotFoundException from label to label with label;
}
public int transform(org.apache.ibatis.javassist.CtClass, int, org.apache.ibatis.javassist.bytecode.CodeIterator, org.apache.ibatis.javassist.bytecode.ConstPool) throws org.apache.ibatis.javassist.bytecode.BadBytecode
{
org.apache.ibatis.javassist.ClassPool v;
org.apache.ibatis.javassist.CtClass v, v;
org.apache.ibatis.javassist.convert.TransformReadField v;
int v, v, v, v, v, v, v, v;
java.lang.String v, 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.TransformReadField;
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;
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.TransformReadField: org.apache.ibatis.javassist.CtClass fieldClass>;
v = v.<org.apache.ibatis.javassist.convert.TransformReadField: java.lang.String fieldname>;
v = v.<org.apache.ibatis.javassist.convert.TransformReadField: 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;
if v != 178 goto label;
virtualinvoke v.<org.apache.ibatis.javassist.bytecode.CodeIterator: void move(int)>(v);
v = virtualinvoke v.<org.apache.ibatis.javassist.bytecode.CodeIterator: int insertGap(int)>(1);
virtualinvoke v.<org.apache.ibatis.javassist.bytecode.CodeIterator: void writeByte(int,int)>(1, v);
v = virtualinvoke v.<org.apache.ibatis.javassist.bytecode.CodeIterator: int next()>();
label:
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[])>("(Ljava/lang/Object;)\u0001");
v = v.<org.apache.ibatis.javassist.convert.TransformReadField: java.lang.String methodClassname>;
v = virtualinvoke v.<org.apache.ibatis.javassist.bytecode.ConstPool: int addClassInfo(java.lang.String)>(v);
v = v.<org.apache.ibatis.javassist.convert.TransformReadField: java.lang.String methodName>;
v = virtualinvoke v.<org.apache.ibatis.javassist.bytecode.ConstPool: int addMethodrefInfo(int,java.lang.String,java.lang.String)>(v, v, v);
virtualinvoke v.<org.apache.ibatis.javassist.bytecode.CodeIterator: void writeByte(int,int)>(184, v);
v = v + 1;
virtualinvoke v.<org.apache.ibatis.javassist.bytecode.CodeIterator: void write16bit(int,int)>(v, v);
return v;
label:
return v;
}
}