1 | var BlockStatement = module.exports = function(body) {
|
2 | this.type = 'BlockStatement';
|
3 | this.body = body;
|
4 | };
|
5 |
|
6 | BlockStatement.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 | };
|