• gsathya's avatar
    [ESnext] Implement Object spread · a40b7172
    gsathya authored
    This patch adds parsing of spread object property.
    
    -- Changes ParsePropertyName to parse Token::ELLIPSIS.
    -- Throws if rest is encountered by setting a pattern error.
    -- Adds a new PropertyKind enum (SPREAD)
    -- Adds a new ObjectLiteralProperty::kind (SPREAD)
    -- Adds a new harmony-object-spread flag and protects the parser code
    with it.
    -- Adds a new runtime function called CopyDataProperties
    -- Does not add any support for this feature in fullcodegen.
    -- Ignition calls out to a runtime function CopyDataProperties to
    perform spread operation.
    -- Move FastAssign from builtins-objects.cc to objects.cc
    -- Refactor Builtin_ObjectAssign to use SetOrCopyDataProperties
    
    Object rest will be implemented in a follow on patch.
    
    BUG=v8:5549
    
    Review-Url: https://codereview.chromium.org/2606833002
    Cr-Commit-Position: refs/heads/master@{#42102}
    a40b7172
test-parsing.cc 272 KB