Joe*_*oel 5 java eclipse eclipse-jdt
使用Eclise JDT,我需要检索任何ASTNode的子代。我可以在某处使用实用程序方法吗?
我现在唯一想到的方法是子类化ASTVisitor并手动处理每种节点以找到其子节点。但是研究每种节点类型需要大量工作。
我将从查看ASTView插件的源开始,因为那也做同样的事情。
根据中的代码
所需的代码应如下所示
public Object[] getChildren(ASTNode node) {
List list= node.structuralPropertiesForType();
for (int i= 0; i < list.size(); i++) {
StructuralPropertyDescriptor curr= (StructuralPropertyDescriptor) list.get(i);
Object child= node.getStructuralProperty(curr);
if (child instanceof List) {
return ((List) child).toArray();
} else if (child instanceof ASTNode) {
return new Object[] { child };
}
return new Object[0];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1714 次 |
| 最近记录: |