private void handleList(List<Statement> statements) { if (statements.isEmpty()) { return; } Statement last = statements.get(statements.size() - 1); if (last instanceof ReturnStatement && ((ReturnStatement) last).getResult() == null) { statements.remove(statements.size() - 1); } else { last.acceptVisitor(this); } } }
@Override public void visit(ReturnStatement statement) { try { debugEmitter.emitStatementStart(); if (statement.getLocation() != null) { pushLocation(statement.getLocation()); } writer.append("return"); if (statement.getResult() != null) { writer.append(' '); prevCallSite = debugEmitter.emitCallSite(); precedence = Precedence.min(); statement.getResult().acceptVisitor(this); debugEmitter.emitCallSite(); } writer.append(";").softNewLine(); if (statement.getLocation() != null) { popLocation(); } } catch (IOException e) { throw new RenderingException("IO error occurred", e); } }
private void handleList(List<Statement> statements) { if (statements.isEmpty()) { return; } Statement last = statements.get(statements.size() - 1); if (last instanceof ReturnStatement && ((ReturnStatement) last).getResult() == null) { statements.remove(statements.size() - 1); } else { last.acceptVisitor(this); } } }
@Override public void visit(ReturnStatement statement) { try { debugEmitter.emitStatementStart(); if (statement.getLocation() != null) { pushLocation(statement.getLocation()); } writer.append("return"); if (statement.getResult() != null) { writer.append(' '); prevCallSite = debugEmitter.emitCallSite(); precedence = Precedence.min(); statement.getResult().acceptVisitor(this); debugEmitter.emitCallSite(); } writer.append(";").softNewLine(); if (statement.getLocation() != null) { popLocation(); } } catch (IOException e) { throw new RenderingException("IO error occurred", e); } }