Skip to content

Commit

Permalink
fix: inlinimg, coverage and cov ignore comments
Browse files Browse the repository at this point in the history
  • Loading branch information
kollhof committed Sep 26, 2021
1 parent 33985ab commit d430357
Show file tree
Hide file tree
Showing 11 changed files with 143 additions and 21 deletions.
3 changes: 2 additions & 1 deletion src/generate.fnk
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ babel_traverse = import '@babel/traverse'
{transform_async} = import './js/async/init.fnk'


transform_file = fn fink_ast, code, filename, {optimize: optim={}, ...options}:

transform_file = fn fink_ast, code, filename, {optimize: optim, ...options}:
opts = {...options, optimize: {refs: true, tails: true, unused: true, ...optim}}

ctx = init_ctx code, filename, opts
Expand Down
8 changes: 4 additions & 4 deletions src/generate.test.fnk.snap
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ const remove_unused_0 = (...args_0) => {
if (null != expr_0) {
/* istanbul ignore else */
if (true === _in_(expr_0[0], [\`mod\`, \`imp\`, \`af\`, \`ac\`, \`cc\`, \`cif\`, \`cf\`])) {
args_0 = [tail_0, ctx_0, [expr_0, ...args_0[2]]];
args_0 = [tail_0, ctx_0, [expr_0, ...out_0]];
continue remove_unused_0;
}
}
Expand All @@ -124,16 +124,16 @@ const remove_unused_0 = (...args_0) => {
const tail_5 = expr_0.slice(1);
const items_2 = expr_0[1];
const right_2 = remove_unused_0(reverse(items_2[1]), ctx_0, []);
args_0 = [tail_0, right_2[1], [[expr_0[0], [items_2[0], right_2[0]], ...tail_5.slice(1)], ...args_0[2]]];
args_0 = [tail_0, right_2[1], [[expr_0[0], [items_2[0], right_2[0]], ...tail_5.slice(1)], ...out_0]];
continue remove_unused_0;
}
}
args_0 = [tail_0, ctx_0, [expr_0, ...args_0[2]]];
args_0 = [tail_0, ctx_0, [expr_0, ...out_0]];
continue remove_unused_0;
} while (true);
};
export const remove_unused = remove_unused_0;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QuZm5rIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsTUFBQSxlQUFhLEdBQUcsSUFBQSxNQXNCaEI7QUF0QkEsRUFBQSxlQXNCQTtBQXRCbUIsVUFBQSxPQUFzQixHQUF6QixNQUFHO0FBQUEsVUFBQSxNQUFzQixHQUF6QixNQUFHO0FBQUMsVUFBQSxLQUFJLEdBQUwsT0FBQztBQUFBLFVBQUEsTUFBSSxHQUFKLGNBQUEsS0FBSSxHQUFDLEtBQUQsR0FBSjtBQUFBLFVBQUEsTUFBSSxHQUFMLE9BQUM7QUFBdUIsVUFBQSxLQUFHLEdBQTlCLE1BQTJCO0FBQUssVUFBQSxLQUFHLEdBQW5DLE1BQWdDOztBQXNCaEQ7QUFwQkksUUFESSxNQUNKLEtBQUEsS0FBSztBQUNILGNBQUMsS0FBRCxFQUFNLEtBQU47QUFBVTs7QUFtQmhCO0FBakJJLGdCQUpJLE1BSUosRUFBQztBQUFBO0FBQUEsd0JBSkcsTUFJSCxLQUFLLENBQUUsS0FBRixFQUFTLEtBQVQsRUFBZ0IsSUFBaEIsRUFBc0IsSUFBdEIsRUFBNEIsSUFBNUIsRUFBa0MsS0FBbEMsRUFBeUMsSUFBekMsQ0FBTCxHQUFtRDtBQUx4QyxRQUFBLE1BS3dDLEdBQ3hCLENBQVosTUFBWSxFQUFMLEtBQUssR0FBQyxNQUFELEVBTmdCLEdBQWhDLE1BQWdDLEdBTWhCLEVBRHdCO0FBQUEsaUJBQ2xELGVBRGtEO0FBQ1Y7QUFEUzs7QUFpQnZEO0FBZEksZ0JBUEksTUFPSixFQUFLO0FBQUEsWUFBQSxLQUFrQixHQVBuQixNQU9DOztBQUFBO0FBQUEsa0JBQUEsS0FBa0IsRUFBakI7QUFBQTtBQUFBLHFCQUFBLFNBQVMsQ0FBVixLQUFXLEdBQUQsRUFBSSxLQUFKLENBQVQsRUFBa0I7QUFSWixVQUFBLE1BUVksR0FHUyxDQUFqQixNQUFpQixFQURwQixRQUNVLENBRmQsWUFDYSxDQURBLE1BQ0EsQ0FDQyxFQURLLEtBQ0wsQ0FBVSxFQUFBLEtBQUcsQ0FIWjtBQUFBLG1CQUd0QixlQUhzQjtBQUdZO0FBSGQ7QUFBQzs7QUFjM0I7QUFUSSxnQkFaSSxNQVlKLEVBQUM7QUFBQTtBQUFBLHdCQVpHLE1BWUgsS0FBSyxDQUFFLElBQUYsRUFBUSxLQUFSLEVBQWUsSUFBZixDQUFMLEdBQXlCO0FBQ3ZCLGNBQUEsTUFBRSxHQUEyQixNQUE3QjtBQUFJLGNBQUEsT0FBWSxHQUFhLE1BQXpCO0FBRWUsY0FBQSxPQUE0QixHQUE1QixlQUFhLENBRHpCLE9BQzBCLENBRjdCLE9BQ1csR0FDa0IsQ0FBRCxFQUFRLEtBQVIsRUFBYSxFQUFiLENBQWI7QUFoQlYsUUFBQSxNQWFjLEdBS08sQ0FBakIsTUFBaUIsRUFGWCxPQUVDLEdBQVUsR0FBQyxDQUpGLE1BR3JCLEdBQ3VCLEVBRG5CLENBSFIsT0FHUyxHQUFELEVBRE8sT0FDQSxHQUFQLENBQ21CLEVBSjNCLEdBQUosTUFBSSxTQUkyQixDQUFELEVBbEJXLEdBQWhDLE1BQWdDLEdBa0JYLEVBTFA7QUFBQSxpQkFLeEIsZUFMd0I7QUFLc0I7QUFMdkI7O0FBYmIsSUFBQSxNQXNCaEIsR0FEZ0MsQ0FBWixNQUFZLEVBQUwsS0FBSyxHQUFDLE1BQUQsRUFyQmdCLEdBQWhDLE1BQWdDLEdBcUJoQixFQUNoQztBQUFBLGFBRE0sZUFDTjtBQUFBO0FBQUEsQ0F0QkE7O0FBQUEsYUFBQSxhQUFhLEdBQWIiLCJzb3VyY2VzQ29udGVudCI6WyJyZW1vdmVfdW51c2VkID0gZm4gW2V4cHI9ZmFsc2UsIC4uLmV4cHJzXSwgY3R4LCBvdXQ6XG4gIG1hdGNoIGV4cHI6XG4gICAgZmFsc2U6XG4gICAgICBbb3V0LCBjdHhdXG5cbiAgICBbPyBpbiBbJ21vZCcsICdpbXAnLCAnYWYnLCAnYWMnLCAnY2MnLCAnY2lmJywgJ2NmJ11dOlxuICAgICAgcmVtb3ZlX3VudXNlZCBleHBycywgY3R4LCBbZXhwciwgLi4ub3V0XVxuXG4gICAgWywgLCBbaXNfdW51c2VkID8sIGN0eF1dOlxuICAgICAgYXJncyA9IGdldF9yZWZfYXJncyBleHByXG4gICAgICBuZXh0X2N0eCA9IGRlY19yZWZzIGFyZ3MsIGN0eFxuICAgICAgcmVtb3ZlX3VudXNlZCBleHBycywgbmV4dF9jdHgsIG91dFxuXG4gICAgWz8gaW4gWydmbicsICdmbnInLCAnY24nXV06XG4gICAgICBbb3AsIFthcmdzLCBib2R5XSwgLi4ucmVzdF0gPSBleHByXG4gICAgICByYm9keSA9IHJldmVyc2UgYm9keVxuICAgICAgW29ib2R5LCBuZXh0X2N0eF0gPSByZW1vdmVfdW51c2VkIHJib2R5LCBjdHgsIFtdXG4gICAgICBvZXhwciA9IFtvcCwgW2FyZ3MsIG9ib2R5XSwgLi4ucmVzdF1cbiAgICAgIHJlbW92ZV91bnVzZWQgZXhwcnMsIG5leHRfY3R4LCBbb2V4cHIsIC4uLm91dF1cblxuICAgIGVsc2U6XG4gICAgICByZW1vdmVfdW51c2VkIGV4cHJzLCBjdHgsIFtleHByLCAuLi5vdXRdXG4iXX0="
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QuZm5rIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsTUFBQSxlQUFhLEdBQUcsSUFBQSxNQXNCaEI7QUF0QkEsRUFBQSxlQXNCQTtBQXRCbUIsVUFBQSxPQUFzQixHQUF6QixNQUFHO0FBQUEsVUFBQSxNQUFzQixHQUF6QixNQUFHO0FBQUMsVUFBQSxLQUFJLEdBQUwsT0FBQztBQUFBLFVBQUEsTUFBSSxHQUFKLGNBQUEsS0FBSSxHQUFDLEtBQUQsR0FBSjtBQUFBLFVBQUEsTUFBSSxHQUFMLE9BQUM7QUFBdUIsVUFBQSxLQUFHLEdBQTlCLE1BQTJCO0FBQUssVUFBQSxLQUFHLEdBQW5DLE1BQWdDOztBQXNCaEQ7QUFwQkksUUFESSxNQUNKLEtBQUEsS0FBSztBQUNILGNBQUMsS0FBRCxFQUFNLEtBQU47QUFBVTs7QUFtQmhCO0FBakJJLGdCQUpJLE1BSUosRUFBQztBQUFBO0FBQUEsd0JBSkcsTUFJSCxLQUFLLENBQUUsS0FBRixFQUFTLEtBQVQsRUFBZ0IsSUFBaEIsRUFBc0IsSUFBdEIsRUFBNEIsSUFBNUIsRUFBa0MsS0FBbEMsRUFBeUMsSUFBekMsQ0FBTCxHQUFtRDtBQUx4QyxRQUFBLE1BS3dDLEdBQ3hCLENBQVosTUFBWSxFQUFMLEtBQUssR0FBQyxNQUFELEVBQVUsR0FBQSxLQUFWLEVBRHdCO0FBQUEsaUJBQ2xELGVBRGtEO0FBQ1Y7QUFEUzs7QUFpQnZEO0FBZEksZ0JBUEksTUFPSixFQUFLO0FBQUEsWUFBQSxLQUFrQixHQVBuQixNQU9DOztBQUFBO0FBQUEsa0JBQUEsS0FBa0IsRUFBakI7QUFBQTtBQUFBLHFCQUFBLFNBQVMsQ0FBVixLQUFXLEdBQUQsRUFBSSxLQUFKLENBQVQsRUFBa0I7QUFSWixVQUFBLE1BUVksR0FHUyxDQUFqQixNQUFpQixFQURwQixRQUNVLENBRmQsWUFDYSxDQURBLE1BQ0EsQ0FDQyxFQURLLEtBQ0wsQ0FBVSxFQUFBLEtBQUcsQ0FIWjtBQUFBLG1CQUd0QixlQUhzQjtBQUdZO0FBSGQ7QUFBQzs7QUFjM0I7QUFUSSxnQkFaSSxNQVlKLEVBQUM7QUFBQTtBQUFBLHdCQVpHLE1BWUgsS0FBSyxDQUFFLElBQUYsRUFBUSxLQUFSLEVBQWUsSUFBZixDQUFMLEdBQXlCO0FBQ3ZCLGNBQUEsTUFBRSxHQUEyQixNQUE3QjtBQUFJLGNBQUEsT0FBWSxHQUFhLE1BQXpCO0FBRWUsY0FBQSxPQUE0QixHQUE1QixlQUFhLENBRHpCLE9BQzBCLENBRjdCLE9BQ1csR0FDa0IsQ0FBRCxFQUFRLEtBQVIsRUFBYSxFQUFiLENBQWI7QUFoQlYsUUFBQSxNQWFjLEdBS08sQ0FBakIsTUFBaUIsRUFGWCxPQUVDLEdBQVUsR0FBQyxDQUpGLE1BR3JCLEdBQ3VCLEVBRG5CLENBSFIsT0FHUyxHQUFELEVBRE8sT0FDQSxHQUFQLENBQ21CLEVBREQsR0FIOUIsTUFHOEIsU0FDQyxDQUFELEVBQVcsR0FBQSxLQUFYLEVBTFA7QUFBQSxpQkFLeEIsZUFMd0I7QUFLc0I7QUFMdkI7O0FBYmIsSUFBQSxNQXNCaEIsR0FEZ0MsQ0FBWixNQUFZLEVBQUwsS0FBSyxHQUFDLE1BQUQsRUFBVSxHQUFBLEtBQVYsRUFDaEM7QUFBQSxhQURNLGVBQ047QUFBQTtBQUFBLENBdEJBOztBQUFBLGFBQUEsYUFBYSxHQUFiIiwic291cmNlc0NvbnRlbnQiOlsicmVtb3ZlX3VudXNlZCA9IGZuIFtleHByPWZhbHNlLCAuLi5leHByc10sIGN0eCwgb3V0OlxuICBtYXRjaCBleHByOlxuICAgIGZhbHNlOlxuICAgICAgW291dCwgY3R4XVxuXG4gICAgWz8gaW4gWydtb2QnLCAnaW1wJywgJ2FmJywgJ2FjJywgJ2NjJywgJ2NpZicsICdjZiddXTpcbiAgICAgIHJlbW92ZV91bnVzZWQgZXhwcnMsIGN0eCwgW2V4cHIsIC4uLm91dF1cblxuICAgIFssICwgW2lzX3VudXNlZCA/LCBjdHhdXTpcbiAgICAgIGFyZ3MgPSBnZXRfcmVmX2FyZ3MgZXhwclxuICAgICAgbmV4dF9jdHggPSBkZWNfcmVmcyBhcmdzLCBjdHhcbiAgICAgIHJlbW92ZV91bnVzZWQgZXhwcnMsIG5leHRfY3R4LCBvdXRcblxuICAgIFs/IGluIFsnZm4nLCAnZm5yJywgJ2NuJ11dOlxuICAgICAgW29wLCBbYXJncywgYm9keV0sIC4uLnJlc3RdID0gZXhwclxuICAgICAgcmJvZHkgPSByZXZlcnNlIGJvZHlcbiAgICAgIFtvYm9keSwgbmV4dF9jdHhdID0gcmVtb3ZlX3VudXNlZCByYm9keSwgY3R4LCBbXVxuICAgICAgb2V4cHIgPSBbb3AsIFthcmdzLCBvYm9keV0sIC4uLnJlc3RdXG4gICAgICByZW1vdmVfdW51c2VkIGV4cHJzLCBuZXh0X2N0eCwgW29leHByLCAuLi5vdXRdXG5cbiAgICBlbHNlOlxuICAgICAgcmVtb3ZlX3VudXNlZCBleHBycywgY3R4LCBbZXhwciwgLi4ub3V0XVxuIl19"
`;
2 changes: 1 addition & 1 deletion src/ir/block/init.fnk
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@



transform_exprs = fn [expr=false, ...exprs], res_id, ctx, out=[]:
transform_exprs = fn [expr, ...exprs], res_id, ctx, out=[]:
match exprs:
[?]:
[val, , next_ctx] = transform expr, 'blkv', ctx
Expand Down
2 changes: 1 addition & 1 deletion src/ir/conditionals/match.fnk
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ match_res_exprs = fn exprs, name, ret_id, {loc}, ctx:



match_conditions = fn [expr=false, ...else_exprs], [val_id, val=[]], ret_id, ctx:
match_conditions = fn [expr=false, ...else_exprs], [val_id, val], ret_id, ctx:
match expr:
false:
match_res_exprs [], 'else', ret_id, {todo: 'loc'}, ctx
Expand Down
2 changes: 1 addition & 1 deletion src/ir/group/init.fnk
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@


# TODO: same as in block
transform_exprs = fn [expr=false, ...exprs], res_id, ctx, out=[]:
transform_exprs = fn [expr, ...exprs], res_id, ctx, out=[]:
match exprs:
[?]:
[val, , next_ctx] = transform expr, 'grpv', ctx
Expand Down
10 changes: 6 additions & 4 deletions src/js/call/call.fnk
Original file line number Diff line number Diff line change
Expand Up @@ -78,14 +78,14 @@ transform_apply_cont = fn expr, ctx:


transform_continue_with_cont = fn expr, ctx:
# TODO: use false not _
[{args: [ret_id, res_id='_']}] = expr
[{args: [ret_id, res_id=false]}] = expr
ret = get_js_literal ret_id, ctx

match res_id:
'_':
false:
match ret:
{type: 'ReturnStatement'}:
# TODO remove if this is the last expr in a func
[[ret], ctx]
else:
[[], ctx]
Expand All @@ -100,7 +100,9 @@ transform_continue_with_cont = fn expr, ctx:
exprs = list:
with_loc res, expressionStatement
assignmentExpression '=', ret, res
with_loc res, breakStatement ident ret_id
with_loc res, rec:
...breakStatement ident ret_id
leadingComments: [{type: 'CommentBlock', value: ' istanbul ignore next '}]
[exprs, ctx]


Expand Down
Loading

0 comments on commit d430357

Please sign in to comment.