[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 523b3cb 38/49: Add a STRICT parameter to js2--collect-decl
From: |
Dmitry Gutov |
Subject: |
[elpa] master 523b3cb 38/49: Add a STRICT parameter to js2--collect-declared-symbols |
Date: |
Mon, 16 Jan 2017 15:35:49 +0000 (UTC) |
branch: master
commit 523b3cbfc06dc3e559e79bb838e2010ec60dd7c6
Author: Lele Gaifax <address@hidden>
Commit: Lele Gaifax <address@hidden>
Add a STRICT parameter to js2--collect-declared-symbols
---
js2-mode.el | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/js2-mode.el b/js2-mode.el
index dd7574b..e0ad317 100644
--- a/js2-mode.el
+++ b/js2-mode.el
@@ -7144,9 +7144,10 @@ The latter two cases happen in destructuring
assignments: recursively update the
(dolist (elt (js2--collect-declared-symbols targets))
(js2--add-or-update-symbol elt inition used vars)))
-(defun js2--collect-declared-symbols (node)
+(defun js2--collect-declared-symbols (node strict)
"Collect the `js-name-node' symbols declared in NODE and return a list of
them.
-NODE is either `js2-array-node', `js2-object-node', or `js2-name-node'."
+NODE is either `js2-array-node', `js2-object-node', or `js2-name-node'.
+When STRICT, signal an error if NODE is not one of the expected types."
(let (targets)
(cond
((js2-name-node-p node)
@@ -7159,7 +7160,7 @@ NODE is either `js2-array-node', `js2-object-node', or
`js2-name-node'."
((js2-unary-node-p elt) ;; rest (...)
(js2-unary-node-operand elt))
(t elt)))
- (setq targets (append (js2--collect-declared-symbols elt)
targets)))))
+ (setq targets (append (js2--collect-declared-symbols elt strict)
targets)))))
((js2-object-node-p node)
(dolist (elt (js2-object-node-elems node))
(let ((subexpr (cond
@@ -7179,10 +7180,11 @@ NODE is either `js2-array-node', `js2-object-node', or
`js2-name-node'."
(js2-unary-node-operand elt)))))
(when subexpr
(setq targets (append
- (js2--collect-declared-symbols subexpr)
+ (js2--collect-declared-symbols subexpr strict)
targets))))))
- (t (js2-report-error "msg.no.parm" nil (js2-node-abs-pos node)
- (js2-node-len node))
+ (strict
+ (js2-report-error "msg.no.parm" nil (js2-node-abs-pos node)
+ (js2-node-len node))
nil))
targets))
@@ -8145,7 +8147,7 @@ NODE is either `js2-array-node', `js2-object-node', or
`js2-name-node'.
Return a list of `js2-name-node' nodes representing the symbols
declared; probably to check them for errors."
- (let ((name-nodes (js2--collect-declared-symbols node)))
+ (let ((name-nodes (js2--collect-declared-symbols node t)))
(dolist (node name-nodes)
(let (leftpos)
(js2-define-symbol decl-type (js2-name-node-name node)
- [elpa] master 2a79649 33/49: Fix indentation after regexp in js2-old-indent.el, (continued)
- [elpa] master 2a79649 33/49: Fix indentation after regexp in js2-old-indent.el, Dmitry Gutov, 2017/01/16
- [elpa] master f450de0 34/49: Handle destructuring assignments when classifying variables, Dmitry Gutov, 2017/01/16
- [elpa] master 90e37cd 45/49: Merge pull request #397 from lelit/issue393, Dmitry Gutov, 2017/01/16
- [elpa] master 9b63a13 16/49: Special methods should allow keywords as names, Dmitry Gutov, 2017/01/16
- [elpa] master 672e2da 07/49: js2-parse-mul-expr: Parse the right operand as exponentiation too, Dmitry Gutov, 2017/01/16
- [elpa] master a91e357 40/49: Create a separate scope for switch statements, Dmitry Gutov, 2017/01/16
- [elpa] master 4d35da5 30/49: Fix the fix (error detection), Dmitry Gutov, 2017/01/16
- [elpa] master 31a2399 44/49: Mostly cosmetic, split js2--classify-variables in three simpler functions, Dmitry Gutov, 2017/01/16
- [elpa] master 3725fcf 35/49: Handle other cases of destructuring assignments/initializations, Dmitry Gutov, 2017/01/16
- [elpa] master dad7d09 32/49: feat: add js2-comments-between func, Dmitry Gutov, 2017/01/16
- [elpa] master 523b3cb 38/49: Add a STRICT parameter to js2--collect-declared-symbols,
Dmitry Gutov <=
- [elpa] master 1f12517 10/49: Merge pull request #353 from kaushalmodi/js2-jsx-mode-docstring-fix, Dmitry Gutov, 2017/01/16
- [elpa] master 454b242 20/49: Update NEWS.md, Dmitry Gutov, 2017/01/16
- [elpa] master 2d0dc5e 43/49: Cosmetic, reformat to stay within the preferred 80 columns limit, Dmitry Gutov, 2017/01/16
- [elpa] master ff072bf 49/49: Merge commit '03c679eb9914d58d7d9b7afc2036c482a9a01236' from js2-mode, Dmitry Gutov, 2017/01/16
- [elpa] master fbe58dc 18/49: Compute externs on demand, Dmitry Gutov, 2017/01/16
- [elpa] master d3dd406 46/49: fix: copyright year of tests/comsume.el, Dmitry Gutov, 2017/01/16
- [elpa] master cdbdca4 39/49: Rewrite js2--classify-variables, focusing only on name nodes, Dmitry Gutov, 2017/01/16
- [elpa] master 82bbd97 25/49: Move it up, Dmitry Gutov, 2017/01/16
- [elpa] master c303773 21/49: Fix dead link in the documentation, Dmitry Gutov, 2017/01/16
- [elpa] master 5855a45 22/49: Merge pull request #380 from JulianKniephoff/fix-dead-doc-link-js2-include-jslint-globals, Dmitry Gutov, 2017/01/16