UNPKG

@fink/loxia

Version:

A fink to JavaScript compiler.

132 lines (107 loc) 2.87 kB
const { init_ctx: init_ctx_0 } = require("../ir/context.js"); const { optimize_unused: optimize_unused_0 } = require("./unused.js"); const { optimize_refs: optimize_refs_0 } = require("./refs.js"); const { optimize_tails: optimize_tails_0 } = require("./tail-calls.js"); const { optimize_names: optimize_names_0 } = require("./short-ids.js"); const maybe_opt_refs_0 = (ir_0, ctx_0) => { /* istanbul ignore else */ if (null != ctx_0) { const itm_0 = ctx_0.optimize; /* istanbul ignore else */ if (null != itm_0) { /* istanbul ignore else */ if (itm_0.refs === true) { const result_2 = optimize_refs_0(ir_0, ctx_0); return result_2; } } } return [ir_0, ctx_0]; }; const maybe_opt_tails_0 = (ir_1, ctx_1) => { /* istanbul ignore else */ if (null != ctx_1) { const itm_2 = ctx_1.optimize; /* istanbul ignore else */ if (null != itm_2) { /* istanbul ignore else */ if (itm_2.tails === true) { const result_5 = optimize_tails_0(ir_1, ctx_1); return result_5; } } } return [ir_1, ctx_1]; }; const maybe_opt_unused_0 = (ir_2, ctx_2) => { /* istanbul ignore else */ if (null != ctx_2) { const itm_4 = ctx_2.optimize; /* istanbul ignore else */ if (null != itm_4) { /* istanbul ignore else */ if (itm_4.unused === true) { const ppr_0 = (prtl_0 => { const pfn_1 = init_ctx_0(ir_2, prtl_0); return pfn_1; })(ctx_2); const ppr_1 = (prtl_1 => { const pfn_3 = optimize_unused_0(ir_2, prtl_1); return pfn_3; })(ppr_0); return ppr_1; } } } return [ir_2, ctx_2]; }; const maybe_opt_names_0 = (ir_3, ctx_3) => { /* istanbul ignore else */ if (null != ctx_3) { const itm_6 = ctx_3.optimize; /* istanbul ignore else */ if (null != itm_6) { /* istanbul ignore else */ if (itm_6.names === true) { const result_11 = optimize_names_0(ir_3, ctx_3); return result_11; } } } return [ir_3, ctx_3]; }; const optimize_0 = (exprs_0, options_0) => { const ctx_4 = init_ctx_0(exprs_0, options_0); const ppr_2 = (prtl_2 => { const pfn_5 = maybe_opt_refs_0(...prtl_2); return pfn_5; })([exprs_0, ctx_4]); const ppr_3 = (prtl_3 => { const pfn_7 = maybe_opt_tails_0(...prtl_3); return pfn_7; })(ppr_2); const ppr_4 = (prtl_4 => { const pfn_9 = maybe_opt_unused_0(...prtl_4); return pfn_9; })(ppr_3); const ppr_5 = (prtl_5 => { const pfn_11 = maybe_opt_names_0(...prtl_5); return pfn_11; })(ppr_4); return ppr_5; }; exports.maybe_opt_refs = maybe_opt_refs_0; exports.maybe_opt_tails = maybe_opt_tails_0; exports.maybe_opt_unused = maybe_opt_unused_0; exports.maybe_opt_names = maybe_opt_names_0; exports.optimize = optimize_0;