mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-24 16:17:29 +09:00
Issue #2142 - Extend newSuperCall for JSOP_SPREADSUPERCALL
Based-on: m-c 1537936
This commit is contained in:
parent
014ebe8ae2
commit
6f56a494e6
3 changed files with 6 additions and 7 deletions
|
|
@ -345,8 +345,10 @@ FOR_EACH_PARSENODE_SUBCLASS(DECLARE_AS)
|
|||
return new_<ListNode>(PNK_ARGUMENTS, JSOP_NOP, pos);
|
||||
}
|
||||
|
||||
BinaryNodeType newSuperCall(Node callee, Node args) {
|
||||
return new_<BinaryNode>(PNK_SUPERCALL, JSOP_SUPERCALL, callee, args);
|
||||
BinaryNodeType newSuperCall(Node callee, Node args, bool isSpread) {
|
||||
JSOp op = isSpread ? JSOP_SPREADSUPERCALL : JSOP_SUPERCALL;
|
||||
TokenPos pos(callee->pn_pos.begin, args->pn_pos.end);
|
||||
return new_<BinaryNode>(PNK_SUPERCALL, op, pos, callee, args);
|
||||
}
|
||||
|
||||
BinaryNodeType newTaggedTemplate(Node tag, Node args) {
|
||||
|
|
|
|||
|
|
@ -9448,13 +9448,10 @@ Parser<ParseHandler>::memberExpr(YieldHandling yieldHandling, TripledotHandling
|
|||
if (!args)
|
||||
return null();
|
||||
|
||||
nextMember = handler.newSuperCall(lhs, args);
|
||||
nextMember = handler.newSuperCall(lhs, args, isSpread);
|
||||
if (!nextMember)
|
||||
return null();
|
||||
|
||||
if (isSpread)
|
||||
handler.setOp(nextMember, JSOP_SPREADSUPERCALL);
|
||||
|
||||
NameNodeType thisName = newThisName();
|
||||
if (!thisName)
|
||||
return null();
|
||||
|
|
|
|||
|
|
@ -307,7 +307,7 @@ FOR_EACH_PARSENODE_SUBCLASS(DECLARE_AS)
|
|||
BinaryNodeType newCall(Node callee, Node args) { return NodeFunctionCall; }
|
||||
BinaryNodeType newOptionalCall(Node callee, Node args) { return NodeOptionalFunctionCall; }
|
||||
ListNodeType newArguments(const TokenPos& pos) { return NodeGeneric; }
|
||||
BinaryNodeType newSuperCall(Node callee, Node args) { return NodeGeneric; }
|
||||
BinaryNodeType newSuperCall(Node callee, Node args, bool isSpread) { return NodeGeneric; }
|
||||
BinaryNodeType newTaggedTemplate(Node callee, Node args) { return NodeGeneric; }
|
||||
Node newGenExp(Node callee, Node args) { return NodeGeneric; }
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue