• bakkot's avatar
    Add errors for declarations which conflict with catch parameters. · 2907c726
    bakkot authored
    Catch parameters are largely treated as lexical declarations in the
    block which contains their body for the purposes of early syntax errors,
    with some exceptions outlined in B.3.5. This patch introduces most of
    those errors, except those from `eval('for (var e of ...);')` inside of
    a catch with a simple parameter named 'e'.
    
    Note that annex B.3.5 allows var declarations to conflict with simple
    catch parameters, except when the variable declaration is the init of a
    for-of statement.
    
    BUG=v8:5112,v8:4231
    
    Review-Url: https://codereview.chromium.org/2109733003
    Cr-Commit-Position: refs/heads/master@{#37462}
    2907c726
parser.cc 262 KB