• nikolaos's avatar
    [parser] Clean up (pre)parser traits · 6fe0b39b
    nikolaos authored
    This patch removes 26 elements of the (pre)parser traits objects.
    Some methods are removed completely and called directly from the
    implementation objects:
    
    - ParseAsyncFunctionExpression
    - ParseClassLiteral
    - ParseDoExpression
    - ParseEagerFunctionBody
    - ParseFunctionLiteral
    - ParseV8Intrinsic
    
    Some methods have to be moved to at least one implementation object:
    
    - AddTemplateExpression
    - AddTemplateSpan
    - CheckConflictingVarDeclarations
    - CloseTemplateLiteral
    - MarkCollectedTailCallExpressions
    - MarkTailPosition
    - OpenTemplateLiteral
    - ParseAsyncArrowSingleExpressionBody
    - PrepareSpreadArguments
    - QueueDestructuringAssignmentForRewriting
    - QueueNonPatternForRewriting
    - RewriteAssignExponentiation
    - RewriteAwaitExpression
    - RewriteDestructuringAssignments
    - RewriteExponentiation
    - RewriteNonPattern
    - RewriteYieldStar
    - SkipLazyFunctionBody
    - SpreadCall
    - SpreadCallNew
    
    Also, the inner class/struct TemplateLiteralState is moved to the
    implementation objects.
    
    R=adamk@chromium.org, marja@chromium.org
    BUG=
    LOG=N
    
    Review-Url: https://codereview.chromium.org/2267783002
    Cr-Commit-Position: refs/heads/master@{#38837}
    6fe0b39b
preparser.cc 42.9 KB