00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 package org.antlr.runtime.tree;
00029
00030 import org.antlr.runtime.CommonToken;
00031 import org.antlr.runtime.Token;
00032
00043 public class CommonTreeAdaptor extends BaseTreeAdaptor {
00050 public Object dupNode(Object t) {
00051 if ( t==null ) {
00052 return null;
00053 }
00054 return ((Tree)t).dupNode();
00055 }
00056
00057 public Object create(Token payload) {
00058 return new CommonTree(payload);
00059 }
00060
00069 public Token createToken(int tokenType, String text) {
00070 return new CommonToken(tokenType, text);
00071 }
00072
00087 public Token createToken(Token fromToken) {
00088 return new CommonToken(fromToken);
00089 }
00090
00096 public void setTokenBoundaries(Object t, Token startToken, Token stopToken) {
00097 if ( t==null ) {
00098 return;
00099 }
00100 int start = 0;
00101 int stop = 0;
00102 if ( startToken!=null ) {
00103 start = startToken.getTokenIndex();
00104 }
00105 if ( stopToken!=null ) {
00106 stop = stopToken.getTokenIndex();
00107 }
00108 ((Tree)t).setTokenStartIndex(start);
00109 ((Tree)t).setTokenStopIndex(stop);
00110 }
00111
00112 public int getTokenStartIndex(Object t) {
00113 if ( t==null ) {
00114 return -1;
00115 }
00116 return ((Tree)t).getTokenStartIndex();
00117 }
00118
00119 public int getTokenStopIndex(Object t) {
00120 if ( t==null ) {
00121 return -1;
00122 }
00123 return ((Tree)t).getTokenStopIndex();
00124 }
00125
00126 public String getText(Object t) {
00127 if ( t==null ) {
00128 return null;
00129 }
00130 return ((Tree)t).getText();
00131 }
00132
00133 public int getType(Object t) {
00134 if ( t==null ) {
00135 return Token.INVALID_TOKEN_TYPE;
00136 }
00137 return ((Tree)t).getType();
00138 }
00139
00144 public Token getToken(Object t) {
00145 if ( t instanceof CommonTree ) {
00146 return ((CommonTree)t).getToken();
00147 }
00148 return null;
00149 }
00150
00151 public Object getChild(Object t, int i) {
00152 if ( t==null ) {
00153 return null;
00154 }
00155 return ((Tree)t).getChild(i);
00156 }
00157
00158 public int getChildCount(Object t) {
00159 if ( t==null ) {
00160 return 0;
00161 }
00162 return ((Tree)t).getChildCount();
00163 }
00164
00165 public Object getParent(Object t) {
00166 return ((Tree)t).getParent();
00167 }
00168
00169 public void setParent(Object t, Object parent) {
00170 ((Tree)t).setParent((Tree)parent);
00171 }
00172
00173 public int getChildIndex(Object t) {
00174 return ((Tree)t).getChildIndex();
00175 }
00176
00177 public void setChildIndex(Object t, int index) {
00178 ((Tree)t).setChildIndex(index);
00179 }
00180
00181 public void replaceChildren(Object parent, int startChildIndex, int stopChildIndex, Object t) {
00182 if ( parent!=null ) {
00183 ((Tree)parent).replaceChildren(startChildIndex, stopChildIndex, t);
00184 }
00185 }
00186 }