Top Description Fields Constructors Methods
org.antlr.runtime.tree

public Class TreeIterator

extends Object
implements Iterator<Object>
Class Inheritance
All Implemented Interfaces
java.util.Iterator
Imports
org.antlr.runtime.Token, org.antlr.runtime.misc.FastQueue, java.util.Iterator

Return a node stream from a doubly-linked tree whose nodes know what child index they are. No remove() is supported. Emit navigation nodes (DOWN, UP, and EOF) to let show tree structure.

Field Summary

Modifier and TypeField and Description
protected TreeAdaptor
public Object
public Object
protected boolean
protected FastQueue<Object>
nodes

If we emit UP/DOWN nodes, we need to spit out multiple nodes per next() call.

protected Object
protected Object
public Object

Constructor Summary

AccessConstructor and Description
public
public

Method Summary

Modifier and TypeMethod and Description
public boolean
hasNext()

Implements java.util.Iterator.hasNext.

Returns true if the iteration has more elements.
public Object
next()

Implements java.util.Iterator.next.

Returns the next element in the iteration.
public void
remove()

Overrides default java.util.Iterator.remove.

Removes from the underlying collection the last element returned by this iterator (optional operation).
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

adaptorback to summary
protected TreeAdaptor adaptor
downback to summary
public Object down
eofback to summary
public Object eof
firstTimeback to summary
protected boolean firstTime
nodesback to summary
protected FastQueue<Object> nodes

If we emit UP/DOWN nodes, we need to spit out multiple nodes per next() call.

rootback to summary
protected Object root
treeback to summary
protected Object tree
upback to summary
public Object up

Constructor Detail

TreeIteratorback to summary
public TreeIterator(Object tree)
TreeIteratorback to summary
public TreeIterator(TreeAdaptor adaptor, Object tree)

Method Detail

hasNextback to summary
public boolean hasNext()

Implements java.util.Iterator.hasNext.

Doc from java.util.Iterator.hasNext.

Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.)

Returns:boolean

true if the iteration has more elements

Annotations
@Override
nextback to summary
public Object next()

Implements java.util.Iterator.next.

Doc from java.util.Iterator.next.

Returns the next element in the iteration.

Returns:Object

the next element in the iteration

Annotations
@Override
removeback to summary
public void remove()

Overrides default java.util.Iterator.remove.

Doc from java.util.Iterator.remove.

Removes from the underlying collection the last element returned by this iterator (optional operation). This method can be called only once per call to next.

The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method, unless an overriding class has specified a concurrent modification policy.

The behavior of an iterator is unspecified if this method is called after a call to the forEachRemaining method.

Annotations
@Override
resetback to summary
public void reset()