• Toon Verwaest's avatar
    [parser] Cleanup pattern classification · 2e052332
    Toon Verwaest authored
    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/1349273Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57774}
    2e052332
parser-base.h 210 KB