mirror of
https://github.com/alibaba/testable-mock.git
synced 2026-08-19 09:43:29 +08:00
fix: correctly handle array type
This commit is contained in:
@@ -153,7 +153,7 @@ public class OmniClassHandler extends BaseClassHandler {
|
||||
il.add(new InsnNode(ICONST_0));
|
||||
il.add(new TypeInsnNode(ANEWARRAY, CLASS_CONSTRUCTION_OPTION));
|
||||
il.add(new MethodInsnNode(INVOKESTATIC, CLASS_OMNI_CONSTRUCTOR, METHOD_NEW_INSTANCE, METHOD_DESC_NEW_INSTANCE, false));
|
||||
il.add(new TypeInsnNode(CHECKCAST, ClassUtil.toSlashSeparateJavaStyleName(p)));
|
||||
il.add(new TypeInsnNode(CHECKCAST, (p.startsWith("[")) ? p : ClassUtil.toSlashSeparateJavaStyleName(p)));
|
||||
}
|
||||
il.add(new MethodInsnNode(INVOKESPECIAL, superName, CONSTRUCTOR,
|
||||
METHOD_START + StringUtil.join("", parameters) + VOID_METHOD_END, false));
|
||||
|
||||
@@ -187,6 +187,9 @@ public class BytecodeUtil {
|
||||
put(IFNONNULL, -1);
|
||||
}};
|
||||
|
||||
/**
|
||||
* Java primitive type name to bytecode mapping
|
||||
*/
|
||||
public static Map<String, String> PRIMITIVE_TYPE_NAME_MAP = new HashMap<String, String>() {{
|
||||
put("byte", String.valueOf((char)TYPE_BYTE));
|
||||
put("char", String.valueOf((char)TYPE_CHAR));
|
||||
|
||||
Reference in New Issue
Block a user