in lib/generator.js [1961:2004]
visitIf(ast, level) {
assert.equal(ast.type, 'if');
this.emit('if (', level);
this.visitExpr(ast.condition, level + 1);
this.emit(') {\n');
if(!ast.stmts.stmts.length) {
this.emit('', level + 1);
this.emit('\n');
}
this.visitStmts(ast.stmts, level + 1);
this.emit('}', level);
if (ast.elseIfs) {
for (let i = 0; i < ast.elseIfs.length; i++) {
const branch = ast.elseIfs[i];
this.emit(' else if (');
this.visitExpr(branch.condition, level + 1);
this.emit(') {\n');
if(!branch.stmts.stmts.length) {
this.emit('', level + 1);
this.emit('\n');
}
this.visitStmts(branch.stmts, level + 1);
this.emit('}', level);
}
}
if (ast.elseStmts) {
this.emit(' else {\n');
for (let i = 0; i < ast.elseStmts.stmts.length; i++) {
this.visitStmt(ast.elseStmts.stmts[i], level + 1);
}
if (ast.elseStmts.stmts.length === 0) {
const comments = DSL.comment.getBetweenComments(this.comments, ast.elseStmts.tokenRange[0], ast.elseStmts.tokenRange[1]);
this.visitComments(comments, level + 1);
this.emit('', level + 1);
this.emit('\n');
}
this.emit('}', level);
}
this.emit('\n');
this.emit('\n');
}