summaryrefslogtreecommitdiffstats
path: root/js/src/frontend/ParseNode.h
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-04-06 12:12:20 +0200
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-04-06 12:14:14 +0200
commita9682a32af09f2fb8ae39c66fdc19ecdee24e591 (patch)
tree738033a7ad68a052403875d43ade1bf26ee2edf7 /js/src/frontend/ParseNode.h
parentcc07da9cb4d6e7a53f8d953427ffc2bca2e0c2df (diff)
parenta5d22aa6106fbd3c8cec12333b14d4c65cd98647 (diff)
downloadUXP-a9682a32af09f2fb8ae39c66fdc19ecdee24e591.tar
UXP-a9682a32af09f2fb8ae39c66fdc19ecdee24e591.tar.gz
UXP-a9682a32af09f2fb8ae39c66fdc19ecdee24e591.tar.lz
UXP-a9682a32af09f2fb8ae39c66fdc19ecdee24e591.tar.xz
UXP-a9682a32af09f2fb8ae39c66fdc19ecdee24e591.zip
Merge branch '816'
This merges both the JS Front-end parser changes to better structure the parser code, and the TC39 `toString()` revision proposal with the exception of ES6 classes.
Diffstat (limited to 'js/src/frontend/ParseNode.h')
-rw-r--r--js/src/frontend/ParseNode.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/js/src/frontend/ParseNode.h b/js/src/frontend/ParseNode.h
index c58dab431..c3523afe4 100644
--- a/js/src/frontend/ParseNode.h
+++ b/js/src/frontend/ParseNode.h
@@ -926,10 +926,14 @@ struct ListNode : public ParseNode
struct CodeNode : public ParseNode
{
- CodeNode(ParseNodeKind kind, const TokenPos& pos)
- : ParseNode(kind, JSOP_NOP, PN_CODE, pos)
+ CodeNode(ParseNodeKind kind, JSOp op, const TokenPos& pos)
+ : ParseNode(kind, op, PN_CODE, pos)
{
MOZ_ASSERT(kind == PNK_FUNCTION || kind == PNK_MODULE);
+ MOZ_ASSERT_IF(kind == PNK_MODULE, op == JSOP_NOP);
+ MOZ_ASSERT(op == JSOP_NOP || // statement, module
+ op == JSOP_LAMBDA_ARROW || // arrow function
+ op == JSOP_LAMBDA); // expression, method, comprehension, accessor, &c.
MOZ_ASSERT(!pn_body);
MOZ_ASSERT(!pn_objbox);
}