Fixed dot properties not optimizing unicode identifiers. Signed-off-by: Justin Lau <justin@tclau.com>
This commit is contained in:
@@ -1962,8 +1962,8 @@ merge(Compressor.prototype, {
|
||||
var prop = self.property;
|
||||
if (prop instanceof AST_String && compressor.option("properties")) {
|
||||
prop = prop.getValue();
|
||||
if (is_identifier(prop)
|
||||
|| (compressor.option("screw_ie8") && /^[a-z_$][a-z0-9_$]*$/i.test(prop))) {
|
||||
if (compressor.option("screw_ie8") && RESERVED_WORDS(prop)
|
||||
|| !(RESERVED_WORDS(prop)) && is_identifier_string(prop)) {
|
||||
return make_node(AST_Dot, self, {
|
||||
expression : self.expression,
|
||||
property : prop
|
||||
|
||||
@@ -167,6 +167,14 @@ function is_identifier_char(ch) {
|
||||
;
|
||||
};
|
||||
|
||||
function is_identifier_string(str){
|
||||
for (var i = str.length; --i >= 0;) {
|
||||
if (!is_identifier_char(str.charAt(i)))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
function parse_js_number(num) {
|
||||
if (RE_HEX_NUMBER.test(num)) {
|
||||
return parseInt(num.substr(2), 16);
|
||||
|
||||
Reference in New Issue
Block a user