• marja@chromium.org's avatar
    Traitify ParserBase and move functions there. · d74fd20f
    marja@chromium.org authored
    (Second try, with fixes. First try: https://codereview.chromium.org/149913006/ )
    
    The long-term goal is to move all recursive descent functions from Parser and
    PreParser into ParserBase, but first they need to be unified.
    
    Notes:
    - The functions moved in this CL: ParseIdentifier, ParseIdentifierName,
    ParseIdentifierNameOrGetOrSet, ParseIdentifierOrStrictReservedWord.
    - IOW, this CL removes Parser::ParseIdentifier and PreParser::ParseIdentifier
    and adds ParserBase::ParseIdentifier, etc.
    - Error reporting used to require virtual funcs; now error reporting is moved to
    the Traits too, and ParserBase no longer needs to be virtual.
    - I had to move PreParser::Identifier out of the PreParser class, because
    otherwise PreParserTraits cannot use it in a typedef.
    
    BUG=v8:3126
    LOG=N
    R=mstarzinger@chromium.org
    
    Review URL: https://codereview.chromium.org/158913003
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    d74fd20f
parser.h 27.2 KB