如何使用javaparser在Java文件中找到所有for循环?

时间:2015-05-31 13:42:32

标签: java abstract-syntax-tree javaparser

我使用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中的一个可能的错误,还是我只是以错误的方式使用它?

0 个答案:

没有答案