org.antlr.runtime.tree
Class CommonTree

java.lang.Object
  extended by org.antlr.runtime.tree.BaseTree
      extended by org.antlr.runtime.tree.CommonTree
All Implemented Interfaces:
Tree
Direct Known Subclasses:
CommonErrorNode, TreeWizard.TreePattern

public class CommonTree
extends BaseTree

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.


Field Summary
 int childIndex
          What index is this node in the child list? Range: 0..n-1
 CommonTree parent
          Who is the parent node of this node; if null, implies node is root
protected  int startIndex
          What token indexes bracket all tokens associated with this node and below?
protected  int stopIndex
          What token indexes bracket all tokens associated with this node and below?
 Token token
          A single token is the payload
 
Fields inherited from class org.antlr.runtime.tree.BaseTree
children
 
Fields inherited from interface org.antlr.runtime.tree.Tree
INVALID_NODE
 
Constructor Summary
CommonTree()
           
CommonTree(CommonTree node)
           
CommonTree(Token t)
           
 
Method Summary
 Tree dupNode()
           
 int getCharPositionInLine()
           
 int getChildIndex()
          BaseTree doesn't track child indexes.
 int getLine()
          In case we don't have a token payload, what is the line for errors?
 Tree getParent()
          BaseTree doesn't track parent pointers.
 java.lang.String getText()
           
 Token getToken()
           
 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 isNil()
          Indicates the node is a nil node but may still have children, meaning the tree is a flat list.
 void setChildIndex(int index)
           
 void setParent(Tree t)
           
 void setTokenStartIndex(int index)
           
 void setTokenStopIndex(int index)
           
 void setUnknownTokenBoundaries()
          For every node in this subtree, make sure it's start/stop token's are set.
 java.lang.String toString()
          Override to say how a node (not a tree) should look as text
 
Methods inherited from class org.antlr.runtime.tree.BaseTree
addChild, addChildren, createChildrenList, deleteChild, freshenParentAndChildIndexes, freshenParentAndChildIndexes, getAncestor, getAncestors, getChild, getChildCount, getChildren, getFirstChildWithType, hasAncestor, replaceChildren, sanityCheckParentAndChildIndexes, sanityCheckParentAndChildIndexes, setChild, toStringTree
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

token

public Token token
A single token is the payload


startIndex

protected int startIndex
What token indexes bracket all tokens associated with this node and below?


stopIndex

protected int stopIndex
What token indexes bracket all tokens associated with this node and below?


parent

public CommonTree parent
Who is the parent node of this node; if null, implies node is root


childIndex

public int childIndex
What index is this node in the child list? Range: 0..n-1

Constructor Detail

CommonTree

public CommonTree()

CommonTree

public CommonTree(CommonTree node)

CommonTree

public CommonTree(Token t)
Method Detail

getToken

public Token getToken()

dupNode

public Tree dupNode()

isNil

public boolean isNil()
Description copied from interface: Tree
Indicates the node is a nil node but may still have children, meaning the tree is a flat list.

Specified by:
isNil in interface Tree
Overrides:
isNil in class BaseTree

getType

public int getType()
Description copied from interface: Tree
Return a token type; needed for tree parsing


getText

public java.lang.String getText()

getLine

public int getLine()
Description copied from interface: Tree
In case we don't have a token payload, what is the line for errors?

Specified by:
getLine in interface Tree
Overrides:
getLine in class BaseTree

getCharPositionInLine

public int getCharPositionInLine()
Specified by:
getCharPositionInLine in interface Tree
Overrides:
getCharPositionInLine in class BaseTree

getTokenStartIndex

public int getTokenStartIndex()
Description copied from interface: Tree
What is the smallest token index (indexing from 0) for this node and its children?


setTokenStartIndex

public void setTokenStartIndex(int index)

getTokenStopIndex

public int getTokenStopIndex()
Description copied from interface: Tree
What is the largest token index (indexing from 0) for this node and its children?


setTokenStopIndex

public void setTokenStopIndex(int index)

setUnknownTokenBoundaries

public void setUnknownTokenBoundaries()
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.


getChildIndex

public int getChildIndex()
Description copied from class: BaseTree
BaseTree doesn't track child indexes.

Specified by:
getChildIndex in interface Tree
Overrides:
getChildIndex in class BaseTree

getParent

public Tree getParent()
Description copied from class: BaseTree
BaseTree doesn't track parent pointers.

Specified by:
getParent in interface Tree
Overrides:
getParent in class BaseTree

setParent

public void setParent(Tree t)
Specified by:
setParent in interface Tree
Overrides:
setParent in class BaseTree

setChildIndex

public void setChildIndex(int index)
Specified by:
setChildIndex in interface Tree
Overrides:
setChildIndex in class BaseTree

toString

public java.lang.String toString()
Description copied from class: BaseTree
Override to say how a node (not a tree) should look as text

Specified by:
toString in interface Tree
Specified by:
toString in class BaseTree


Copyright © 2013. All Rights Reserved.