有人知道如何在 codeModel 中执行数学运算吗?我到处都想不通。我有我生成的类,我想添加 2 个变量(我已经使用 完成了Long.staticInvoke("sum")
,但我的意思是添加、减法、乘法、除法和所有这些东西)。我想要实现的示例输出:
class C {
int a;
int b;
C() {
a=5;
b=7;
}
int foo() {
return (a+b)/4*7;
}
}
我有这样的事情:
try {
String className = "C";
JCodeModel model = new JCodeModel();
JDefinedClass jdc = model._class(className);
JFieldVar a = jdc.field(0, Integer.TYPE, "a");
JFieldVar b = jdc.field(0, Integer.TYPE, "b");
JMethod constructor = jdc.constructor(0);
constructor.body().assign(a, JExpr.lit(5));
constructor.body().assign(b, JExpr.lit(7));
JMethod foo = jdc.method(0,Double.TYPE,"foo");
foo.body()._return(/* WHAT GOES HERE? */);
File file = new File("./src/types/");
file.mkdirs();
model.build(file);
} catch(Exception e) {
e.printStackTrace();
}
有任何想法吗?