diff options
Diffstat (limited to 'js/src/frontend/FullParseHandler.h')
-rw-r--r-- | js/src/frontend/FullParseHandler.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/js/src/frontend/FullParseHandler.h b/js/src/frontend/FullParseHandler.h index 384d16b7d8..9209ba4d67 100644 --- a/js/src/frontend/FullParseHandler.h +++ b/js/src/frontend/FullParseHandler.h @@ -103,7 +103,8 @@ class FullParseHandler { bool isPropertyOrPrivateMemberAccess(Node node) { return node->isKind(ParseNodeKind::DotExpr) || node->isKind(ParseNodeKind::ElemExpr) || - node->isKind(ParseNodeKind::PrivateMemberExpr); + node->isKind(ParseNodeKind::PrivateMemberExpr) || + node->isKind(ParseNodeKind::ArgumentsLength); } bool isOptionalPropertyOrPrivateMemberAccess(Node node) { @@ -887,6 +888,11 @@ class FullParseHandler { key->pn_pos.end); } + ArgumentsLengthResult newArgumentsLength(Node expr, NameNodeType key) { + return newResult<ArgumentsLength>(expr, key, expr->pn_pos.begin, + key->pn_pos.end); + } + PropertyByValueResult newPropertyByValue(Node lhs, Node index, uint32_t end) { return newResult<PropertyByValue>(lhs, index, lhs->pn_pos.begin, end); } @@ -1137,6 +1143,12 @@ class FullParseHandler { TaggedParserAtomIndex::WellKnown::arguments(); } + bool isLengthName(Node node) { + return node->isKind(ParseNodeKind::PropertyNameExpr) && + node->as<NameNode>().atom() == + TaggedParserAtomIndex::WellKnown::length(); + } + bool isEvalName(Node node) { return node->isKind(ParseNodeKind::Name) && node->as<NameNode>().atom() == @@ -1150,6 +1162,10 @@ class FullParseHandler { TaggedParserAtomIndex::WellKnown::async(); } + bool isArgumentsLength(Node node) { + return node->isKind(ParseNodeKind::ArgumentsLength); + } + bool isPrivateName(Node node) { return node->isKind(ParseNodeKind::PrivateName); } |