public Try(Statement tryStatement, Statement finallyStatement, Catch... catches) { setTryStatement(tryStatement); setFinallyStatement(finallyStatement); setCatches(Arrays.asList(catches)); }
public void setTryStatement(Statement tryStatement) { this.tryStatement = changeValue(this, this.tryStatement, tryStatement); }
public void setCatches(List<Catch> catches) { changeValue(this, this.catches, catches); }
public void visitTry(Try e) { append("try {\n"); indent(); append(indent, e.getTryStatement()); deindent(); append("\n", indent, "}"); implode(e.getCatches(), " "); if (e.getFinallyStatement() != null) { append(" finally {\n"); indent(); append(indent); append(e.getFinallyStatement()); deindent(); append("\n", indent, "}"); } }
public static Statement tryRethrow(Statement st) { String exName = "$ex$"; return new Try(st, null, new Catch(new VariablesDeclaration(typeRef(Throwable.class), new Declarator.DirectDeclarator(exName)), new Throw(new New(typeRef(RuntimeException.class), varRef(exName))))); }
public void setFinallyStatement(Statement finallyStatement) { this.finallyStatement = changeValue(this, this.finallyStatement, finallyStatement); }
@Override public boolean replaceChild(Element child, Element by) { if (child == getTryStatement()) { setTryStatement((Statement)by); return true; } if (child == getFinallyStatement()) { setFinallyStatement((Statement)by); return true; } return replaceChild(catches, Catch.class, this, child, by) || super.replaceChild(child, by); }
public void visitTry(Try tr) { visitControlStructure(tr); visit(tr.getTryStatement()); visit(tr.getFinallyStatement()); visit(tr.getCatches()); } public void visitFor(For aFor) {