类 RewriteRuleSubtreeStream
- java.lang.Object
-
- org.antlr.runtime.tree.RewriteRuleElementStream
-
- org.antlr.runtime.tree.RewriteRuleSubtreeStream
-
public class RewriteRuleSubtreeStream extends RewriteRuleElementStream
-
-
字段概要
-
从类继承的字段 org.antlr.runtime.tree.RewriteRuleElementStream
adaptor, cursor, dirty, elementDescription, elements, singleElement
-
-
构造器概要
构造器 构造器 说明 RewriteRuleSubtreeStream(TreeAdaptor adaptor, java.lang.String elementDescription)
RewriteRuleSubtreeStream(TreeAdaptor adaptor, java.lang.String elementDescription, java.lang.Object oneElement)
Create a stream with one elementRewriteRuleSubtreeStream(TreeAdaptor adaptor, java.lang.String elementDescription, java.util.List<java.lang.Object> elements)
Create a stream, but feed off an existing list
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected java.lang.Object
dup(java.lang.Object el)
When constructing trees, sometimes we need to dup a token or AST subtree.java.lang.Object
nextNode()
Treat next element as a single node even if it's a subtree.-
从类继承的方法 org.antlr.runtime.tree.RewriteRuleElementStream
_next, add, getDescription, hasNext, nextTree, reset, size, toTree
-
-
-
-
构造器详细资料
-
RewriteRuleSubtreeStream
public RewriteRuleSubtreeStream(TreeAdaptor adaptor, java.lang.String elementDescription)
-
RewriteRuleSubtreeStream
public RewriteRuleSubtreeStream(TreeAdaptor adaptor, java.lang.String elementDescription, java.lang.Object oneElement)
Create a stream with one element
-
RewriteRuleSubtreeStream
public RewriteRuleSubtreeStream(TreeAdaptor adaptor, java.lang.String elementDescription, java.util.List<java.lang.Object> elements)
Create a stream, but feed off an existing list
-
-
方法详细资料
-
nextNode
public java.lang.Object nextNode()
Treat next element as a single node even if it's a subtree. This is used instead of next() when the result has to be a tree root node. Also prevents us from duplicating recently-added children; e.g., ^(type ID)+ adds ID to type and then 2nd iteration must dup the type node, but ID has been added. Referencing a rule result twice is ok; dup entire tree as we can't be adding trees as root; e.g., expr expr. Hideous code duplication here with super.next(). Can't think of a proper way to refactor. This needs to always call dup node and super.next() doesn't know which to call: dup node or dup tree.
-
dup
protected java.lang.Object dup(java.lang.Object el)
从类复制的说明:RewriteRuleElementStream
When constructing trees, sometimes we need to dup a token or AST subtree. Dup'ing a token means just creating another AST node around it. For trees, you must call the adaptor.dupTree() unless the element is for a tree root; then it must be a node dup.- 指定者:
dup
在类中RewriteRuleElementStream
-
-