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:
Jeff Walden 2011-11-05 12:10:33 -07:00
Родитель 7836ef6414
Коммит 04598ac634
4 изменённых файлов: 5 добавлений и 4 удалений

Просмотреть файл

@ -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));