/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ package net.sourceforge.pmd.lang.ecmascript.ast; import org.mozilla.javascript.ast.AstNode; import net.sourceforge.pmd.lang.ast.Node; public interface EcmascriptNode<T extends AstNode> extends Node { /** * Accept the visitor. * */ Object jjtAccept(EcmascriptParserVisitor visitor, Object data); /** * Accept the visitor. * */ Object childrenAccept(EcmascriptParserVisitor visitor, Object data); /** * Get the underlying Rhino AST node. */ T getNode(); /** * Get the JsDoc associated with the given node. If there is no JsDoc on * this node, it may be associated with a parent node, on more * representative of the entire expression containing this node. * * @return The JsDoc comment for the node, may be <code>null</code>. */ String getJsDoc(); boolean hasSideEffects(); }