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 のバグの可能性がありますか、それとも間違った方法で使用しているだけですか?