/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.vf.ast;
import net.sourceforge.pmd.lang.ast.AbstractNode;
public class AbstractVFNode extends AbstractNode implements VfNode {
protected VfParser parser;
public AbstractVFNode(int id) {
super(id);
}
public AbstractVFNode(VfParser parser, int id) {
super(id);
this.parser = parser;
}
public void jjtOpen() {
if (beginLine == -1 && parser.token.next != null) {
beginLine = parser.token.next.beginLine;
beginColumn = parser.token.next.beginColumn;
}
}
public void jjtClose() {
if (beginLine == -1 && (children == null || children.length == 0)) {
beginColumn = parser.token.beginColumn;
}
if (beginLine == -1) {
beginLine = parser.token.beginLine;
}
endLine = parser.token.endLine;
endColumn = parser.token.endColumn;
}
/**
* Accept the visitor. *
*/
public Object jjtAccept(VfParserVisitor visitor, Object data) {
return visitor.visit(this, data);
}
/**
* Accept the visitor. *
*/
public Object childrenAccept(VfParserVisitor visitor, Object data) {
if (children != null) {
for (int i = 0; i < children.length; ++i) {
((VfNode) children[i]).jjtAccept(visitor, data);
}
}
return data;
}
public String toString() {
return VfParserTreeConstants.jjtNodeName[id];
}
}