@Override public void visitFieldInsn(int opcode,String owner,String name,String desc){
  if (!name.equals(THIS$0)) {
    String signInvoke=GGG_V;
    Type fieldType=Type.getType(desc);
    if (opcode == GETFIELD) {
      mv.visitInsn(DUP);
      signInvoke=LGGG_V;
    }
    if (opcode == PUTFIELD) {
      signInvoke=LGGG_V;
      if (fieldType.getSize() == 1)       stack.b1a1__b1a1b1();
 else       if (fieldType.getSize() == 2)       stack.b1a2__b1a2b1();
 else       check(false);
    }
    stack.pushStrings(owner,name,desc);
    mv.visitMethodInsn(INVOKESTATIC,VM_FQ,BYTECODE_NAME[opcode],signInvoke);
  }
  super.visitFieldInsn(opcode,owner,name,desc);
}

@ Override public void visitFieldInsn ( int opcode , String owner , String name , String desc ) { if ( ! name . equals ( THIS$0 ) ) { String signInvoke = GGG_V ; Type fieldType = Type . getType ( desc ) ; if ( opcode == GETFIELD ) { mv . visitInsn ( DUP ) ; signInvoke = LGGG_V ; } if ( opcode == PUTFIELD ) { signInvoke = LGGG_V ; if ( fieldType . getSize ( ) == 1 ) stack . b1a1__b1a1b1 ( ) ; else if ( fieldType . getSize ( ) == 2 ) stack . b1a2__b1a2b1 ( ) ; else check ( false ) ; } stack . pushStrings ( owner , name , desc ) ; mv . visitMethodInsn ( INVOKESTATIC , VM_FQ , BYTECODE_NAME [ opcode ] , signInvoke ) ; } super . visitFieldInsn ( opcode , owner , name , desc ) ; }
getfield , putfield , getstatic , putstatic http : / / java . sun . com / docs / books / jvms / second_edition / html / instructions2 . doc5 . html # getfield http : / / java . sun . com / docs / books / jvms / second_edition / html / instructions2 . doc11 . html # putfield
