[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 92f5479 108/110: Parse generator methods better
From: |
Dmitry Gutov |
Subject: |
[elpa] master 92f5479 108/110: Parse generator methods better |
Date: |
Thu, 23 Jun 2016 01:13:04 +0000 (UTC) |
branch: master
commit 92f5479d9bc27b5289d352946a76ef585525a22e
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>
Parse generator methods better
Fixes #340
---
js2-mode.el | 14 ++++++--------
tests/parser.el | 2 +-
2 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/js2-mode.el b/js2-mode.el
index ba492d7..527c639 100644
--- a/js2-mode.el
+++ b/js2-mode.el
@@ -10986,15 +10986,13 @@ TYPE-STRING is a string `get', `set', `*', or nil,
indicating a found keyword."
("async" . ASYNC))))
'FUNCTION))
result end
- (fn (js2-parse-function-expr (eq type 'ASYNC))))
- ;; it has to be an anonymous function, as we already parsed the name
- (if (/= (js2-node-type fn) js2-FUNCTION)
- (js2-report-error "msg.bad.prop")
- (if (cl-plusp (length (js2-function-name fn)))
- (js2-report-error "msg.bad.prop")))
+ (pos (js2-current-token-beg))
+ (_ (js2-must-match js2-LP "msg.no.paren.parms"))
+ (fn (js2-parse-function 'FUNCTION_EXPRESSION pos
+ (string= type-string "*")
+ (eq type 'ASYNC)
+ nil)))
(js2-node-set-prop fn 'METHOD_TYPE type) ; for codegen
- (when (string= type-string "*")
- (setf (js2-function-node-generator-type fn) 'STAR))
(unless pos (setq pos (js2-node-pos prop)))
(setq end (js2-node-end fn)
result (make-js2-method-node :pos pos
diff --git a/tests/parser.el b/tests/parser.el
index 69222b8..145bcbd 100644
--- a/tests/parser.el
+++ b/tests/parser.el
@@ -260,7 +260,7 @@ the test."
"var x = {get [foo + bar]() { return 42;\n}};")
(js2-deftest-parse object-literal-generator
- "var x = {*foo() { yield 42;\n}};")
+ "var x = {*foo() { yield* 42;\n}};")
(js2-deftest-parse object-literal-computed-generator-key
"var x = {*[foo + bar]() { yield 42;\n}};")
- [elpa] master ae922a3 067/110: Remove js2-make-await as unused, (continued)
- [elpa] master ae922a3 067/110: Remove js2-make-await as unused, Dmitry Gutov, 2016/06/22
- [elpa] master 502c14a 003/110: Use = instead of eq; Refs #185, Dmitry Gutov, 2016/06/22
- [elpa] master 73c0348 062/110: Merge pull request #297 from Christoph-D/master, Dmitry Gutov, 2016/06/22
- [elpa] master 49954ea 084/110: Use idle timer to reparse, even when the buffer's just been opened, Dmitry Gutov, 2016/06/22
- [elpa] master 1e1e410 082/110: Merge pull request #289 from dgreensp/fix-array-rest, Dmitry Gutov, 2016/06/22
- [elpa] master 16c42ce 087/110: Run all tests on 'make test', Dmitry Gutov, 2016/06/22
- [elpa] master e265b69 090/110: Fix a byte compilation warning on Emacs 25, Dmitry Gutov, 2016/06/22
- [elpa] master 87f43f3 089/110: Fix more remaining failures, Dmitry Gutov, 2016/06/22
- [elpa] master 6d22df2 094/110: Colorize imported names as variables, Dmitry Gutov, 2016/06/22
- [elpa] master bc46db5 104/110: Add a test for #335 as well, Dmitry Gutov, 2016/06/22
- [elpa] master 92f5479 108/110: Parse generator methods better,
Dmitry Gutov <=
- [elpa] master 58857dc 103/110: Merge branch 'dgreensp-object-rest-spread', Dmitry Gutov, 2016/06/22
- [elpa] master 0cda392 109/110: Make a new release, Dmitry Gutov, 2016/06/22
- [elpa] master be0b00d 063/110: js2-mode-extend-comment: Don't check that the next line is also commented, Dmitry Gutov, 2016/06/22
- [elpa] master 757f91d 065/110: And move its definition below, Dmitry Gutov, 2016/06/22
- [elpa] master 7e0b11f 071/110: Add tests for of parsing, Dmitry Gutov, 2016/06/22
- [elpa] master 83d9890 070/110: Fix await parsing, Dmitry Gutov, 2016/06/22
- [elpa] master bacb022 074/110: Refactor async arrow function matching, Dmitry Gutov, 2016/06/22
- [elpa] master 57dca37 073/110: Refactor await parsing to only parse once, Dmitry Gutov, 2016/06/22
- [elpa] master 60f7a2b 080/110: Fix computed property generator methods indentation, Dmitry Gutov, 2016/06/22
- [elpa] master de6df33 049/110: Fix semicolons and scoping in exported decls, Dmitry Gutov, 2016/06/22