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.Token;
00031 import org.antlr.runtime.TokenStream;
00032 import org.antlr.runtime.RecognitionException;
00033
00043 public interface TreeAdaptor {
00044
00045
00052 public Object create(Token payload);
00053
00057 public Object dupNode(Object treeNode);
00058
00060 public Object dupTree(Object tree);
00061
00066 public Object nil();
00067
00082 public Object errorNode(TokenStream input, Token start, Token stop, RecognitionException e);
00083
00085 public boolean isNil(Object tree);
00086
00094 public void addChild(Object t, Object child);
00095
00122 public Object becomeRoot(Object newRoot, Object oldRoot);
00123
00137 public Object rulePostProcessing(Object root);
00138
00145 public int getUniqueID(Object node);
00146
00147
00148
00149
00161 public Object becomeRoot(Token newRoot, Object oldRoot);
00162
00169 public Object create(int tokenType, Token fromToken);
00170
00177 public Object create(int tokenType, Token fromToken, String text);
00178
00185 public Object create(int tokenType, String text);
00186
00187
00188
00189
00191 public int getType(Object t);
00192
00194 public void setType(Object t, int type);
00195
00196 public String getText(Object t);
00197
00199 public void setText(Object t, String text);
00200
00210 public Token getToken(Object t);
00211
00218 public void setTokenBoundaries(Object t, Token startToken, Token stopToken);
00219
00221 public int getTokenStartIndex(Object t);
00222
00224 public int getTokenStopIndex(Object t);
00225
00226
00227
00228
00230 public Object getChild(Object t, int i);
00231
00233 public void setChild(Object t, int i, Object child);
00234
00236 public Object deleteChild(Object t, int i);
00237
00239 public int getChildCount(Object t);
00240
00245 public Object getParent(Object t);
00246 public void setParent(Object t, Object parent);
00247
00252 public int getChildIndex(Object t);
00253 public void setChildIndex(Object t, int index);
00254
00262 public void replaceChildren(Object parent, int startChildIndex, int stopChildIndex, Object t);
00263 }