public void invokeVirtual(String owner, String name, String desc) {
   super.visitMethodInsn(INVOKEVIRTUAL, owner, name, desc);
 }
 public void pop() {
   super.visitInsn(POP);
 }
 public void ldc(Object o) {
   if (o.getClass() == Class.class) o = Type.getType((Class) o);
   super.visitLdcInsn(o);
 }
 public void aastore() {
   super.visitInsn(AASTORE);
 }
 public void aload(int i) {
   super.visitIntInsn(ALOAD, i);
 }
 public void dup() {
   super.visitInsn(DUP);
 }
 public void iconst(int i) {
   if (i <= 5) super.visitInsn(ICONST_0 + i);
   else super.visitLdcInsn(i);
 }
 public void newArray(String type, int size) {
   iconst(size);
   super.visitTypeInsn(ANEWARRAY, type);
 }
 public void _null() {
   super.visitInsn(ACONST_NULL);
 }
 public void println(String msg) {
   super.visitFieldInsn(GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;");
   ldc(msg);
   super.visitMethodInsn(INVOKEVIRTUAL, "java/io/PrintStream", "println", "(Ljava/lang/String;)V");
 }