App Engine Python SDK  v1.6.9 rev.445
The Python runtime is available as an experimental Preview feature.
Public Member Functions | Public Attributes | List of all members
google.appengine._internal.antlr3.tree.RewriteRuleElementStream Class Reference
Inheritance diagram for google.appengine._internal.antlr3.tree.RewriteRuleElementStream:
google.appengine._internal.antlr3.tree.RewriteRuleNodeStream google.appengine._internal.antlr3.tree.RewriteRuleSubtreeStream google.appengine._internal.antlr3.tree.RewriteRuleTokenStream

Public Member Functions

def __init__
 
def reset
 
def add
 
def nextTree
 
def dup
 
def toTree
 
def hasNext
 
def size
 
def getDescription
 

Public Attributes

 cursor
 
 singleElement
 
 elements
 
 dirty
 
 elementDescription
 
 adaptor
 

Detailed Description

@brief Internal helper class.

A generic list of elements tracked in an alternative to be used in
a -> rewrite rule.  We need to subclass to fill in the next() method,
which returns either an AST node wrapped around a token payload or
an existing subtree.

Once you start next()ing, do not try to add more elements.  It will
break the cursor tracking I believe.

@see org.antlr.runtime.tree.RewriteRuleSubtreeStream
@see org.antlr.runtime.tree.RewriteRuleTokenStream

TODO: add mechanism to detect/puke on modification after reading from
stream

Member Function Documentation

def google.appengine._internal.antlr3.tree.RewriteRuleElementStream.dup (   self,
  el 
)
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.
def google.appengine._internal.antlr3.tree.RewriteRuleElementStream.getDescription (   self)
Deprecated. Directly access elementDescription attribute
def google.appengine._internal.antlr3.tree.RewriteRuleElementStream.nextTree (   self)
Return the next element in the stream.  If out of elements, throw
an exception unless size()==1.  If size is 1, then return elements[0].

Return a duplicate node/subtree if stream is out of elements and
size==1. If we've already used the element, dup (dirty bit set).
def google.appengine._internal.antlr3.tree.RewriteRuleElementStream.reset (   self)
Reset the condition of this stream so that it appears we have
not consumed any of its elements.  Elements themselves are untouched.
Once we reset the stream, any future use will need duplicates.  Set
the dirty bit.
def google.appengine._internal.antlr3.tree.RewriteRuleElementStream.toTree (   self,
  el 
)
Ensure stream emits trees; tokens must be converted to AST nodes.
AST nodes can be passed through unmolested.

The documentation for this class was generated from the following file: