improve beautified output of switch blocks (#1721)
This commit is contained in:
@@ -960,24 +960,24 @@ function OutputStream(options) {
|
|||||||
self.expression.print(output);
|
self.expression.print(output);
|
||||||
});
|
});
|
||||||
output.space();
|
output.space();
|
||||||
if (self.body.length > 0) output.with_block(function(){
|
var last = self.body.length - 1;
|
||||||
self.body.forEach(function(stmt, i){
|
if (last < 0) output.print("{}");
|
||||||
if (i) output.newline();
|
else output.with_block(function(){
|
||||||
|
self.body.forEach(function(branch, i){
|
||||||
output.indent(true);
|
output.indent(true);
|
||||||
stmt.print(output);
|
branch.print(output);
|
||||||
|
if (i < last && branch.body.length > 0)
|
||||||
|
output.newline();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
else output.print("{}");
|
|
||||||
});
|
});
|
||||||
AST_SwitchBranch.DEFMETHOD("_do_print_body", function(output){
|
AST_SwitchBranch.DEFMETHOD("_do_print_body", function(output){
|
||||||
if (this.body.length > 0) {
|
output.newline();
|
||||||
|
this.body.forEach(function(stmt){
|
||||||
|
output.indent();
|
||||||
|
stmt.print(output);
|
||||||
output.newline();
|
output.newline();
|
||||||
this.body.forEach(function(stmt){
|
});
|
||||||
output.indent();
|
|
||||||
stmt.print(output);
|
|
||||||
output.newline();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
DEFPRINT(AST_Default, function(self, output){
|
DEFPRINT(AST_Default, function(self, output){
|
||||||
output.print("default:");
|
output.print("default:");
|
||||||
|
|||||||
@@ -680,3 +680,44 @@ issue_1705_3: {
|
|||||||
}
|
}
|
||||||
expect_stdout: true
|
expect_stdout: true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
beautify: {
|
||||||
|
beautify = {
|
||||||
|
beautify: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
switch (a) {
|
||||||
|
case 0:
|
||||||
|
case 1:
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
switch (b) {
|
||||||
|
case 3:
|
||||||
|
foo();
|
||||||
|
bar();
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
expect_exact: [
|
||||||
|
"switch (a) {",
|
||||||
|
" case 0:",
|
||||||
|
" case 1:",
|
||||||
|
" break;",
|
||||||
|
"",
|
||||||
|
" case 2:",
|
||||||
|
" default:",
|
||||||
|
"}",
|
||||||
|
"",
|
||||||
|
"switch (b) {",
|
||||||
|
" case 3:",
|
||||||
|
" foo();",
|
||||||
|
" bar();",
|
||||||
|
"",
|
||||||
|
" default:",
|
||||||
|
" break;",
|
||||||
|
"}",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user