From 3966da6b7a6fc9e5940a6ec9f79f77576d871db0 Mon Sep 17 00:00:00 2001 From: kamhung <22250530@qq.com> Date: Fri, 4 Dec 2015 15:55:25 +0800 Subject: [PATCH] --- src/com/wentch/redkale/util/Attribute.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/com/wentch/redkale/util/Attribute.java b/src/com/wentch/redkale/util/Attribute.java index 354977837..d10c8b0af 100644 --- a/src/com/wentch/redkale/util/Attribute.java +++ b/src/com/wentch/redkale/util/Attribute.java @@ -53,14 +53,15 @@ public interface Attribute { public static Attribute create(String fieldname, final Field field) { return create((Class) field.getDeclaringClass(), fieldname, field, null, null); } + /** * 根据一个Class和field名生成 Attribute 对象。 - * + * * @param * @param * @param clazz - * @param fieldname 字段名, 如果该字段不存在则抛异常 - * @return + * @param fieldname 字段名, 如果该字段不存在则抛异常 + * @return */ public static Attribute create(Class clazz, final String fieldname) { try { @@ -230,6 +231,7 @@ public interface Attribute { mv.visitFieldInsn(GETFIELD, interName, field.getName(), Type.getDescriptor(pcolumn)); if (pcolumn != column) { mv.visitMethodInsn(INVOKESTATIC, columnName, "valueOf", "(" + Type.getDescriptor(pcolumn) + ")" + columnDesc, false); + m = 2; } } } else { @@ -257,6 +259,7 @@ public interface Attribute { try { java.lang.reflect.Method pm = column.getMethod(pcolumn.getSimpleName() + "Value"); mv.visitMethodInsn(INVOKEVIRTUAL, columnName, pm.getName(), Type.getMethodDescriptor(pm), false); + m = 3; } catch (Exception ex) { throw new RuntimeException(ex); //不可能会发生 }