1
0
mirror of https://github.com/msgpack/msgpack-c.git synced 2025-03-22 08:26:35 +01:00

change the part for creating a new constructor within DynamicCodeGenerator

This commit is contained in:
Muga Nishizawa 2010-08-26 17:53:29 +09:00
parent 18c712cd99
commit ff0e1bbbc0

@ -29,6 +29,8 @@ public class DynamicCodeGenerator {
private static final String PACKER_CLASS_TYPE_NAME = Packer.class.getName();
private static final String VOID_TYPE_NAME = "void";
private static final String PACKER_OBJECT_NAME = "pk";
private static final String UNPACKER_CLASS_TYPE_NAME = Unpacker.class
@ -82,24 +84,18 @@ public class DynamicCodeGenerator {
}
private void addConstructor(CtClass enhancedCtClass) throws Exception {
StringBuilder sb = new StringBuilder();
sb.append(MODIFIER_PUBLIC).append(SPACE).append(
// enhancedCtClass.getName()).append("(").append(")")
"Image3_$$_Enhanced").append("(").append(")").append(SPACE)
.append("{ super(); }"); // TODO
// System.out.println("cons: " + sb.toString());
CtConstructor newCtConstructor = CtNewConstructor.make(sb.toString(),
enhancedCtClass);
CtConstructor newCtConstructor = CtNewConstructor
.defaultConstructor(enhancedCtClass);
enhancedCtClass.addConstructor(newCtConstructor);
}
private void createMessagePackMethod(CtClass enhancedCtClass,
Class<?> targetClass) throws Exception {
StringBuilder sb = new StringBuilder();
sb.append(MODIFIER_PUBLIC).append(SPACE).append("void").append(SPACE)
.append(METHOD_NAME_MESSAGEPACK).append("(").append(
PACKER_CLASS_TYPE_NAME).append(SPACE).append(
PACKER_OBJECT_NAME).append(")").append(SPACE).append(
sb.append(MODIFIER_PUBLIC).append(SPACE).append(VOID_TYPE_NAME).append(
SPACE).append(METHOD_NAME_MESSAGEPACK).append("(").append(
PACKER_CLASS_TYPE_NAME).append(SPACE)
.append(PACKER_OBJECT_NAME).append(")").append(SPACE).append(
"throws").append(SPACE).append("java.io.IOException")
.append(SPACE).append("{");
Field[] fields = targetClass.getFields();
@ -135,7 +131,7 @@ public class DynamicCodeGenerator {
sb
.append(MODIFIER_PUBLIC)
.append(SPACE)
.append("void")
.append(VOID_TYPE_NAME)
.append(SPACE)
.append(METHOD_NAME_MESSAGEUNPACK)
.append("(")
@ -149,7 +145,8 @@ public class DynamicCodeGenerator {
.append("org.msgpack.MessageTypeException, java.io.IOException")
.append(SPACE).append("{");
Field[] fields = targetClass.getFields();
sb.append(UNPACKER_OBJECT_NAME).append(".").append("unpackArray()").append(";");
sb.append(UNPACKER_OBJECT_NAME).append(".").append("unpackArray()")
.append(";");
// TODO
for (Field field : fields) {
insertCodeOfMessageUnpack(field, sb);