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 ) return null;
00052 return ((Tree)t).dupNode();
00053 }
00054
00055 public Object create(Token payload) {
00056 return new CommonTree(payload);
00057 }
00058
00067 public Token createToken(int tokenType, String text) {
00068 return new CommonToken(tokenType, text);
00069 }
00070
00085 public Token createToken(Token fromToken) {
00086 return new CommonToken(fromToken);
00087 }
00088
00094 public void setTokenBoundaries(Object t, Token startToken, Token stopToken) {
00095 if ( t==null ) return;
00096 int start = 0;
00097 int stop = 0;
00098 if ( startToken!=null ) start = startToken.getTokenIndex();
00099 if ( stopToken!=null ) stop = stopToken.getTokenIndex();
00100 ((Tree)t).setTokenStartIndex(start);
00101 ((Tree)t).setTokenStopIndex(stop);
00102 }
00103
00104 public int getTokenStartIndex(Object t) {
00105 if ( t==null ) return -1;
00106 return ((Tree)t).getTokenStartIndex();
00107 }
00108
00109 public int getTokenStopIndex(Object t) {
00110 if ( t==null ) return -1;
00111 return ((Tree)t).getTokenStopIndex();
00112 }
00113
00114 public String getText(Object t) {
00115 if ( t==null ) return null;
00116 return ((Tree)t).getText();
00117 }
00118
00119 public int getType(Object t) {
00120 if ( t==null ) return Token.INVALID_TOKEN_TYPE;
00121 return ((Tree)t).getType();
00122 }
00123
00128 public Token getToken(Object t) {
00129 if ( t instanceof CommonTree ) {
00130 return ((CommonTree)t).getToken();
00131 }
00132 return null;
00133 }
00134
00135 public Object getChild(Object t, int i) {
00136 if ( t==null ) return null;
00137 return ((Tree)t).getChild(i);
00138 }
00139
00140 public int getChildCount(Object t) {
00141 if ( t==null ) return 0;
00142 return ((Tree)t).getChildCount();
00143 }
00144
00145 public Object getParent(Object t) {
00146 if ( t==null ) return null;
00147 return ((Tree)t).getParent();
00148 }
00149
00150 public void setParent(Object t, Object parent) {
00151 if ( t!=null ) ((Tree)t).setParent((Tree)parent);
00152 }
00153
00154 public int getChildIndex(Object t) {
00155 if ( t==null ) return 0;
00156 return ((Tree)t).getChildIndex();
00157 }
00158
00159 public void setChildIndex(Object t, int index) {
00160 if ( t!=null ) ((Tree)t).setChildIndex(index);
00161 }
00162
00163 public void replaceChildren(Object parent, int startChildIndex, int stopChildIndex, Object t) {
00164 if ( parent!=null ) {
00165 ((Tree)parent).replaceChildren(startChildIndex, stopChildIndex, t);
00166 }
00167 }
00168 }