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