/** * 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.TryStatement; public class ASTTryStatement extends AbstractEcmascriptNode<TryStatement> { public ASTTryStatement(TryStatement tryStatement) { super(tryStatement); } /** * Accept the visitor. */ public Object jjtAccept(EcmascriptParserVisitor visitor, Object data) { return visitor.visit(this, data); } public EcmascriptNode<?> getTryBlock() { return (EcmascriptNode<?>) jjtGetChild(0); } @Deprecated // use hasCatch() instead public boolean isCatch() { return hasCatch(); } public boolean hasCatch() { return getNumCatchClause() != 0; } public int getNumCatchClause() { return node.getCatchClauses().size(); } public ASTCatchClause getCatchClause(int index) { if (index >= getNumCatchClause()) { return null; } return (ASTCatchClause) jjtGetChild(index + 1); } @Deprecated // use hasFinally() instead public boolean isFinally() { return hasFinally(); } public boolean hasFinally() { return node.getFinallyBlock() != null; } public EcmascriptNode<?> getFinallyBlock() { if (!hasFinally()) { return null; } return (EcmascriptNode<?>) jjtGetChild(jjtGetNumChildren() - 1); } }