• Leszek Swirski's avatar
    [parser] Check assignment LHS for paren errors · df6f5f6b
    Leszek Swirski authored
    It is not legal for destructuring patterns and identifiers in declarations
    to be in parentheses. This includes nested patterns/identifiers inside
    another pattern.
    
    We were checking sub-patterns for parentheses when parsing possible
    sub-patterns, but this check missed sub-patterns with a default
    initialiser (e.g. [({x:y})=1] = {}), as the AssignmentExpression hid
    the pattern.
    
    So, we now additionally record declaration/pattern errors of an assignment
    LHS when parsing the assignment cover grammar.
    
    Bug: v8:8630
    Change-Id: Ia5a97003671fc1da7f68d7fb15943928ce9496e3
    Reviewed-on: https://chromium-review.googlesource.com/c/1404452Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58743}
    df6f5f6b
parser-base.h 203 KB