Lines Matching defs:statements
2009 function tighten_body(statements, compressor) {
2019 if (eliminate_spurious_blocks(statements)) changed = 1;
2022 if (eliminate_dead_code(statements, compressor)) changed = 2;
2026 if (handle_if_return(statements, compressor)) changed = 3;
2030 if (trim_awaits(statements, compressor)) changed = 4;
2034 if (inline_iife(statements, compressor)) changed = 5;
2038 if (sequencesize(statements, compressor)) changed = 6;
2040 if (sequencesize_2(statements, compressor)) changed = 7;
2044 if (join_consecutive_vars(statements)) changed = 8;
2048 if (collapse(statements, compressor)) changed = 9;
2051 return statements;
2121 function collapse(statements, compressor) {
2129 var stat_index = statements.length;
2352 // Skip (non-executed) functions and (leading) default case in switch statements
2365 extract_candidates(statements[stat_index]);
2419 for (var i = stat_index; !abort && i < statements.length; i++) {
2420 statements[i].transform(scanner);
2433 for (var i = stat_index; !abort && i < statements.length; i++) {
2434 if (!statements[i].transform(multi_replacer)) statements.splice(i--, 1);
3414 if (!(statements[stat_index] = statements[stat_index].transform(tt))) statements.splice(stat_index, 1);
3506 function eliminate_spurious_blocks(statements) {
3508 for (var i = 0; i < statements.length;) {
3509 var stat = statements[i];
3514 [].splice.apply(statements, [i, 1].concat(stat.body));
3522 statements.splice(i, 1);
3529 statements.splice(i, 1);
3537 function handle_if_return(statements, compressor) {
3545 var multiple_if_returns = has_multiple_if_returns(statements);
3546 for (var i = statements.length; --i >= 0;) {
3547 var stat = statements[i];
3549 var next = statements[j];
3556 statements.splice(i, 1);
3568 statements[i] = make_node(AST_SimpleStatement, stat, { body: body });
3587 statements[i] = stat;
3588 statements[i] = stat.transform(compressor);
3604 statements.splice(i, 1, stat, body);
3608 if (!in_lambda || self instanceof AST_Block && self.body === statements) {
3609 statements[i] = stat.transform(compressor);
3627 statements[i] = stat;
3628 statements[i] = stat.transform(compressor);
3633 var stats = make_node(AST_BlockStatement, self, { body: statements.slice(i + 1) });
3637 var stats = make_node(AST_BlockStatement, self, { body: statements.slice(i + 1) });
3654 statements[i] = stat;
3655 statements[i] = stat.transform(compressor);
3668 statements[i] = stat;
3669 statements[i] = stat.transform(compressor);
3679 && (!(prev_stat = statements[prev = prev_index(i)]) && in_iife
3682 : next instanceof AST_SimpleStatement && next_index(j) == statements.length)) {
3691 statements[i] = stat.transform(compressor);
3706 function has_multiple_if_returns(statements) {
3708 for (var i = statements.length; --i >= 0;) {
3709 var stat = statements[i];
3774 for (var j = statements.length; --j > i;) {
3775 var stat = statements[j];
3794 end = statements.length;
3797 end = statements.lastIndexOf(stop);
3799 stop = statements[end];
3802 var tail = statements.splice(start, end - start).filter(function(stat) {
3816 [].push.apply(lexical ? tail : statements, defuns);
3859 for (var j = i; ++j < statements.length;) {
3860 var stat = statements[j];
3873 var stat = statements[j];
3909 function eliminate_dead_code(statements, compressor) {
3917 for (var i = 0, n = 0, len = statements.length; i < len; i++) {
3918 var stat = statements[i];
3923 statements[n++] = stat;
3928 statements[n++] = stat;
3931 has_quit = statements.slice(i + 1);
3935 statements.length = n;
3937 extract_declarations_from_unreachable_code(compressor, stat, statements);
3939 return statements.length != len;
3942 function trim_awaits(statements, compressor) {
3945 for (var index = statements.length; --index >= 0;) {
3946 var stat = statements[index];
3959 statements.length = index + 1;
3963 function inline_iife(statements, compressor) {
3965 var index = statements.length - 1;
3968 var inlined = statements[index].try_inline(compressor, block_scope, no_return);
3970 statements[index--] = inlined;
3976 var inlined = statements[index].try_inline(compressor, block_scope, true, loop);
3978 statements[index] = inlined;
3984 function sequencesize(statements, compressor) {
3985 if (statements.length < 2) return;
3990 statements[n++] = make_node(AST_SimpleStatement, body, { body: body });
3993 for (var i = 0, len = statements.length; i < len; i++) {
3994 var stat = statements[i];
3999 statements[n++] = stat;
4002 statements[n++] = stat;
4006 statements.length = n;
4026 function sequencesize_2(statements, compressor) {
4028 for (var i = 0; i < statements.length; i++) {
4029 var stat = statements[i];
4076 [].splice.apply(statements, decls);
4084 statements[n++] = stat;
4087 statements.length = n;
4249 function join_consecutive_vars(statements) {
4251 for (var i = 0, j = -1; i < statements.length; i++) {
4252 var stat = statements[i];
4253 var prev = statements[j];
4272 statements[j] = defs = stat;
4274 statements[++j] = stat;
4290 statements[j] = merge_defns(stat);
4303 statements[j] = merge_defns(stat);
4332 && (next = statements[i + 1])
4344 statements[++j] = defs ? merge_defns(stat) : stat;
4346 statements.length = j + 1;
9927 var statements = branch.body;
9928 if (aborts(prev)) switch (prev.body.length - statements.length) {
9932 statements = statements.concat(stat);
9935 var next_block = make_node(AST_BlockStatement, branch, { body: statements });
9994 var statements = body[0].body.slice();
10001 body: make_node(AST_BlockStatement, self, { body: statements }),
10004 if (exp) statements.unshift(make_node(AST_SimpleStatement, exp, { body: exp }));
10005 statements.unshift(make_node(AST_SimpleStatement, self.expression, { body: self.expression }));
10006 return make_node(AST_BlockStatement, self, { body: statements }).optimize(compressor);
10009 var statements = body[0].body.slice();
10010 var exclusive = statements.length && is_break(statements[statements.length - 1], compressor);
10011 if (exclusive) statements.pop();
10012 if (!all(statements, no_break)) break;
10024 body: make_node(AST_BlockStatement, body[0], { body: statements }),