• adamk's avatar
    Fix 'eval' in class extends clauses to be always-strict · c8a342a5
    adamk authored
    Compiler backends get their language mode from the current
    function, but should instead be deriving it from the current scope.
    This allows proper handling of the always-strictness of class declarations
    and expressions, and in particular the treatment of 'eval' calls in an
    extends clause as a strict eval.
    
    Also fix the parser's RecordEvalCall logic to only reach out to the
    DeclarationScope in sloppy mode, which fixes the strange case of a
    sloppy function thinking it contains a sloppy eval when in fact
    it contains only a strict eval.
    
    BUG=v8:4970
    LOG=n
    
    Review-Url: https://codereview.chromium.org/1931003003
    Cr-Commit-Position: refs/heads/master@{#36001}
    c8a342a5
regress-4970.js 385 Bytes