如何解决尝试向方法主体添加语句列表时发生IllegalArgumentException
我有一个包含IfStatement的方法,我想将其删除,但是我想保留ThenStatement的内容。我已经编写了这段代码,但是当我尝试将提取的表达式列表添加到方法的主体时,它将引发IllegalArgumentException
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()
方法来应用更改。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。