aboutsummaryrefslogtreecommitdiff
path: root/tools/node.js
blob: dc2701060ec25d6553d6235bcac70b13e1581d13 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
var fs = require("fs");

var UglifyJS = exports;
var FILES = UglifyJS.FILES = [
    "../lib/utils.js",
    "../lib/ast.js",
    "../lib/parse.js",
    "../lib/transform.js",
    "../lib/scope.js",
    "../lib/output.js",
    "../lib/compress.js",
    "../lib/sourcemap.js",
    "../lib/mozilla-ast.js",
    "../lib/propmangle.js",
    "../lib/minify.js",
    "./exports.js",
].map(function(file){
    return require.resolve(file);
});

new Function("MOZ_SourceMap", "exports", function() {
    var code = FILES.map(function(file) {
        return fs.readFileSync(file, "utf8");
    });
    code.push("exports.describe_ast = " + describe_ast.toString());
    return code.join("\n\n");
}())(
    require("source-map"),
    UglifyJS
);

function describe_ast() {
    var out = OutputStream({ beautify: true });
    function doitem(ctor) {
        out.print("AST_" + ctor.TYPE);
        var props = ctor.SELF_PROPS.filter(function(prop){
            return !/^\$/.test(prop);
        });
        if (props.length > 0) {
            out.space();
            out.with_parens(function(){
                props.forEach(function(prop, i){
                    if (i) out.space();
                    out.print(prop);
                });
            });
        }
        if (ctor.documentation) {
            out.space();
            out.print_string(ctor.documentation);
        }
        if (ctor.SUBCLASSES.length > 0) {
            out.space();
            out.with_block(function(){
                ctor.SUBCLASSES.forEach(function(ctor, i){
                    out.indent();
                    doitem(ctor);
                    out.newline();
                });
            });
        }
    };
    doitem(AST_Node);
    return out + "\n";
}

function infer_options(options) {
    var result = UglifyJS.minify("", options);
    return result.error && result.error.defs;
}

