have keep_quoted respect quoted method names (#2258)

fixes #2257
This commit is contained in:
kzc
2017-07-28 07:42:12 -04:00
committed by Alex Lam S.L
parent d3df2f985d
commit d600c78d7b
3 changed files with 45 additions and 9 deletions

View File

@@ -4824,7 +4824,8 @@ merge(Compressor.prototype, {
arrow.is_generator = self.is_generator;
return make_node(AST_ObjectKeyVal, self, {
key: self.key instanceof AST_SymbolMethod ? self.key.name : self.key,
value: arrow
value: arrow,
quote: self.quote,
});
}
return self;
@@ -4850,6 +4851,7 @@ merge(Compressor.prototype, {
name: key,
}),
value: make_node(AST_Accessor, value, value),
quote: self.quote,
});
}
}

View File

@@ -129,6 +129,9 @@ function mangle_properties(ast, options) {
if (node instanceof AST_ObjectKeyVal) {
add(node.key, keep_quoted && node.quote);
}
else if (node instanceof AST_ConciseMethod && node.key && node.key.name) {
add(node.key.name, keep_quoted && node.quote);
}
else if (node instanceof AST_ObjectProperty) {
// setter or getter, since KeyVal is handled above
add(node.key.name);
@@ -139,9 +142,6 @@ function mangle_properties(ast, options) {
else if (node instanceof AST_Sub) {
addStrings(node.property, keep_quoted);
}
else if (node instanceof AST_ConciseMethod) {
add(node.name.name);
}
}));
// step 2: transform the tree, renaming properties
@@ -150,6 +150,11 @@ function mangle_properties(ast, options) {
if (!(keep_quoted && node.quote))
node.key = mangle(node.key);
}
else if (node instanceof AST_ConciseMethod && node.name && node.key.name) {
if (!(keep_quoted && node.quote) && should_mangle(node.key.name)) {
node.key.name = mangle(node.key.name);
}
}
else if (node instanceof AST_ObjectProperty) {
// setter or getter
node.key.name = mangle(node.key.name);
@@ -161,11 +166,6 @@ function mangle_properties(ast, options) {
if (!keep_quoted)
node.property = mangleStrings(node.property);
}
else if (node instanceof AST_ConciseMethod) {
if (should_mangle(node.name.name)) {
node.name.name = mangle(node.name.name);
}
}
// else if (node instanceof AST_String) {
// if (should_mangle(node.value)) {
// AST_Node.warn(