switch branches must be declared required so that the compressor doesn't

replace nodes with a single statement.

looks stable for now, though mess begins to sink in.  need to review the AST
hierarchy.
This commit is contained in:
Mihai Bazon
2012-09-03 11:05:59 +03:00
parent 1bf5928b54
commit 66c869c8f6
2 changed files with 8 additions and 4 deletions

View File

@@ -304,11 +304,17 @@ var AST_Switch = DEFNODE("Switch", "expression", {
}, AST_Statement);
var AST_SwitchBlock = DEFNODE("SwitchBlock", null, {
$documentation: "The switch block is somewhat special, hence a special node for it"
$documentation: "The switch block is somewhat special, hence a special node for it",
initialize: function() {
this.required = true;
},
}, AST_BlockStatement);
var AST_SwitchBranch = DEFNODE("SwitchBranch", null, {
$documentation: "Base class for `switch` branches"
$documentation: "Base class for `switch` branches",
initialize: function() {
this.required = true;
},
}, AST_BlockStatement);
var AST_Default = DEFNODE("Default", null, {

View File

@@ -151,7 +151,6 @@ function OutputStream(options) {
current_pos++;
}
might_need_space = false;
maybe_newline();
}
var a = str.split(/\r?\n/), n = a.length - 1;
current_line += n;
@@ -466,7 +465,6 @@ function OutputStream(options) {
});
DEFPRINT(AST_BlockStatement, function(self, output){
var body = self.body;
//if (!(body instanceof Array)) body = [ body ];
if (body.length > 0) output.with_block(function(){
display_body(body, false, output);
});