代码拉取完成,页面将自动刷新
DummyClass dummy = new DummyClass(IntegerAssignTest.class.getPackage().getName() + ".IntegerAssignTest_");
dummy.public_().setClassOutPutPath(IssuesConstant.classOutPutPath);
//public static int getIntegerValue() {
DummyMethod dummyMethod = dummy.newMethod("getIntegerValue")
.public_().static_().return_(int.class);
dummyMethod.body(new MethodBody() {
@Override
public void body(LocVar... args) {
Var integer = call(Integer.class, "valueOf", val(100)).asVar();
return_(integer);
}
});
Class<?> clazz = dummy.build();
Method method = clazz.getMethod("getIntegerValue");
int value = (Integer) method.invoke(clazz);
Assert.assertEquals(100, value);
执行上面代码出错,这里是报错内容:
Exception in thread "main" java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
cn/wensiqun/asmsupport/issues/y2015/m5/IntegerAssignTest_.getIntegerValue()I @8: astore_0
Reason:
Type integer (current frame, stack[0]) is not assignable to reference type
Current Frame:
bci: @8
flags: { }
locals: { }
stack: { integer }
Bytecode:
0000000: 1064 b800 0cb6 000f 4b2a b600 0fac
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2570)
at java.lang.Class.getMethod0(Class.java:2813)
at java.lang.Class.getMethod(Class.java:1663)
at cn.wensiqun.asmsupport.issues.y2015.m5.IntegerAssignTest.main(IntegerAssignTest.java:35)
状态更改为 已关闭
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论