UNPKG

813 BJavaScriptView Raw
1var BlockStatement = module.exports = function(body) {
2 this.type = 'BlockStatement';
3 this.body = body;
4};
5
6BlockStatement.prototype.normalize = function () {
7 var body = [];
8 for (var i = 0; i < this.body.length; i++) {
9 var statement = this.body[i];
10 if (statement.type === 'IfStatement') {
11 statement.normalize(body);
12 } else if (statement.type === 'ForStatement') {
13 statement.normalize(body);
14 statement = statement.transformedStatement;
15 } else if (statement.type === 'WhileStatement') {
16 statement.normalize(body);
17 } else if (statement.type === 'SwitchStatement') {
18 statement.normalize(body);
19 } else if (statement.type === 'ExpressionStatement') {
20 statement.normalize(body);
21 } else {
22 body.push(statement);
23 }
24 }
25 this.body = body;
26};