Issue #2173 - Add accessors to ListNode

Based-on: m-c 1479659/{1,12}
This commit is contained in:
Martok 2023-03-25 22:16:04 +01:00 • committed by roytam1
commit 9c17ec0533
14 changed files with 1251 additions and 1049 deletions

View file

@ -450,15 +450,13 @@ TernaryKid3(ParseNode* pn)
static inline ParseNode*
ListHead(ParseNode* pn)
{
MOZ_ASSERT(pn->isArity(PN_LIST));
return pn->pn_head;
return pn->as<ListNode>().head();
}
static inline unsigned
ListLength(ParseNode* pn)
{
MOZ_ASSERT(pn->isArity(PN_LIST));
return pn->pn_count;
return pn->as<ListNode>().count();
}
static inline ParseNode*
@ -511,8 +509,7 @@ static inline ParseNode*
BinaryOpLeft(ParseNode* pn)
{
MOZ_ASSERT(pn->isBinaryOperation());
MOZ_ASSERT(pn->isArity(PN_LIST));
MOZ_ASSERT(pn->pn_count == 2);
MOZ_ASSERT(pn->as<ListNode>().count() == 2);
return ListHead(pn);
}
@ -520,8 +517,7 @@ static inline ParseNode*
BinaryOpRight(ParseNode* pn)
{
MOZ_ASSERT(pn->isBinaryOperation());
MOZ_ASSERT(pn->isArity(PN_LIST));
MOZ_ASSERT(pn->pn_count == 2);
MOZ_ASSERT(pn->as<ListNode>().count() == 2);
return NextNode(ListHead(pn));
}
@ -688,7 +684,7 @@ static inline ParseNode*
FunctionStatementList(ParseNode* fn)
{
MOZ_ASSERT(fn->pn_body->isKind(PNK_PARAMSBODY));
ParseNode* last = fn->pn_body->last();
ParseNode* last = fn->pn_body->as<ListNode>().last();
MOZ_ASSERT(last->isKind(PNK_LEXICALSCOPE));
MOZ_ASSERT(last->isEmptyScope());
ParseNode* body = last->scopeBody();