import java.util.*;
import java.lang.reflect.*;
+/** use of this class is not recommended; it can handle only S-attributed grammars */
public class ReflectiveWalker extends StringWalker {
public ReflectiveWalker() { this.target = this; }
public ReflectiveWalker(Object target) { this.target = target; }
}
return ret.toString();
}
+ /*
public Object walk(Tree<String> tree) {
if (tree.head()!=null) {
Member m = member("$"+normalize(tree.head()), 0, false);
+ if (m!=null) {
+ if ((m instanceof Method) && ((Method)m).getReturnType()==Void.TYPE) {
+ Reflection.fuzzyInvoke(target, m, new Object[0]);
+ }
+ }
}
return super.walk(tree);
}
+ */
public Object walk(String tag, Object[] argo) {
if (argo.length==0) return super.walk(tag, argo);
if (argo==null) return tag;