• bakkot's avatar
    Refactor object/class literal property name parsing · 8d5a267b
    bakkot authored
    This patch arranges that property names are parsed in a single pass,
    reporting the name as well as the type of the property, instead of
    parsing qualifiers like 'static' or 'get' initially as names and then
    re-parsing. This change is easier to reason about, very slightly (4%)
    faster in some cases (although slower in other, less common ones, though
    this slowdown will be fixed in an upcoming patch), and is a prerequisite
    for separating the parsing of object and class literal properties, which
    will become increasingly important as ECMAScript adds more class features.
    
    This is a reland of https://codereview.chromium.org/2278153004/,
    which fixes the issue causing the revert and adds more tests.
    
    Review-Url: https://codereview.chromium.org/2300503002
    Cr-Commit-Position: refs/heads/master@{#39056}
    8d5a267b
parser.cc 248 KB