Changeset 237096 in webkit for trunk/Source/JavaScriptCore/parser/Parser.cpp
- Timestamp:
- Oct 15, 2018, 6:49:17 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/parser/Parser.cpp
r237054 r237096 148 148 m_functionCache = vm->addSourceProviderCache(source.provider()); 149 149 m_expressionErrorClassifier = nullptr; 150 m_useObjectRestSpread = Options::useObjectRestSpread();151 150 152 151 ScopeRef scope = pushScope(); … … 1175 1174 break; 1176 1175 1177 if (match(DOTDOTDOT) && m_useObjectRestSpread) {1176 if (match(DOTDOTDOT)) { 1178 1177 JSTokenLocation location = m_token.m_location; 1179 1178 next(); … … 4047 4046 } 4048 4047 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); 4060 4056 } 4061 4057 default:
Note:
See TracChangeset
for help on using the changeset viewer.