From 9235cd035a94da2a2baeeb9c45c5689e125d95a3 Mon Sep 17 00:00:00 2001 From: redkale Date: Mon, 23 Sep 2024 11:23:40 +0800 Subject: [PATCH] Asms --- src/main/java/org/redkale/asm/Asms.java | 5 +++-- .../org/redkale/test/source/FullBean.java | 22 +++++++++++++++++++ .../org/redkale/test/source/FullBean2.java | 7 +++++- .../redkale/test/source/FullBeanDynFunc.java | 2 +- 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/redkale/asm/Asms.java b/src/main/java/org/redkale/asm/Asms.java index a86336491..b2b77240a 100644 --- a/src/main/java/org/redkale/asm/Asms.java +++ b/src/main/java/org/redkale/asm/Asms.java @@ -201,9 +201,10 @@ public final class Asms { mv.visitTypeInsn(CHECKCAST, "[J"); } else if (clazz == double[].class) { mv.visitTypeInsn(CHECKCAST, "[D"); + } else if (clazz.isArray()) { + mv.visitTypeInsn(CHECKCAST, Type.getDescriptor(clazz)); } else { - mv.visitTypeInsn( - CHECKCAST, (clazz.isArray() ? "[" : "") + clazz.getName().replace('.', '/')); + mv.visitTypeInsn(CHECKCAST, clazz.getName().replace('.', '/')); } } diff --git a/src/test/java/org/redkale/test/source/FullBean.java b/src/test/java/org/redkale/test/source/FullBean.java index 46d6e2706..51e3a00be 100644 --- a/src/test/java/org/redkale/test/source/FullBean.java +++ b/src/test/java/org/redkale/test/source/FullBean.java @@ -5,6 +5,7 @@ package org.redkale.test.source; import java.math.BigInteger; +import java.util.Set; import org.redkale.convert.json.JsonConvert; import org.redkale.persistence.Id; @@ -18,6 +19,8 @@ public class FullBean { private String name; + private String[] remarks; + private byte[] img; private BigInteger number; @@ -48,6 +51,8 @@ public class FullBean { private Double money2; + private Set ids; + public long getSeqid() { return seqid; } @@ -65,6 +70,23 @@ public class FullBean { return this; } + public String[] getRemarks() { + return remarks; + } + + public void setRemarks(String[] remarks) { + this.remarks = remarks; + } + + public Set getIds() { + return ids; + } + + public FullBean setIds(Set ids) { + this.ids = ids; + return this; + } + public byte getBit() { return bit; } diff --git a/src/test/java/org/redkale/test/source/FullBean2.java b/src/test/java/org/redkale/test/source/FullBean2.java index bfa2e0b28..65e8cbfac 100644 --- a/src/test/java/org/redkale/test/source/FullBean2.java +++ b/src/test/java/org/redkale/test/source/FullBean2.java @@ -5,6 +5,7 @@ package org.redkale.test.source; import java.math.BigInteger; +import java.util.Set; import org.redkale.convert.json.JsonConvert; import org.redkale.persistence.Id; @@ -18,6 +19,8 @@ public class FullBean2 { public String name; + public String[] remarks; + public byte[] img; public BigInteger number; @@ -35,7 +38,7 @@ public class FullBean2 { public double money; public byte bit; - + public Boolean flag2; public Short status2; @@ -48,6 +51,8 @@ public class FullBean2 { public Double money2; + public Set ids; + @Override public String toString() { return JsonConvert.root().convertTo(this); diff --git a/src/test/java/org/redkale/test/source/FullBeanDynFunc.java b/src/test/java/org/redkale/test/source/FullBeanDynFunc.java index 6bc4fc0f3..8224e7388 100644 --- a/src/test/java/org/redkale/test/source/FullBeanDynFunc.java +++ b/src/test/java/org/redkale/test/source/FullBeanDynFunc.java @@ -34,7 +34,7 @@ public class FullBeanDynFunc extends EntityFullFunc { setFieldValue(4, row, rs); // number: BigInteger setFieldValue(4, row, rs); // bit: Byte - + rs.setFlag(row.getBoolean(5, false)); rs.setStatus(row.getShort(6, (short) 0)); rs.setId(row.getInteger(7, 0));