Using Eclise JDT, I need to retrieve the children of any ASTNode. Is there a utility method somewhere that I could use ?
The only way I can think of right now is to subclass ASTVisitor and treat each kind of node manually to find its children. But it's a lot of work to study every node type.
I would start by looking at source of ASTView Plugin, since that also does the same thing.
Based on the code in
the required code should look something like this
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];
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With