Package com.github.javaparser.ast
Class Node.PostOrderIterator
- java.lang.Object
-
- com.github.javaparser.ast.Node.PostOrderIterator
-
- All Implemented Interfaces:
java.util.Iterator<Node>
- Enclosing class:
- Node
public static class Node.PostOrderIterator extends java.lang.Object implements java.util.Iterator<Node>
Performs a post-order (or leaves-first) node traversal starting with a given node.- See Also:
- Post-order traversal
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
Node.PostOrderIterator.Level
Represents a level in the traversal stack during the post-order iteration.
-
Field Summary
Fields Modifier and Type Field Description private java.util.Stack<Node.PostOrderIterator.Level>
stack
-
Constructor Summary
Constructors Constructor Description PostOrderIterator(Node root)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
cleanupStack(Node.PostOrderIterator.Level state)
private void
expand(Node.PostOrderIterator.Level state)
private Node
getNextAndCleanupStack(Node.PostOrderIterator.Level state)
boolean
hasNext()
Node
next()
-
-
-
Field Detail
-
stack
private final java.util.Stack<Node.PostOrderIterator.Level> stack
-
-
Constructor Detail
-
PostOrderIterator
public PostOrderIterator(Node root)
-
-
Method Detail
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfacejava.util.Iterator<Node>
-
getNextAndCleanupStack
private Node getNextAndCleanupStack(Node.PostOrderIterator.Level state)
-
cleanupStack
private void cleanupStack(Node.PostOrderIterator.Level state)
-
expand
private void expand(Node.PostOrderIterator.Level state)
-
-