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 |
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 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 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 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()
Copyright © 2012. All Rights Reserved.