зеркало из https://github.com/mozilla/gecko-dev.git
Bug 701620 - Split default parse nodes into PNK_DEFAULT into PNK_DEFAULT (for default cases in switches) and PNK_DEFXMLNS (for those other uses). r=jorendorff
--HG-- extra : rebase_source : 795141b3c10ccc731a8690a1c91df6db441ed46c
This commit is contained in:
Родитель
7836ef6414
Коммит
04598ac634
|
@ -6629,7 +6629,7 @@ frontend::EmitTree(JSContext *cx, BytecodeEmitter *bce, ParseNode *pn)
|
||||||
case PNK_THROW:
|
case PNK_THROW:
|
||||||
#if JS_HAS_XML_SUPPORT
|
#if JS_HAS_XML_SUPPORT
|
||||||
case PNK_AT:
|
case PNK_AT:
|
||||||
case PNK_DEFAULT:
|
case PNK_DEFXMLNS:
|
||||||
JS_ASSERT(pn->isArity(PN_UNARY));
|
JS_ASSERT(pn->isArity(PN_UNARY));
|
||||||
/* FALL THROUGH */
|
/* FALL THROUGH */
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -116,6 +116,7 @@ enum ParseNodeKind {
|
||||||
PNK_THROW,
|
PNK_THROW,
|
||||||
PNK_INSTANCEOF,
|
PNK_INSTANCEOF,
|
||||||
PNK_DEBUGGER,
|
PNK_DEBUGGER,
|
||||||
|
PNK_DEFXMLNS,
|
||||||
PNK_XMLSTAGO,
|
PNK_XMLSTAGO,
|
||||||
PNK_XMLETAGO,
|
PNK_XMLETAGO,
|
||||||
PNK_XMLPTAGC,
|
PNK_XMLPTAGC,
|
||||||
|
@ -383,7 +384,7 @@ enum ParseNodeKind {
|
||||||
* PNK_XMLUNARY unary pn_kid: PNK_AT, PNK_ANYNAME, or PNK_DBLCOLON node
|
* PNK_XMLUNARY unary pn_kid: PNK_AT, PNK_ANYNAME, or PNK_DBLCOLON node
|
||||||
* pn_op: JSOP_XMLNAME, JSOP_BINDXMLNAME, or
|
* pn_op: JSOP_XMLNAME, JSOP_BINDXMLNAME, or
|
||||||
* JSOP_SETXMLNAME
|
* JSOP_SETXMLNAME
|
||||||
* PNK_DEFAULT name pn_atom: default XML namespace string literal
|
* PNK_DEFXMLNS name pn_kid: namespace expr
|
||||||
* PNK_FILTER binary pn_left: container expr, pn_right: filter expr
|
* PNK_FILTER binary pn_left: container expr, pn_right: filter expr
|
||||||
* PNK_DBLDOT binary pn_left: container expr, pn_right: selector expr
|
* PNK_DBLDOT binary pn_left: container expr, pn_right: selector expr
|
||||||
* PNK_ANYNAME nullary pn_op: JSOP_ANYNAME
|
* PNK_ANYNAME nullary pn_op: JSOP_ANYNAME
|
||||||
|
|
|
@ -4101,7 +4101,7 @@ Parser::statement()
|
||||||
if (tc->inStrictMode())
|
if (tc->inStrictMode())
|
||||||
return expressionStatement();
|
return expressionStatement();
|
||||||
|
|
||||||
pn = UnaryNode::create(PNK_DEFAULT, tc);
|
pn = UnaryNode::create(PNK_DEFXMLNS, tc);
|
||||||
if (!pn)
|
if (!pn)
|
||||||
return NULL;
|
return NULL;
|
||||||
if (!tokenStream.matchToken(TOK_NAME) ||
|
if (!tokenStream.matchToken(TOK_NAME) ||
|
||||||
|
|
|
@ -2246,7 +2246,7 @@ ASTSerializer::statement(ParseNode *pn, Value *dst)
|
||||||
return builder.debuggerStatement(&pn->pn_pos, dst);
|
return builder.debuggerStatement(&pn->pn_pos, dst);
|
||||||
|
|
||||||
#if JS_HAS_XML_SUPPORT
|
#if JS_HAS_XML_SUPPORT
|
||||||
case PNK_DEFAULT:
|
case PNK_DEFXMLNS:
|
||||||
{
|
{
|
||||||
LOCAL_ASSERT(pn->isArity(PN_UNARY));
|
LOCAL_ASSERT(pn->isArity(PN_UNARY));
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче