我正在使用Eclipse JDT ASTParser来解析一些Java代码。一切都工作得很好但我有以下问题:我有一个StatementVisitor
类,我用它来解析IF
语句。这是相关的代码:
public class StatementVisitor extends ASTVisitor {
@Override
public boolean visit(IfStatement node) {
//Do some stuff...
//...
return true;
}
}
在上面的visit()
方法(省略部分)中,我递归地解析IF
中包含的语句(包括其他IF),但我只想解析第一级IF
。
例如,假设我们有以下代码:
if(a==b)
{
if(c==d)
{
if(e==f)
{
//Some code
}
}
}
当我解析第一个IF (a==b)
时,我只想解析“第一个”级IF (i.e. c==d)
而不是另一个IF (e==f)
。
我怎样才能做到这一点?