|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.antlr.runtime.tree.BaseTree
public abstract class BaseTree
A generic tree implementation with no payload. You must subclass to actually have any user data. ANTLR v3 uses a list of children approach instead of the child-sibling approach in v2. A flat tree (a list) is an empty node whose children represent the list. An empty, but non-null node is called "nil".
Field Summary | |
---|---|
protected java.util.List |
children
|
Fields inherited from interface org.antlr.runtime.tree.Tree |
---|
INVALID_NODE |
Constructor Summary | |
---|---|
BaseTree()
|
|
BaseTree(Tree node)
Create a new node from an existing node does nothing for BaseTree as there are no fields other than the children list, which cannot be copied as the children are not considered part of this node. |
Method Summary | |
---|---|
void |
addChild(Tree t)
Add t as child of this node. |
void |
addChildren(java.util.List kids)
Add all elements of kids list as children of this node |
protected java.util.List |
createChildrenList()
Override in a subclass to change the impl of children list |
java.lang.Object |
deleteChild(int i)
|
void |
freshenParentAndChildIndexes()
Set the parent and child index values for all child of t |
void |
freshenParentAndChildIndexes(int offset)
|
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()
BaseTree doesn't track child indexes. |
java.util.List |
getChildren()
Get the children internal List; note that if you directly mess with the list, do so at your own risk. |
Tree |
getFirstChildWithType(int type)
|
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. |
boolean |
hasAncestor(int ttype)
Walk upwards looking for ancestor with this token type. |
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 |
sanityCheckParentAndChildIndexes()
|
void |
sanityCheckParentAndChildIndexes(Tree parent,
int i)
|
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)
|
abstract java.lang.String |
toString()
Override to say how a node (not a tree) should look as text |
java.lang.String |
toStringTree()
Print out a whole tree not just a node |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.antlr.runtime.tree.Tree |
---|
dupNode, getText, getTokenStartIndex, getTokenStopIndex, getType, setTokenStartIndex, setTokenStopIndex |
Field Detail |
---|
protected java.util.List children
Constructor Detail |
---|
public BaseTree()
public BaseTree(Tree node)
Method Detail |
---|
public Tree getChild(int i)
getChild
in interface Tree
public java.util.List getChildren()
public Tree getFirstChildWithType(int type)
public int getChildCount()
getChildCount
in interface Tree
public void addChild(Tree t)
addChild
in interface Tree
public void addChildren(java.util.List kids)
public void setChild(int i, Tree t)
Tree
setChild
in interface Tree
public java.lang.Object deleteChild(int i)
deleteChild
in interface Tree
public void replaceChildren(int startChildIndex, int stopChildIndex, java.lang.Object t)
replaceChildren
in interface Tree
protected java.util.List createChildrenList()
public boolean isNil()
Tree
isNil
in interface Tree
public void freshenParentAndChildIndexes()
freshenParentAndChildIndexes
in interface Tree
public void freshenParentAndChildIndexes(int offset)
public void sanityCheckParentAndChildIndexes()
public void sanityCheckParentAndChildIndexes(Tree parent, int i)
public int getChildIndex()
getChildIndex
in interface Tree
public void setChildIndex(int index)
setChildIndex
in interface Tree
public Tree getParent()
getParent
in interface Tree
public void setParent(Tree t)
setParent
in interface Tree
public boolean hasAncestor(int ttype)
hasAncestor
in interface Tree
public Tree getAncestor(int ttype)
getAncestor
in interface Tree
public java.util.List getAncestors()
getAncestors
in interface Tree
public java.lang.String toStringTree()
toStringTree
in interface Tree
public int getLine()
Tree
getLine
in interface Tree
public int getCharPositionInLine()
getCharPositionInLine
in interface Tree
public abstract java.lang.String toString()
toString
in interface Tree
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |