• mike's avatar
    [es6] Fix bug in pattern re-writing · 9acbca18
    mike authored
    As originally implemented, a SingleNameBinding within a BindingPattern
    was incorrectly interpreted as an assignment if an initializer was
    present and that initializer was itself an AssignmentExpresion.
    For example:
    
        let x;
        { let [x = y = 1] = []; }
        print(x); // expected: undefined, actual: 1
    
    Extend the heuristic that detects the "context" of a destructuring
    pattern to account for AssignmentExpressions within SingleNameBindings.
    
    BUG=v8:4891
    LOG=N
    R=adamk@chromium.org
    
    Review URL: https://codereview.chromium.org/1859423002
    
    Cr-Commit-Position: refs/heads/master@{#35334}
    9acbca18
destructuring.js 30.7 KB