Package javassist.bytecode

Examples of javassist.bytecode.Bytecode.toCodeAttribute()


    addInvokeFieldHandlerMethod(classfile, code, finfo.getDescriptor(),
                                true);
    // *return // each type
    addTypeDependDataReturn(code, finfo.getDescriptor());

    minfo.setCodeAttribute(code.toCodeAttribute());
    minfo.setAccessFlags(AccessFlag.PUBLIC);
    classfile.addMethod(minfo);
  }

  private void addWriteMethod(ClassFile classfile, FieldInfo finfo)
View Full Code Here


    code.addIndex(base_field_index);
    code.growStack(-Descriptor.dataSize(finfo.getDescriptor()));
    // return
    code.addOpcode(Opcode.RETURN);

    minfo.setCodeAttribute(code.toCodeAttribute());
    minfo.setAccessFlags(AccessFlag.PUBLIC);
    classfile.addMethod(minfo);
  }

  private void transformInvokevirtualsIntoPutAndGetfields(ClassFile classfile)
View Full Code Here

        code.addGetfield(ctClass, fieldName, "D");

        // return with value
        code.addOpcode(Opcode.DRETURN);
        getter.setCodeAttribute(code.toCodeAttribute());

        getter.setAccessFlags(AccessFlag.PUBLIC);
        classFile.addMethod(getter);
    }
View Full Code Here

        code.addDload(1);
        code.addPutfield(ctClass, fieldName, "D");

        code.addOpcode(Opcode.RETURN);

        setter.setCodeAttribute(code.toCodeAttribute());
        setter.setAccessFlags(AccessFlag.PUBLIC);
        classFile.addMethod(setter);

    }
}
View Full Code Here

/*  863 */     code.addPutstatic(classname, "_methods_", "[Ljava/lang/reflect/Method;");
/*      */
/*  865 */     code.addLconst(-1L);
/*  866 */     code.addPutstatic(classname, "serialVersionUID", "J");
/*  867 */     code.addOpcode(177);
/*  868 */     minfo.setCodeAttribute(code.toCodeAttribute());
/*  869 */     cf.addMethod(minfo);
/*      */   }
/*      */
/*      */   private static void addSetter(String classname, ClassFile cf, ConstPool cp)
/*      */     throws CannotCompileException
View Full Code Here

/*  878 */     Bytecode code = new Bytecode(cp, 2, 2);
/*  879 */     code.addAload(0);
/*  880 */     code.addAload(1);
/*  881 */     code.addPutfield(classname, "handler", HANDLER_TYPE);
/*  882 */     code.addOpcode(177);
/*  883 */     minfo.setCodeAttribute(code.toCodeAttribute());
/*  884 */     cf.addMethod(minfo);
/*      */   }
/*      */
/*      */   private static void addGetter(String classname, ClassFile cf, ConstPool cp)
/*      */     throws CannotCompileException
View Full Code Here

/*  892 */     minfo.setAccessFlags(1);
/*  893 */     Bytecode code = new Bytecode(cp, 1, 1);
/*  894 */     code.addAload(0);
/*  895 */     code.addGetfield(classname, "handler", HANDLER_TYPE);
/*  896 */     code.addOpcode(176);
/*  897 */     minfo.setCodeAttribute(code.toCodeAttribute());
/*  898 */     cf.addMethod(minfo);
/*      */   }
/*      */
/*      */   private int overrideMethods(ClassFile cf, ConstPool cp, String className)
/*      */     throws CannotCompileException
View Full Code Here

/* 1081 */     code.addAload(0);
/* 1082 */     int s = addLoadParameters(code, cons.getParameterTypes(), 1);
/* 1083 */     code.addInvokespecial(superClass.getName(), "<init>", desc);
/* 1084 */     code.addOpcode(177);
/* 1085 */     code.setMaxLocals(s + 1);
/* 1086 */     CodeAttribute ca = code.toCodeAttribute();
/* 1087 */     minfo.setCodeAttribute(ca);
/*      */
/* 1089 */     StackMapTable.Writer writer = new StackMapTable.Writer(32);
/* 1090 */     writer.sameFrame(pc);
/* 1091 */     ca.setAttribute(writer.toStackMapTable(cp));
View Full Code Here

/* 1106 */     code.addAload(0);
/* 1107 */     int s = addLoadParameters(code, meth.getParameterTypes(), 1);
/* 1108 */     code.addInvokespecial(declClass.getName(), meth.getName(), desc);
/* 1109 */     addReturn(code, meth.getReturnType());
/* 1110 */     s++; code.setMaxLocals(s);
/* 1111 */     delegator.setCodeAttribute(code.toCodeAttribute());
/* 1112 */     return delegator;
/*      */   }
/*      */
/*      */   private static MethodInfo makeForwarder(String thisClassName, Method meth, String desc, ConstPool cp, Class declClass, String delegatorName, int index)
/*      */   {
View Full Code Here

/*      */
/* 1164 */     Class retType = meth.getReturnType();
/* 1165 */     addUnwrapper(code, retType);
/* 1166 */     addReturn(code, retType);
/*      */
/* 1168 */     CodeAttribute ca = code.toCodeAttribute();
/* 1169 */     forwarder.setCodeAttribute(ca);
/* 1170 */     return forwarder;
/*      */   }
/*      */
/*      */   private static void setThrows(MethodInfo minfo, ConstPool cp, Method orig) {
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.