View Javadoc

1   package net.sourceforge.pmd.ast;
2   
3   public class SimpleJavaNode extends SimpleNode implements JavaNode {
4   
5       public SimpleJavaNode(JavaParser p, int i) {
6           super(p, i);
7       }
8   
9       public SimpleJavaNode(int i) {
10          super(i);
11      }
12  
13      public void jjtOpen() {
14          if (beginLine == -1 && parser.token.next != null) {
15              beginLine = parser.token.next.beginLine;
16              beginColumn = parser.token.next.beginColumn;
17          }
18      }
19  
20      public void jjtClose() {
21          if (beginLine == -1 && (children == null || children.length == 0)) {
22              beginColumn = parser.token.beginColumn;
23          }
24          if (beginLine == -1) {
25              beginLine = parser.token.beginLine;
26          }
27          endLine = parser.token.endLine;
28          endColumn = parser.token.endColumn;
29      }
30  
31      /**
32       * Accept the visitor. *
33       */
34      public Object jjtAccept(JavaParserVisitor visitor, Object data) {
35          return visitor.visit(this, data);
36      }
37  
38      /**
39       * Accept the visitor. *
40       */
41      public Object childrenAccept(JavaParserVisitor visitor, Object data) {
42          if (children != null) {
43              for (int i = 0; i < children.length; ++i) {
44                  ((JavaNode) children[i]).jjtAccept(visitor, data);
45              }
46          }
47          return data;
48      }
49      
50      /* You can override these two methods in subclasses of SimpleNode to
51      customize the way the node appears when the tree is dumped.  If
52      your output uses more than one line you should override
53      toString(String), otherwise overriding toString() is probably all
54      you need to do. 
55     
56      Changing this method is dangerous, since it is used by the XPathRule
57      for evaluating Element Names !!
58    */
59  
60      public String toString() {
61          return JavaParserTreeConstants.jjtNodeName[id];
62      }
63  }