aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/parse.js6
-rw-r--r--test/compress/issue-1943.js31
2 files changed, 36 insertions, 1 deletions
diff --git a/lib/parse.js b/lib/parse.js
index eab9b64d..97dd6d4b 100644
--- a/lib/parse.js
+++ b/lib/parse.js
@@ -285,7 +285,11 @@ function tokenizer($TEXT, filename, html5_comments, shebang) {
S.regex_allowed = ((type == "operator" && !UNARY_POSTFIX(value)) ||
(type == "keyword" && KEYWORDS_BEFORE_EXPRESSION(value)) ||
(type == "punc" && PUNC_BEFORE_EXPRESSION(value)));
- prev_was_dot = (type == "punc" && value == ".");
+ if (type == "punc" && value == ".") {
+ prev_was_dot = true;
+ } else if (!is_comment) {
+ prev_was_dot = false;
+ }
var ret = {
type : type,
value : value,
diff --git a/test/compress/issue-1943.js b/test/compress/issue-1943.js
new file mode 100644
index 00000000..69bb9e64
--- /dev/null
+++ b/test/compress/issue-1943.js
@@ -0,0 +1,31 @@
+operator: {
+ input: {
+ a. //comment
+ typeof
+ }
+ expect_exact: "a.typeof;"
+}
+
+name: {
+ input: {
+ a. //comment
+ b
+ }
+ expect_exact: "a.b;"
+}
+
+keyword: {
+ input: {
+ a. //comment
+ default
+ }
+ expect_exact: "a.default;"
+}
+
+atom: {
+ input: {
+ a. //comment
+ true
+ }
+ expect_exact: "a.true;"
+}