Click or drag to resize

RewriteRuleSubtreeStream Class

[Missing <summary> documentation for "T:Stimulsoft.Data.Expressions.Antlr.Runtime.Tree.RewriteRuleSubtreeStream"]

Inheritance Hierarchy
SystemObject
  Stimulsoft.Data.Expressions.Antlr.Runtime.TreeRewriteRuleElementStream
    Stimulsoft.Data.Expressions.Antlr.Runtime.TreeRewriteRuleSubtreeStream

Namespace:  Stimulsoft.Data.Expressions.Antlr.Runtime.Tree
Assembly:  Stimulsoft.Data (in Stimulsoft.Data.dll) Version: 2019.3.1.0
Syntax
[SerializableAttribute]
public class RewriteRuleSubtreeStream : RewriteRuleElementStream

The RewriteRuleSubtreeStream type exposes the following members.

Constructors
  NameDescription
Public methodRewriteRuleSubtreeStream(ITreeAdaptor, String)
Initializes a new instance of the RewriteRuleSubtreeStream class
Public methodRewriteRuleSubtreeStream(ITreeAdaptor, String, IList)
Create a stream, but feed off an existing list
Public methodRewriteRuleSubtreeStream(ITreeAdaptor, String, Object)
Create a stream with one element
Top
Properties
  NameDescription
Public propertyCount (Inherited from RewriteRuleElementStream.)
Public propertyDescription (Inherited from RewriteRuleElementStream.)
Public propertyHasNext (Inherited from RewriteRuleElementStream.)
Top
Methods
  NameDescription
Public methodAdd (Inherited from RewriteRuleElementStream.)
Protected methodDup (Overrides RewriteRuleElementStreamDup(Object).)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodNextCore
Do the work of getting the next element, making sure that it's a tree node or subtree. Deal with the optimization of single- element list versus list of size > 1. Throw an exception if the stream is empty or we're out of elements and size>1. protected so you can override in a subclass if necessary.
(Inherited from RewriteRuleElementStream.)
Public methodNextNode
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.
Public methodNextTree
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).
(Inherited from RewriteRuleElementStream.)
Public methodReset
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.
(Inherited from RewriteRuleElementStream.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Protected methodToTree
Ensure stream emits trees; tokens must be converted to AST nodes. AST nodes can be passed through unmolested.
(Inherited from RewriteRuleElementStream.)
Top
Fields
  NameDescription
Protected fieldadaptor (Inherited from RewriteRuleElementStream.)
Protected fieldcursor
Cursor 0..n-1. If singleElement!=null, cursor is 0 until you next(), which bumps it to 1 meaning no more elements.
(Inherited from RewriteRuleElementStream.)
Protected fielddirty
Once a node / subtree has been used in a stream, it must be dup'd from then on. Streams are reset after subrules so that the streams can be reused in future subrules. So, reset must set a dirty bit. If dirty, then next() always returns a dup.
(Inherited from RewriteRuleElementStream.)
Protected fieldelementDescription
The element or stream description; usually has name of the token or rule reference that this list tracks. Can include rulename too, but the exception would track that info.
(Inherited from RewriteRuleElementStream.)
Protected fieldelements
The list of tokens or subtrees we are tracking
(Inherited from RewriteRuleElementStream.)
Protected fieldsingleElement
Track single elements w/o creating a list. Upon 2nd add, alloc list
(Inherited from RewriteRuleElementStream.)
Top
See Also