Ignore:
Timestamp:
Oct 15, 2018, 6:49:17 AM (7 years ago)
Author:
[email protected]
Message:

[JSC] Remove Options::useObjectRestSpread
https://bugs.webkit.org/show_bug.cgi?id=190568

Reviewed by Saam Barati.

Options::useObjectRestSpread is enabled by default at 2017-06-27. It is already shipped in several releases,
and we can think that it is mature. Let's drop Options::useObjectRestSpread() flag.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseProperty):

  • parser/Parser.h:
  • runtime/Options.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/parser/Parser.cpp

    r237054 r237096  
    148148    m_functionCache = vm->addSourceProviderCache(source.provider());
    149149    m_expressionErrorClassifier = nullptr;
    150     m_useObjectRestSpread = Options::useObjectRestSpread();
    151150
    152151    ScopeRef scope = pushScope();
     
    11751174                break;
    11761175
    1177             if (match(DOTDOTDOT) && m_useObjectRestSpread) {
     1176            if (match(DOTDOTDOT)) {
    11781177                JSTokenLocation location = m_token.m_location;
    11791178                next();
     
    40474046    }
    40484047    case DOTDOTDOT: {
    4049         if (m_useObjectRestSpread) {
    4050             auto spreadLocation = m_token.m_location;
    4051             auto start = m_token.m_startPosition;
    4052             auto divot = m_token.m_endPosition;
    4053             next();
    4054             TreeExpression elem = parseAssignmentExpressionOrPropagateErrorClass(context);
    4055             failIfFalse(elem, "Cannot parse subject of a spread operation");
    4056             auto node = context.createObjectSpreadExpression(spreadLocation, elem, start, divot, m_lastTokenEndPosition);
    4057             return context.createProperty(node, PropertyNode::Spread, PropertyNode::Unknown, complete, SuperBinding::NotNeeded, ClassElementTag::No);
    4058         }
    4059         FALLTHROUGH;
     4048        auto spreadLocation = m_token.m_location;
     4049        auto start = m_token.m_startPosition;
     4050        auto divot = m_token.m_endPosition;
     4051        next();
     4052        TreeExpression elem = parseAssignmentExpressionOrPropagateErrorClass(context);
     4053        failIfFalse(elem, "Cannot parse subject of a spread operation");
     4054        auto node = context.createObjectSpreadExpression(spreadLocation, elem, start, divot, m_lastTokenEndPosition);
     4055        return context.createProperty(node, PropertyNode::Spread, PropertyNode::Unknown, complete, SuperBinding::NotNeeded, ClassElementTag::No);
    40604056    }
    40614057    default:
Note: See TracChangeset for help on using the changeset viewer.