mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-17 22:32:51 +00:00
Bug 1297706 - Syntax parse with statements. r=jandem
This commit is contained in:
parent
85437bebb4
commit
c91529919f
@ -5786,18 +5786,10 @@ Parser<ParseHandler>::yieldExpression(InHandling inHandling)
|
||||
MOZ_CRASH("yieldExpr");
|
||||
}
|
||||
|
||||
template <>
|
||||
ParseNode*
|
||||
Parser<FullParseHandler>::withStatement(YieldHandling yieldHandling)
|
||||
template <typename ParseHandler>
|
||||
typename ParseHandler::Node
|
||||
Parser<ParseHandler>::withStatement(YieldHandling yieldHandling)
|
||||
{
|
||||
// test262/ch12/12.10/12.10-0-1.js fails if we try to parse with-statements
|
||||
// in syntax-parse mode. See bug 892583.
|
||||
if (handler.syntaxParser) {
|
||||
handler.disableSyntaxParser();
|
||||
abortedSyntaxParse = true;
|
||||
return null();
|
||||
}
|
||||
|
||||
MOZ_ASSERT(tokenStream.isCurrentTokenType(TOK_WITH));
|
||||
uint32_t begin = pos().begin;
|
||||
|
||||
@ -5831,14 +5823,6 @@ Parser<FullParseHandler>::withStatement(YieldHandling yieldHandling)
|
||||
return handler.newWithStatement(begin, objectExpr, innerBlock);
|
||||
}
|
||||
|
||||
template <>
|
||||
SyntaxParseHandler::Node
|
||||
Parser<SyntaxParseHandler>::withStatement(YieldHandling yieldHandling)
|
||||
{
|
||||
JS_ALWAYS_FALSE(abortIfSyntaxParser());
|
||||
return null();
|
||||
}
|
||||
|
||||
template <typename ParseHandler>
|
||||
typename ParseHandler::Node
|
||||
Parser<ParseHandler>::labeledItem(YieldHandling yieldHandling)
|
||||
|
@ -297,6 +297,7 @@ class SyntaxParseHandler
|
||||
Node newContinueStatement(PropertyName* label, const TokenPos& pos) { return NodeGeneric; }
|
||||
Node newBreakStatement(PropertyName* label, const TokenPos& pos) { return NodeBreak; }
|
||||
Node newReturnStatement(Node expr, const TokenPos& pos) { return NodeReturn; }
|
||||
Node newWithStatement(uint32_t begin, Node expr, Node body) { return NodeGeneric; }
|
||||
|
||||
Node newLabeledStatement(PropertyName* label, Node stmt, uint32_t begin) {
|
||||
return NodeGeneric;
|
||||
|
Loading…
x
Reference in New Issue
Block a user