for (int i = 0, size = context.getFieldInfoList().size(); i < size; ++i) {
FieldInfo fieldInfo = context.getFieldInfoList().get(i);
// public FieldVisitor visitField(final int access, final String name, final String desc, final String
// signature, final Object value) {
FieldVisitor fw = cw.visitField(ACC_PUBLIC, fieldInfo.getName() + "_asm_prefix__", "[C");
fw.visitEnd();
}
for (int i = 0, size = context.getFieldInfoList().size(); i < size; ++i) {
FieldInfo fieldInfo = context.getFieldInfoList().get(i);
Class<?> fieldClass = fieldInfo.getFieldClass();
if (fieldClass.isPrimitive()) {
continue;
}
if (fieldClass.isEnum()) {
continue;
}
if (Collection.class.isAssignableFrom(fieldClass)) {
FieldVisitor fw = cw.visitField(ACC_PUBLIC, fieldInfo.getName() + "_asm_list_item_deser__",
"Lcom/alibaba/fastjson/parser/deserializer/ObjectDeserializer;");
fw.visitEnd();
} else {
FieldVisitor fw = cw.visitField(ACC_PUBLIC, fieldInfo.getName() + "_asm_deser__",
"Lcom/alibaba/fastjson/parser/deserializer/ObjectDeserializer;");
fw.visitEnd();
}
}
MethodVisitor mw = cw.visitMethod(ACC_PUBLIC, "<init>", "(Lcom/alibaba/fastjson/parser/ParserConfig;Ljava/lang/Class;)V", null, null);
mw.visitVarInsn(ALOAD, 0);