public abstract class RewriteRuleElementStream
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected TreeAdaptor |
adaptor |
protected int |
cursor
Cursor 0..n-1.
|
protected boolean |
dirty
Once a node / subtree has been used in a stream, it must be dup'd
from then on.
|
protected java.lang.String |
elementDescription
The element or stream description; usually has name of the token or
rule reference that this list tracks.
|
protected java.util.List<java.lang.Object> |
elements
The list of tokens or subtrees we are tracking
|
protected java.lang.Object |
singleElement
Track single elements w/o creating a list.
|
| Constructor and Description |
|---|
RewriteRuleElementStream(TreeAdaptor adaptor,
java.lang.String elementDescription) |
RewriteRuleElementStream(TreeAdaptor adaptor,
java.lang.String elementDescription,
java.util.List<java.lang.Object> elements)
Create a stream, but feed off an existing list
|
RewriteRuleElementStream(TreeAdaptor adaptor,
java.lang.String elementDescription,
java.lang.Object oneElement)
Create a stream with one element
|
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.Object |
_next()
do the work of getting the next element, making sure that it's
a tree node or subtree.
|
void |
add(java.lang.Object el) |
protected abstract java.lang.Object |
dup(java.lang.Object el)
When constructing trees, sometimes we need to dup a token or AST
subtree.
|
java.lang.String |
getDescription() |
boolean |
hasNext() |
java.lang.Object |
nextTree()
Return the next element in the stream.
|
void |
reset()
Reset the condition of this stream so that it appears we have
not consumed any of its elements.
|
int |
size() |
protected java.lang.Object |
toTree(java.lang.Object el)
Ensure stream emits trees; tokens must be converted to AST nodes.
|
protected int cursor
protected java.lang.Object singleElement
protected java.util.List<java.lang.Object> elements
protected boolean dirty
protected java.lang.String elementDescription
protected TreeAdaptor adaptor
public RewriteRuleElementStream(TreeAdaptor adaptor, java.lang.String elementDescription)
public RewriteRuleElementStream(TreeAdaptor adaptor, java.lang.String elementDescription, java.lang.Object oneElement)
public RewriteRuleElementStream(TreeAdaptor adaptor, java.lang.String elementDescription, java.util.List<java.lang.Object> elements)
public void reset()
public void add(java.lang.Object el)
public java.lang.Object nextTree()
protected java.lang.Object _next()
protected abstract java.lang.Object dup(java.lang.Object el)
protected java.lang.Object toTree(java.lang.Object el)
public boolean hasNext()
public int size()
public java.lang.String getDescription()