Class<?> elementClass = null;
if (elementType instanceof Class<?>) {
elementClass = (Class<?>) elementType;
}
Label _end = new Label();
Label _if = new Label();
Label _else = new Label();
Label _end_if = new Label();
mw.visitLabel(_if);
_get(mw, context, property);
mw.visitTypeInsn(CHECKCAST, ASMUtils.getType(List.class)); // cast
mw.visitVarInsn(ASTORE, context.var("list"));
mw.visitVarInsn(ALOAD, context.var("list"));
mw.visitJumpInsn(IFNONNULL, _else);
_if_write_null(mw, property, context);
mw.visitJumpInsn(GOTO, _end_if);
mw.visitLabel(_else); // else {
mw.visitVarInsn(ALOAD, context.var("list"));
mw.visitMethodInsn(INVOKEINTERFACE, ASMUtils.getType(List.class), "size", "()I");
mw.visitVarInsn(ISTORE, context.var("int"));
mw.visitVarInsn(ALOAD, context.var("out"));
//mw.visitVarInsn(ALOAD, context.fieldName());
//mw.visitIntInsn(BIPUSH, fieldInfoIndexParm);
mw.visitIntInsn(BIPUSH, fieldInfoIndexParm);
mw.visitVarInsn(ILOAD, context.var("int"));
mw.visitMethodInsn(INVOKEVIRTUAL, ASMUtils.getType(SerializeWriter.class), "writeGroup", "(II)V");
Label _if_3 = new Label();
Label _else_3 = new Label();
Label _end_if_3 = new Label();
mw.visitLabel(_if_3);
mw.visitVarInsn(ILOAD, context.var("int"));
mw.visitInsn(ICONST_0);
mw.visitJumpInsn(IF_ICMPNE, _else_3);
// if list.size == 0
mw.visitJumpInsn(GOTO, _end_if_3);
mw.visitLabel(_else_3);
{
Label _for = new Label();
Label _end_for = new Label();
mw.visitInsn(ICONST_0);
mw.visitVarInsn(ISTORE, context.var("i"));
// for (; i < list.size() -1; ++i) {