我使用javaparser来解析Java文件,我希望找到所有for
个循环(forEach
& normal for
循环)。到目前为止,这是我的方法,但它只能找到一些,而不是所有的事件。
public class AstElementTraverser extends VoidVisitorAdapter<File> {
@Override
public void visit(ForeachStmt n, File sourceFile) {
System.out.println("Found a foreach loop " + sourceFile.getAbsolutePath() + " @ " + n.getBeginLine());
}
@Override
public void visit(ForStmt n, File sourceFile) {
System.out.println("Found a for loop " + sourceFile.getAbsolutePath() + " @ " + n.getBeginLine());
}
}
例如,它似乎适用于这一行:
for (final JavadocTagInfo tag : JavadocTagInfo.values()) {
......但不是为了这个:
for (PropertyDescriptor<?> descriptor : propertyDescriptors) {
......也不是这一个:
for (int i = 1; i < typeCodes.length; i++) {
这是javaparser中的一个可能的错误,还是我只是以错误的方式使用它?