
Untitled
By: a guest on
Aug 3rd, 2012 | syntax:
None | size: 0.76 KB | hits: 10 | expires: Never
//Option #B3: Have one single node type with a reference to ElementDescriptor, have getKind() on ElementDescriptor
interface Node {
String getName();
boolean isInIterable();
Integer getIndex();
Object getKey();
ElementDescriptor getElementDescriptor();
}
//Iterating over a Path
Path path = ...;
Iterator<Node> nodeIterator = path.iterator();
while(nodeIterator.hasNext()) {
Node node = nodeIterator.next();
if(node.getElementDescriptor().getKind() == ElementKind.METHOD) {
MethodDescriptor = (MethodDescriptor)node.getElementDescriptor();
//...
}
if(node.getElementDescriptor().getKind() == ElementKind.PARAMETER) {
ParameterDescriptor = (ParameterDescriptor)node.getElementDescriptor();
//...
}
}