1

我正在使用javaparser解析 Java 文件,我想找到所有出现的for循环(forEach& 正常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中的一个可能的错误,还是我只是以错误的方式使用它?

4

0 回答 0