What index is this node in the child list? Range: 0..n-1
Get the children internal List; note that if you directly mess with the list, do so at your own risk.
Who is the parent node of this node; if null, implies node is root
What token indexes bracket all tokens associated with this node and below?
Add t as child of this node.
Warning: if t has no children, but child does and child isNil then this routine moves children to t via t.children = child.children; i.e., without copying the array.
Set the parent and child index values for all child of t
Walk upwards and get first ancestor with this token type.
Walk upwards looking for ancestor with this token type.
Insert child t at child position i (0..n-1) by shifting children i+1..n-1 to the right one position. Set parent / indexes properly but does NOT collapse nil-rooted t's that come in here like addChild.
Delete children from start to stop and replace with t even if t is a list (nil-root tree). num of children can increase or decrease. For huge child lists, inserting children can force walking rest of children to set their childindex; could be slow.
For every node in this subtree, make sure it's start/stop token's are set. Walk depth first, visit bottom up. Only updates nodes with at least one token index < 0.
Print out a whole tree not just a node
Generated using TypeDoc
A tree node that is wrapper for a Token object. After 3.0 release while building tree rewrite stuff, it became clear that computing parent and child index is very difficult and cumbersome. Better to spend the space in every tree node. If you don't want these extra fields, it's easy to cut them out in your own BaseTree subclass.