org.antlr.runtime.tree
Interface Tree

All Known Implementing Classes:
BaseTree, CommonErrorNode, CommonTree, ParseTree, RemoteDebugEventSocketListener.ProxyTree, TreeWizard.TreePattern, TreeWizard.WildcardTreePattern

public interface Tree

What 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
static Tree INVALID_NODE
           
 
Method Summary
 void addChild(Tree t)
          Add t as a child to this node.
 java.lang.Object deleteChild(int i)
           
 Tree dupNode()
           
 void freshenParentAndChildIndexes()
          Set the parent and child index values for all children
 Tree getAncestor(int ttype)
          Walk upwards and get first ancestor with this token type.
 java.util.List getAncestors()
          Return a list of all ancestors of this node.
 int getCharPositionInLine()
           
 Tree getChild(int i)
           
 int getChildCount()
           
 int getChildIndex()
          This node is what child index? 0..n-1
 int getLine()
          In case we don't have a token payload, what is the line for errors?
 Tree getParent()
           
 java.lang.String getText()
           
 int getTokenStartIndex()
          What is the smallest token index (indexing from 0) for this node and its children?
 int getTokenStopIndex()
          What is the largest token index (indexing from 0) for this node and its children?
 int getType()
          Return a token type; needed for tree parsing
 boolean hasAncestor(int ttype)
          Is there is a node above with token type ttype?
 boolean isNil()
          Indicates the node is a nil node but may still have children, meaning the tree is a flat list.
 void replaceChildren(int startChildIndex, int stopChildIndex, java.lang.Object t)
          Delete children from start to stop and replace with t even if t is a list (nil-root tree).
 void setChild(int i, Tree t)
          Set ith child (0..n-1) to t; t must be non-null and non-nil node
 void setChildIndex(int index)
           
 void setParent(Tree t)
           
 void setTokenStartIndex(int index)
           
 void setTokenStopIndex(int index)
           
 java.lang.String toString()
           
 java.lang.String toStringTree()
           
 

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

java.util.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

java.lang.Object deleteChild(int i)

replaceChildren

void replaceChildren(int startChildIndex,
                     int stopChildIndex,
                     java.lang.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

java.lang.String getText()

getLine

int getLine()
In case we don't have a token payload, what is the line for errors?


getCharPositionInLine

int getCharPositionInLine()

toStringTree

java.lang.String toStringTree()

toString

java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2011. All Rights Reserved.