Package org.antlr.runtime.tree
Interface Tree
-
- All Known Implementing Classes:
BaseTree,CommonErrorNode,CommonTree,ParseTree,RemoteDebugEventSocketListener.ProxyTree,TreeWizard.TreePattern,TreeWizard.WildcardTreePattern
public interface TreeWhat does a tree look like? ANTLR has a number of support classes such as CommonTreeNodeStream that work on these kinds of trees. You don't have to make your trees implement this interface, but if you do, you'll be able to use more support code. NOTE: When constructing trees, ANTLR can build any kind of tree; it can even use Token objects as trees if you add a child list to your tokens. This is a tree node without any payload; just navigation and factory stuff.
-
-
Field Summary
Fields Modifier and Type Field Description static TreeINVALID_NODE
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddChild(Tree t)Add t as a child to this node.ObjectdeleteChild(int i)TreedupNode()voidfreshenParentAndChildIndexes()Set the parent and child index values for all childrenTreegetAncestor(int ttype)Walk upwards and get first ancestor with this token type.List<?>getAncestors()Return a list of all ancestors of this node.intgetCharPositionInLine()TreegetChild(int i)intgetChildCount()intgetChildIndex()This node is what child index? 0..n-1intgetLine()In case we don't have a token payload, what is the line for errors?TreegetParent()StringgetText()intgetTokenStartIndex()What is the smallest token index (indexing from 0) for this node and its children?intgetTokenStopIndex()What is the largest token index (indexing from 0) for this node and its children?intgetType()Return a token type; needed for tree parsingbooleanhasAncestor(int ttype)Is there is a node above with token type ttype?booleanisNil()Indicates the node is a nil node but may still have children, meaning the tree is a flat list.voidreplaceChildren(int startChildIndex, int stopChildIndex, Object t)Delete children from start to stop and replace with t even if t is a list (nil-root tree).voidsetChild(int i, Tree t)Set ith child (0..n-1) to t; t must be non-null and non-nil nodevoidsetChildIndex(int index)voidsetParent(Tree t)voidsetTokenStartIndex(int index)voidsetTokenStopIndex(int index)StringtoString()StringtoStringTree()
-
-
-
Field Detail
-
INVALID_NODE
static final Tree INVALID_NODE
-
-
Method Detail
-
getChild
Tree getChild(int i)
-
getChildCount
int getChildCount()
-
getParent
Tree getParent()
-
setParent
void setParent(Tree t)
-
hasAncestor
boolean hasAncestor(int ttype)
Is there is a node above with token type ttype?
-
getAncestor
Tree getAncestor(int ttype)
Walk upwards and get first ancestor with this token type.
-
getAncestors
List<?> getAncestors()
Return a list of all ancestors of this node. The first node of list is the root and the last is the parent of this node.
-
getChildIndex
int getChildIndex()
This node is what child index? 0..n-1
-
setChildIndex
void setChildIndex(int index)
-
freshenParentAndChildIndexes
void freshenParentAndChildIndexes()
Set the parent and child index values for all children
-
addChild
void addChild(Tree t)
Add t as a child to this node. If t is null, do nothing. If t is nil, add all children of t to this' children.
-
setChild
void setChild(int i, Tree t)Set ith child (0..n-1) to t; t must be non-null and non-nil node
-
deleteChild
Object deleteChild(int i)
-
replaceChildren
void replaceChildren(int startChildIndex, int stopChildIndex, Object t)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.
-
isNil
boolean isNil()
Indicates the node is a nil node but may still have children, meaning the tree is a flat list.
-
getTokenStartIndex
int getTokenStartIndex()
What is the smallest token index (indexing from 0) for this node and its children?
-
setTokenStartIndex
void setTokenStartIndex(int index)
-
getTokenStopIndex
int getTokenStopIndex()
What is the largest token index (indexing from 0) for this node and its children?
-
setTokenStopIndex
void setTokenStopIndex(int index)
-
dupNode
Tree dupNode()
-
getType
int getType()
Return a token type; needed for tree parsing
-
getText
String getText()
-
getLine
int getLine()
In case we don't have a token payload, what is the line for errors?
-
getCharPositionInLine
int getCharPositionInLine()
-
toStringTree
String toStringTree()
-
-