Turn foo.new into foo["new"] when not --screw-ie8. Fix #534
authorMihai Bazon <mihai@bazon.net>
Tue, 26 Aug 2014 07:11:01 +0000 (10:11 +0300)
committerMihai Bazon <mihai@bazon.net>
Tue, 26 Aug 2014 07:11:01 +0000 (10:11 +0300)
lib/compress.js

index 1e99f15..b55361b 100644 (file)
@@ -2371,6 +2371,15 @@ merge(Compressor.prototype, {
     });
 
     OPT(AST_Dot, function(self, compressor){
+        var prop = self.property;
+        if (RESERVED_WORDS(prop) && !compressor.option("screw_ie8")) {
+            return make_node(AST_Sub, self, {
+                expression : self.expression,
+                property   : make_node(AST_String, self, {
+                    value: prop
+                })
+            }).optimize(compressor);
+        }
         return self.evaluate(compressor)[0];
     });