emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/js2-mode 515d876 27/61: Fix parsing static props withou


From: Dmitry Gutov
Subject: [elpa] externals/js2-mode 515d876 27/61: Fix parsing static props without semicolons
Date: Sun, 20 Dec 2020 12:20:03 -0500 (EST)

branch: externals/js2-mode
commit 515d876c6ae45a61cf67a7bd5723fe4c9e518756
Author: Dmitry Gutov <dgutov@yandex.ru>
Commit: Dmitry Gutov <dgutov@yandex.ru>

    Fix parsing static props without semicolons
    
    Fixes #477
---
 js2-mode.el     | 8 ++++++++
 tests/parser.el | 3 +++
 2 files changed, 11 insertions(+)

diff --git a/js2-mode.el b/js2-mode.el
index 64cc72c..924bc03 100644
--- a/js2-mode.el
+++ b/js2-mode.el
@@ -10960,6 +10960,14 @@ expression)."
         elem-key-string previous-elem-key-string
         after-comma previous-token)
     (while continue
+      ;; Clear out any lookahead tokens (possibly wrong modifier).
+      ;; FIXME: Deal with this problem in a more systematic fashion.
+      ;; Perhaps by making this modifier affect not how the token
+      ;; struct is constructed, but when js2-get-token returns based
+      ;; on it.
+      (when (> js2-ti-lookahead 0)
+        (setq js2-ti-lookahead 0)
+        (setq js2-ts-cursor (js2-current-token-end)))
       (setq tt (js2-get-prop-name-token)
             static nil
             elem nil
diff --git a/tests/parser.el b/tests/parser.el
index c87fa5f..2ad8b62 100644
--- a/tests/parser.el
+++ b/tests/parser.el
@@ -982,6 +982,9 @@ the test."
 (js2-deftest-parse parse-class-public-field-computed
   "class C {\n  [a + b] = c\n}")
 
+(js2-deftest-parse parse-class-static-fields-no-semi
+  "class C {\n  static a\n  static b = 42\n}")
+
 ;;; Operators
 
 (js2-deftest-parse exponentiation



reply via email to

[Prev in Thread] Current Thread [Next in Thread]