public abstract class RewriteRuleElementStream extends 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 String |
elementDescription
The element or stream description; usually has name of the token or
rule reference that this list tracks.
|
protected List<Object> |
elements
The list of tokens or subtrees we are tracking
|
protected Object |
singleElement
Track single elements w/o creating a list.
|
Constructor and Description |
---|
RewriteRuleElementStream(TreeAdaptor adaptor,
String elementDescription) |
RewriteRuleElementStream(TreeAdaptor adaptor,
String elementDescription,
List<Object> elements)
Create a stream, but feed off an existing list
|
RewriteRuleElementStream(TreeAdaptor adaptor,
String elementDescription,
Object oneElement)
Create a stream with one element
|
Modifier and Type | Method and Description |
---|---|
protected Object |
_next()
do the work of getting the next element, making sure that it's
a tree node or subtree.
|
void |
add(Object el) |
protected abstract Object |
dup(Object el)
When constructing trees, sometimes we need to dup a token or AST
subtree.
|
String |
getDescription() |
boolean |
hasNext() |
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 Object |
toTree(Object el)
Ensure stream emits trees; tokens must be converted to AST nodes.
|
protected int cursor
protected Object singleElement
protected boolean dirty
protected String elementDescription
protected TreeAdaptor adaptor
public RewriteRuleElementStream(TreeAdaptor adaptor, String elementDescription)
public RewriteRuleElementStream(TreeAdaptor adaptor, String elementDescription, Object oneElement)
public RewriteRuleElementStream(TreeAdaptor adaptor, String elementDescription, List<Object> elements)
public void reset()
public void add(Object el)
public Object nextTree()
protected Object _next()
protected abstract Object dup(Object el)
protected Object toTree(Object el)
public boolean hasNext()
public int size()
public String getDescription()
Copyright © 1992–2015 ANTLR. All rights reserved.