1 22 23 package org.jboss.aop.pointcut.ast; 24 25 public class SimpleNode implements Node { 26 protected Node parent; 27 protected Node[] children; 28 protected int id; 29 protected Object parser; 30 31 public SimpleNode(int i) { 32 id = i; 33 } 34 35 public SimpleNode(Object p, int i) { 36 this(i); 37 parser = p; 38 } 39 40 public void jjtOpen() { 41 } 42 43 public void jjtClose() { 44 } 45 46 public void jjtSetParent(Node n) { parent = n; } 47 public Node jjtGetParent() { return parent; } 48 49 public void jjtAddChild(Node n, int i) { 50 if (children == null) { 51 children = new Node[i + 1]; 52 } else if (i >= children.length) { 53 Node c[] = new Node[i + 1]; 54 System.arraycopy(children, 0, c, 0, children.length); 55 children = c; 56 } 57 children[i] = n; 58 } 59 60 public Node jjtGetChild(int i) { 61 return children[i]; 62 } 63 64 public int jjtGetNumChildren() { 65 return (children == null) ? 0 : children.length; 66 } 67 68 69 public Object jjtAccept(PointcutExpressionParserVisitor visitor, Object data) { 70 return visitor.visit(this, data); 71 } 72 73 74 public Object jjtAccept(TypeExpressionParserVisitor visitor, Object data) 75 { 76 return visitor.visit(this, data); 77 } 78 79 80 public Object childrenAccept(PointcutExpressionParserVisitor visitor, Object data) { 81 if (children != null) { 82 for (int i = 0; i < children.length; ++i) { 83 children[i].jjtAccept(visitor, data); 84 } 85 } 86 return data; 87 } 88 89 90 public Object childrenAccept(TypeExpressionParserVisitor visitor, Object data) { 91 if (children != null) { 92 for (int i = 0; i < children.length; ++i) { 93 children[i].jjtAccept(visitor, data); 94 } 95 } 96 return data; 97 } 98 99 104 105 public String toString() { return PointcutExpressionParserTreeConstants.jjtNodeName[id]; } 106 public String toString(String prefix) { return prefix + toString(); } 107 108 110 111 public void dump(String prefix) { 112 System.out.println(toString(prefix)); 113 if (children != null) { 114 for (int i = 0; i < children.length; ++i) { 115 SimpleNode n = (SimpleNode)children[i]; 116 if (n != null) { 117 n.dump(prefix + " "); 118 } 119 } 120 } 121 } 122 } 123 124 | Popular Tags |