Java 试图将语句列表添加到方法';身体
我有一个包含IfStatement的方法,我想删除它,但我想保留IfStatement的内容。我已经编写了这段代码,但是当我尝试将提取的表达式列表添加到方法体时,它抛出了一个IllegalArgumentExceptionJava 试图将语句列表添加到方法';身体,java,eclipse-jdt,Java,Eclipse Jdt,我有一个包含IfStatement的方法,我想删除它,但我想保留IfStatement的内容。我已经编写了这段代码,但是当我尝试将提取的表达式列表添加到方法体时,它抛出了一个IllegalArgumentException for (Object s : methodDeclaration.getBody().statements()) { if (s instanceof IfStatement) { if (((PrefixExpres
for (Object s : methodDeclaration.getBody().statements()) {
if (s instanceof IfStatement) {
if (((PrefixExpression) ((IfStatement) s).getExpression()).getOperand().toString()
.equals("test")) {
List statements = ((Block) ((IfStatement) s).getThenStatement()).statements();
methodDeclaration.getBody().statements().addAll(0, statements);
((IfStatement) s).delete();
}
}
}
这就是我要修改的方法
public static boolean someMethod() {
if (!test) {
StaticMethodCall.call();
test = true;
}
return test;
}
预期的结果应该是这样的,
public static boolean someMethod() {
StaticMethodCall.call();
test = true;
return test;
}
我正在使用.recordModifications()
方法应用更改