AbstractJspNode.java
01 package net.sourceforge.pmd.lang.jsp.ast;
02 
03 import net.sourceforge.pmd.lang.ast.AbstractNode;
04 
05 public class AbstractJspNode extends AbstractNode implements JspNode {
06 
07     protected JspParser parser;
08 
09     public AbstractJspNode(int id) {
10         super(id);
11     }
12 
13     public AbstractJspNode(JspParser parser, int id) {
14         super(id);
15         this.parser = parser;
16     }
17 
18     public void jjtOpen() {
19   if (beginLine == -&& parser.token.next != null) {
20       beginLine = parser.token.next.beginLine;
21       beginColumn = parser.token.next.beginColumn;
22   }
23     }
24 
25     public void jjtClose() {
26   if (beginLine == -&& (children == null || children.length == 0)) {
27       beginColumn = parser.token.beginColumn;
28   }
29   if (beginLine == -1) {
30       beginLine = parser.token.beginLine;
31   }
32   endLine = parser.token.endLine;
33   endColumn = parser.token.endColumn;
34     }
35 
36     /**
37      * Accept the visitor. *
38      */
39     public Object jjtAccept(JspParserVisitor visitor, Object data) {
40         return visitor.visit(this, data);
41     }
42 
43     /**
44      * Accept the visitor. *
45      */
46     public Object childrenAccept(JspParserVisitor visitor, Object data) {
47         if (children != null) {
48             for (int i = 0; i < children.length; ++i) {
49                 ((JspNodechildren[i]).jjtAccept(visitor, data);
50             }
51         }
52         return data;
53     }
54 
55     public String toString() {
56         return JspParserTreeConstants.jjtNodeName[id];
57     }
58 }