2e0523324c
This changes the split from AssignmentPattern and BindingPattern to Pattern and BindingPattern. Pattern collects all errors that are invalid in both assignment and binding pattern contexts. Binding pattern additionally collects errors for binding pattern contexts (property access isn't a valid target). The distinction is piggybacked on to distinguish assignment vs binding pattern errors since binding pattern verification will first throw the binding pattern error. Since we don't throw pattern error as binding pattern as well, this can mean that a later binding pattern syntax error will show up before an early pattern error. Since that just changes the message to another syntax violation, I think that's fine. Change-Id: Ib6a22c8d11c49eacc6667ae8ee5e98bababadd43 Reviewed-on: https://chromium-review.googlesource.com/c/1349273 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#57774}
5 lines
200 B
Plaintext
5 lines
200 B
Plaintext
*%(basename)s:5: SyntaxError: `...` must be followed by an identifier in declaration contexts
|
|
let {...{}} = {};
|
|
^^
|
|
SyntaxError: `...` must be followed by an identifier in declaration contexts
|