mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-04-01 09:24:51 +02:00
java: changes several methods declared in a DynamicCodeGen class
This commit is contained in:
parent
7f7f5253f2
commit
0bd4150a80
@ -290,9 +290,6 @@ public class DynamicCodeGen extends DynamicCodeGenBase implements Constants {
|
|||||||
|
|
||||||
private void addUnpackMethod(CtClass unpackerCtClass, Class<?> c, Field[] fs)
|
private void addUnpackMethod(CtClass unpackerCtClass, Class<?> c, Field[] fs)
|
||||||
throws CannotCompileException, NotFoundException {
|
throws CannotCompileException, NotFoundException {
|
||||||
if (CustomMessage.isAnnotated(c, MessagePackMessage.class)) {
|
|
||||||
// TODO
|
|
||||||
}
|
|
||||||
// Object unpack(Unpacker pac) throws IOException, MessageTypeException;
|
// Object unpack(Unpacker pac) throws IOException, MessageTypeException;
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
StringBuilder bsb = new StringBuilder();
|
StringBuilder bsb = new StringBuilder();
|
||||||
@ -302,7 +299,7 @@ public class DynamicCodeGen extends DynamicCodeGenBase implements Constants {
|
|||||||
new String[] { VARIABLE_NAME_PK }, new Class<?>[] {
|
new String[] { VARIABLE_NAME_PK }, new Class<?>[] {
|
||||||
MessageTypeException.class, IOException.class }, bsb
|
MessageTypeException.class, IOException.class }, bsb
|
||||||
.toString());
|
.toString());
|
||||||
//System.out.println("unpack method: " + sb.toString());
|
// System.out.println("unpack method: " + sb.toString());
|
||||||
CtMethod newCtMethod = CtNewMethod.make(sb.toString(), unpackerCtClass);
|
CtMethod newCtMethod = CtNewMethod.make(sb.toString(), unpackerCtClass);
|
||||||
unpackerCtClass.addMethod(newCtMethod);
|
unpackerCtClass.addMethod(newCtMethod);
|
||||||
}
|
}
|
||||||
@ -358,6 +355,14 @@ public class DynamicCodeGen extends DynamicCodeGenBase implements Constants {
|
|||||||
Template tmpl = DynamicCodeGenTemplate.create(c);
|
Template tmpl = DynamicCodeGenTemplate.create(c);
|
||||||
CustomMessage.registerTemplate(c, tmpl);
|
CustomMessage.registerTemplate(c, tmpl);
|
||||||
insertCodeOfUnpackMethodCallForRegisteredType(sb, f, c);
|
insertCodeOfUnpackMethodCallForRegisteredType(sb, f, c);
|
||||||
|
} else if (CustomMessage.isAnnotated(c, MessagePackDelegate.class)) {
|
||||||
|
// FIXME DelegatePacker
|
||||||
|
throw new UnsupportedOperationException("not supported yet. : "
|
||||||
|
+ c.getName());
|
||||||
|
} else if (CustomMessage.isAnnotated(c, MessagePackOrdinalEnum.class)) {
|
||||||
|
// FIXME OrdinalEnumPacker
|
||||||
|
throw new UnsupportedOperationException("not supported yet. : "
|
||||||
|
+ c.getName());
|
||||||
} else {
|
} else {
|
||||||
throw new MessageTypeException("unknown type: " + c.getName());
|
throw new MessageTypeException("unknown type: " + c.getName());
|
||||||
}
|
}
|
||||||
@ -710,6 +715,20 @@ public class DynamicCodeGen extends DynamicCodeGenBase implements Constants {
|
|||||||
insertCodeOfMessageConvertCallForMsgConvtblType(sb, f, c, i);
|
insertCodeOfMessageConvertCallForMsgConvtblType(sb, f, c, i);
|
||||||
} else if (CustomConverter.isRegistered(c)) {
|
} else if (CustomConverter.isRegistered(c)) {
|
||||||
insertCodeOfMessageConvertCallForRegisteredType(sb, f, c, i);
|
insertCodeOfMessageConvertCallForRegisteredType(sb, f, c, i);
|
||||||
|
} else if (CustomMessage.isAnnotated(c, MessagePackMessage.class)) {
|
||||||
|
// @MessagePackMessage
|
||||||
|
Template tmpl = DynamicCodeGenTemplate.create(c);
|
||||||
|
CustomMessage.registerTemplate(c, tmpl);
|
||||||
|
insertCodeOfMessageConvertCallForRegisteredType(sb, f, c, i);
|
||||||
|
} else if (CustomMessage.isAnnotated(c, MessagePackDelegate.class)) {
|
||||||
|
// FIXME DelegatePacker
|
||||||
|
throw new UnsupportedOperationException("not supported yet. : "
|
||||||
|
+ c.getName());
|
||||||
|
} else if (CustomMessage.isAnnotated(c,
|
||||||
|
MessagePackOrdinalEnum.class)) {
|
||||||
|
// FIXME OrdinalEnumPacker
|
||||||
|
throw new UnsupportedOperationException("not supported yet. : "
|
||||||
|
+ c.getName());
|
||||||
} else {
|
} else {
|
||||||
throw new MessageTypeException("Type error: " + c.getName());
|
throw new MessageTypeException("Type error: " + c.getName());
|
||||||
}
|
}
|
||||||
@ -718,38 +737,6 @@ public class DynamicCodeGen extends DynamicCodeGenBase implements Constants {
|
|||||||
|
|
||||||
private void insertCodeOfMessageConvertCallForRegisteredType(
|
private void insertCodeOfMessageConvertCallForRegisteredType(
|
||||||
StringBuilder sb, Field f, Class<?> c, int i) {
|
StringBuilder sb, Field f, Class<?> c, int i) {
|
||||||
// if (t.fi == null) { t.fi = new Foo(); }
|
|
||||||
// sb.append(KEYWORD_IF);
|
|
||||||
// sb.append(CHAR_NAME_SPACE);
|
|
||||||
// sb.append(CHAR_NAME_LEFT_PARENTHESIS);
|
|
||||||
// sb.append(VARIABLE_NAME_TARGET);
|
|
||||||
// sb.append(CHAR_NAME_DOT);
|
|
||||||
// sb.append(f.getName());
|
|
||||||
// sb.append(CHAR_NAME_SPACE);
|
|
||||||
// sb.append(CHAR_NAME_EQUAL);
|
|
||||||
// sb.append(CHAR_NAME_EQUAL);
|
|
||||||
// sb.append(CHAR_NAME_SPACE);
|
|
||||||
// sb.append(KEYWORD_NULL);
|
|
||||||
// sb.append(CHAR_NAME_RIGHT_PARENTHESIS);
|
|
||||||
// sb.append(CHAR_NAME_SPACE);
|
|
||||||
// sb.append(CHAR_NAME_LEFT_CURLY_BRACKET);
|
|
||||||
// sb.append(CHAR_NAME_SPACE);
|
|
||||||
// sb.append(VARIABLE_NAME_TARGET);
|
|
||||||
// sb.append(CHAR_NAME_DOT);
|
|
||||||
// sb.append(f.getName());
|
|
||||||
// sb.append(CHAR_NAME_SPACE);
|
|
||||||
// sb.append(CHAR_NAME_EQUAL);
|
|
||||||
// sb.append(CHAR_NAME_SPACE);
|
|
||||||
// sb.append(KEYWORD_NEW);
|
|
||||||
// sb.append(CHAR_NAME_SPACE);
|
|
||||||
// sb.append(c.getName());
|
|
||||||
// sb.append(CHAR_NAME_LEFT_PARENTHESIS);
|
|
||||||
// sb.append(CHAR_NAME_RIGHT_PARENTHESIS);
|
|
||||||
// sb.append(CHAR_NAME_SEMICOLON);
|
|
||||||
// sb.append(CHAR_NAME_SPACE);
|
|
||||||
// sb.append(CHAR_NAME_RIGHT_CURLY_BRACKET);
|
|
||||||
// sb.append(CHAR_NAME_SPACE);
|
|
||||||
|
|
||||||
// ((MessageConvertable)f_i).messageConvert(ary[i]);
|
// ((MessageConvertable)f_i).messageConvert(ary[i]);
|
||||||
// obj = tmpl.convert(mpo);
|
// obj = tmpl.convert(mpo);
|
||||||
sb.append(VARIABLE_NAME_TARGET);
|
sb.append(VARIABLE_NAME_TARGET);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user