RewriteRuleNodeStream
, RewriteRuleSubtreeStream
, RewriteRuleTokenStream
public abstract class RewriteRuleElementStream extends Object
Modifier and Type | Field | 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 | Description |
---|---|
RewriteRuleElementStream(TreeAdaptor adaptor,
String elementDescription) |
|
RewriteRuleElementStream(TreeAdaptor adaptor,
String elementDescription,
Object oneElement) |
Create a stream with one element
|
RewriteRuleElementStream(TreeAdaptor adaptor,
String elementDescription,
List<Object> elements) |
Create a stream, but feed off an existing list
|
Modifier and Type | Method | 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–2018 ANTLR. All rights reserved.