Merge branch 'master' into harmony-v3.3.7

This commit is contained in:
alexlamsl
2018-01-14 17:15:16 +08:00
5 changed files with 142 additions and 20 deletions

View File

@@ -238,28 +238,15 @@ function run() {
result.ast.figure_out_scope({});
}
print(JSON.stringify(result.ast, function(key, value) {
switch (key) {
if (value) switch (key) {
case "thedef":
if (typeof value == "object" && typeof value.id == "number") {
return value.id;
}
return;
return symdef(value);
case "enclosed":
return value.map(function(sym){
return sym.id;
});
return value.length ? value.map(symdef) : undefined;
case "variables":
case "functions":
case "globals":
if (value && value.size()) {
var ret = {};
value.each(function(val, key) {
// key/val inverted for readability.
ret[val.id] = key;
});
return ret;
}
return;
return value.size() ? value.map(symdef) : undefined;
}
if (skip_key(key)) return;
if (value instanceof UglifyJS.AST_Token) return;
@@ -419,6 +406,12 @@ function skip_key(key) {
return skip_keys.indexOf(key) >= 0;
}
function symdef(def) {
var ret = (1e6 + def.id) + " " + def.name;
if (def.mangled_name) ret += " " + def.mangled_name;
return ret;
}
function format_object(obj) {
var lines = [];
var padding = "";