UglifyJS.default_options = function() {
    var defs = {};
    Object.keys(infer_options({ 0: 0 })).forEach(function(component) {
        var options = {};
        options[component] = { 0: 0 };
        if (options = infer_options(options)) {
            defs[component] = options;
        }
    });
    return defs;
};
becdea'>logplainabout -rw-r--r--apr.scm4295logplainabout -rw-r--r--aspell.scm5686logplainabout -rw-r--r--assembly.scm4762logplainabout -rw-r--r--attr.scm2894logplainabout -rw-r--r--audacity.scm3996logplainabout -rw-r--r--audio.scm90844logplainabout -rw-r--r--augeas.scm2449logplainabout -rw-r--r--autogen.scm2718logplainabout -rw-r--r--autotools.scm15517logplainabout -rw-r--r--avahi.scm4583logplainabout -rw-r--r--avr.scm6749logplainabout -rw-r--r--backup.scm18241logplainabout -rw-r--r--base.scm43393logplainabout -rw-r--r--bash.scm16857logplainabout -rw-r--r--bdw-gc.scm4370logplainabout -rw-r--r--benchmark.scm2588logplainabout -rw-r--r--bioinformatics.scm267926logplainabout -rw-r--r--bison.scm2397logplainabout -rw-r--r--bittorrent.scm10363logplainabout -rw-r--r--boost.scm5316logplainabout -rw-r--r--bootstrap.scm20989logplainabout d---------bootstrap155logplain -rw-r--r--busybox.scm4659logplainabout -rw-r--r--c.scm5373logplainabout -rw-r--r--calcurse.scm2150logplainabout -rw-r--r--calendar.scm6402logplainabout -rw-r--r--ccache.scm2394logplainabout -rw-r--r--cdrom.scm14206logplainabout -rw-r--r--certs.scm5838logplainabout -rw-r--r--check.scm10619logplainabout -rw-r--r--ci.scm8247logplainabout -rw-r--r--cmake.scm5676logplainabout -rw-r--r--code.scm14227logplainabout -rw-r--r--commencement.scm37720logplainabout -rw-r--r--compression.scm34803logplainabout -rw-r--r--conkeror.scm3730logplainabout -rw-r--r--conky.scm3189logplainabout -rw-r--r--connman.scm3476logplainabout -rw-r--r--cook.scm3472logplainabout -rw-r--r--cpio.scm2038logplainabout -rw-r--r--cppi.scm1774logplainabout -rw-r--r--cross-base.scm17506logplainabout -rw-r--r--crypto.scm8609logplainabout -rw-r--r--cryptsetup.scm2308logplainabout -rw-r--r--cups.scm18059logplainabout -rw-r--r--curl.scm5965logplainabout -rw-r--r--cyrus-sasl.scm2891logplainabout -rw-r--r--databases.scm43259logplainabout -rw-r--r--datamash.scm1911logplainabout -rw-r--r--datastructures.scm4189logplainabout -rw-r--r--dav.scm4618logplainabout -rw-r--r--dc.scm2176logplainabout -rw-r--r--debug.scm14537logplainabout -rw-r--r--dejagnu.scm3612logplainabout -rw-r--r--dico.scm3281logplainabout -rw-r--r--dictionaries.scm6019logplainabout -rw-r--r--dillo.scm2492logplainabout -rw-r--r--disk.scm9401logplainabout -rw-r--r--djvu.scm1710logplainabout -rw-r--r--dns.scm4951logplainabout -rw-r--r--docbook.scm9207logplainabout -rw-r--r--docker.scm3967logplainabout -rw-r--r--documentation.scm6355logplainabout -rw-r--r--dunst.scm2717logplainabout -rw-r--r--dvtm.scm2311logplainabout -rw-r--r--ebook.scm5918logplainabout -rw-r--r--ed.scm2345logplainabout -rw-r--r--education.scm5508logplainabout -rw-r--r--elf.scm5867logplainabout -rw-r--r--elixir.scm4460logplainabout -rw-r--r--emacs.scm119667logplainabout -rw-r--r--enchant.scm2381logplainabout -rw-r--r--engineering.scm19637logplainabout -rw-r--r--enlightenment.scm12713logplainabout -rw-r--r--entr.scm2854logplainabout -rw-r--r--erlang.scm8322logplainabout -rw-r--r--fcitx.scm3496logplainabout -rw-r--r--feh.scm2707logplainabout -rw-r--r--figlet.scm1797logplainabout -rw-r--r--file.scm1942logplainabout -rw-r--r--finance.scm8067logplainabout -rw-r--r--firmware.scm3703logplainabout -rw-r--r--flashing-tools.scm8253logplainabout -rw-r--r--flex.scm3566logplainabout -rw-r--r--fltk.scm5694logplainabout -rw-r--r--fonts.scm38145logplainabout -rw-r--r--fontutils.scm24132logplainabout -rw-r--r--freedesktop.scm24361logplainabout -rw-r--r--freeipmi.scm2075logplainabout -rw-r--r--fribidi.scm1756logplainabout -rw-r--r--ftp.scm6138logplainabout -rw-r--r--fvwm.scm2509logplainabout -rw-r--r--game-development.scm24541logplainabout -rw-r--r--games.scm112045logplainabout -rw-r--r--gawk.scm3140logplainabout -rw-r--r--gcal.scm1976logplainabout -rw-r--r--gcc.scm35492logplainabout -rw-r--r--gd.scm6191logplainabout -rw-r--r--gdb.scm4578logplainabout -rw-r--r--geeqie.scm4364logplainabout -rw-r--r--geo.scm3831logplainabout -rw-r--r--gettext.scm6729logplainabout -rw-r--r--ghostscript.scm13549logplainabout -rw-r--r--gimp.scm8979logplainabout -rw-r--r--gkrellm.scm2390logplainabout -rw-r--r--gl.scm21999logplainabout -rw-r--r--glib.scm26782logplainabout -rw-r--r--gnome.scm207792logplainabout -rw-r--r--gnu-doc.scm4075logplainabout -rw-r--r--gnu-pw-mgr.scm2095logplainabout -rw-r--r--gnucash.scm8274logplainabout -rw-r--r--gnunet.scm13068logplainabout -rw-r--r--gnupg.scm25043logplainabout -rw-r--r--gnustep.scm9984logplainabout -rw-r--r--gnuzilla.scm25784logplainabout -rw-r--r--golang.scm16275logplainabout -rw-r--r--gperf.scm1784logplainabout -rw-r--r--gprolog.scm2560logplainabout -rw-r--r--gps.scm5133logplainabout -rw-r--r--graphics.scm20949logplainabout -rw-r--r--graphviz.scm6172logplainabout -rw-r--r--groff.scm2381logplainabout -rw-r--r--grub.scm5739logplainabout -rw-r--r--gsasl.scm3958logplainabout -rw-r--r--gstreamer.scm16974logplainabout -rw-r--r--gtk.scm52679logplainabout -rw-r--r--guile-wm.scm5682logplainabout -rw-r--r--guile.scm49478logplainabout -rw-r--r--gv.scm2215logplainabout -rw-r--r--gxmessage.scm1984logplainabout -rw-r--r--haskell.scm233650logplainabout -rw-r--r--hexedit.scm1892logplainabout -rw-r--r--hugs.scm3671logplainabout -rw-r--r--hurd.scm7707logplainabout -rw-r--r--ibus.scm10221logplainabout -rw-r--r--icu4c.scm2837logplainabout -rw-r--r--idutils.scm2088logplainabout -rw-r--r--image.scm33116logplainabout -rw-r--r--imagemagick.scm8321logplainabout -rw-r--r--indent.scm2384logplainabout -rw-r--r--inklingreader.scm2239logplainabout -rw-r--r--inkscape.scm3559logplainabout -rw-r--r--irc.scm11497logplainabout -rw-r--r--iso-codes.scm2659logplainabout -rw-r--r--java.scm51786logplainabout -rw-r--r--jemalloc.scm1796logplainabout -rw-r--r--jrnl.scm2241logplainabout -rw-r--r--julia.scm13866logplainabout -rw-r--r--kde-frameworks.scm37853logplainabout -rw-r--r--kde.scm3013logplainabout -rw-r--r--key-mon.scm2150logplainabout -rw-r--r--kodi.scm11234logplainabout -rw-r--r--language.scm16380logplainabout -rw-r--r--ld-wrapper.in9597logplainabout -rw-r--r--ldc.scm6741logplainabout -rw-r--r--lego.scm2804logplainabout -rw-r--r--less.scm1883logplainabout -rw-r--r--lesstif.scm1817logplainabout -rw-r--r--libbsd.scm2092logplainabout -rw-r--r--libcanberra.scm5121logplainabout -rw-r--r--libdaemon.scm2903logplainabout -rw-r--r--libedit.scm1971logplainabout -rw-r--r--libevent.scm5215logplainabout -rw-r--r--libffcall.scm1901logplainabout -rw-r--r--libffi.scm2981logplainabout -rw-r--r--libftdi.scm1846logplainabout -rw-r--r--libidn.scm1992logplainabout -rw-r--r--libphidget.scm1635logplainabout -rw-r--r--libreoffice.scm32366logplainabout -rw-r--r--libsigsegv.scm2464logplainabout -rw-r--r--libunistring.scm2137logplainabout -rw-r--r--libunwind.scm2295logplainabout -rw-r--r--libupnp.scm2129logplainabout -rw-r--r--libusb.scm7535logplainabout -rw-r--r--links.scm3597logplainabout -rw-r--r--linux-libre-4.1-i686.conf184802logplainabout -rw-r--r--linux-libre-4.1-x86_64.conf180741logplainabout -rw-r--r--linux-libre-4.4-i686.conf191658logplainabout -rw-r--r--linux-libre-4.4-x86_64.conf187756logplainabout -rw-r--r--linux-libre-4.7-i686.conf198526logplainabout -rw-r--r--linux-libre-4.7-x86_64.conf194955logplainabout -rw-r--r--linux.scm120413logplainabout -rw-r--r--lirc.scm3755logplainabout -rw-r--r--lisp.scm22350logplainabout -rw-r--r--llvm.scm9735logplainabout -rw-r--r--logging.scm3836logplainabout -rw-r--r--lout.scm6003logplainabout -rw-r--r--lsof.scm3601logplainabout -rw-r--r--lua.scm4713logplainabout -rw-r--r--lxde.scm8928logplainabout -rw-r--r--lxqt.scm7108logplainabout -rw-r--r--lynx.scm3560logplainabout -rw-r--r--m4.scm2626logplainabout -rw-r--r--machine-learning.scm19346logplainabout -rw-r--r--mail.scm51597logplainabout -rw-r--r--make-bootstrap.scm29785logplainabout -rw-r--r--man.scm8646logplainabout -rw-r--r--markdown.scm4115logplainabout -rw-r--r--marst.scm1758logplainabout -rw-r--r--mate.scm8109logplainabout -rw-r--r--maths.scm105448logplainabout -rw-r--r--mc.scm2545logplainabout -rw-r--r--mcrypt.scm4576logplainabout -rw-r--r--messaging.scm20315logplainabout -rw-r--r--mg.scm2535logplainabout -rw-r--r--mit-krb5.scm3346logplainabout -rw-r--r--moe.scm2210logplainabout -rw-r--r--mono.scm4672logplainabout -rw-r--r--moreutils.scm2769logplainabout -rw-r--r--mp3.scm19254logplainabout -rw-r--r--mpd.scm9858logplainabout -rw-r--r--mpi.scm6608logplainabout -rw-r--r--mtools.scm4431logplainabout -rw-r--r--multiprecision.scm5932logplainabout -rw-r--r--music.scm67505logplainabout -rw-r--r--musl.scm2102logplainabout -rw-r--r--nano.scm1904logplainabout -rw-r--r--ncdu.scm2048logplainabout -rw-r--r--ncurses.scm7487logplainabout -rw-r--r--netpbm.scm7380logplainabout -rw-r--r--nettle.scm3181logplainabout -rw-r--r--networking.scm26462logplainabout -rw-r--r--ninja.scm3154logplainabout -rw-r--r--node.scm6235logplainabout -rw-r--r--noweb.scm4688logplainabout -rw-r--r--ntp.scm6757logplainabout -rw-r--r--nutrition.scm2986logplainabout -rw-r--r--nvi.scm2848logplainabout -rw-r--r--ocaml.scm29859logplainabout -rw-r--r--ocr.scm3096logplainabout -rw-r--r--onc-rpc.scm2273logplainabout -rw-r--r--openbox.scm2756logplainabout -rw-r--r--openldap.scm3245logplainabout -rw-r--r--openstack.scm27871logplainabout -rw-r--r--orpheus.scm3795logplainabout -rw-r--r--ots.scm3227logplainabout -rw-r--r--owncloud.scm4085logplainabout -rw-r--r--package-management.scm22613logplainabout -rw-r--r--parallel.scm7375logplainabout -rw-r--r--password-utils.scm13156logplainabout d---------patches