diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-04-06 10:55:02 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-04-06 10:55:02 +0200 |
commit | 194e6155211353738bb14ffd1ca9e9662a455b0e (patch) | |
tree | 954984c7459d5306b52a653eaece825b315fbe80 /js/src/frontend | |
parent | f4fec66e094281465ce1d143e00b0c9bda4863af (diff) | |
download | UXP-194e6155211353738bb14ffd1ca9e9662a455b0e.tar UXP-194e6155211353738bb14ffd1ca9e9662a455b0e.tar.gz UXP-194e6155211353738bb14ffd1ca9e9662a455b0e.tar.lz UXP-194e6155211353738bb14ffd1ca9e9662a455b0e.tar.xz UXP-194e6155211353738bb14ffd1ca9e9662a455b0e.zip |
Inline Parser::checkAssignmentToCall into its sole caller.
Diffstat (limited to 'js/src/frontend')
-rw-r--r-- | js/src/frontend/Parser.cpp | 19 | ||||
-rw-r--r-- | js/src/frontend/Parser.h | 2 |
2 files changed, 5 insertions, 16 deletions
diff --git a/js/src/frontend/Parser.cpp b/js/src/frontend/Parser.cpp index 3f793ffcf..041c92fa7 100644 --- a/js/src/frontend/Parser.cpp +++ b/js/src/frontend/Parser.cpp @@ -4084,19 +4084,6 @@ Parser<ParseHandler>::PossibleError::transferErrorsTo(PossibleError* other) transferErrorTo(ErrorKind::Expression, other); } -template <typename ParseHandler> -bool -Parser<ParseHandler>::checkAssignmentToCall(Node target, unsigned msg) -{ - MOZ_ASSERT(handler.isFunctionCall(target)); - - // Assignment to function calls is forbidden in ES6. We're still somewhat - // concerned about sites using this in dead code, so forbid it only in - // strict mode code (or if the werror option has been set), and otherwise - // warn. - return reportWithNode(ParseStrictError, pc->sc()->strict(), target, msg); -} - template <> bool Parser<FullParseHandler>::checkDestructuringName(ParseNode* expr, Maybe<DeclarationKind> maybeDecl) @@ -7862,7 +7849,11 @@ Parser<ParseHandler>::checkAndMarkAsIncOperand(Node target, AssignmentFlavor fla if (!reportIfArgumentsEvalTarget(target)) return false; } else if (handler.isFunctionCall(target)) { - if (!checkAssignmentToCall(target, JSMSG_BAD_INCOP_OPERAND)) + // Assignment to function calls is forbidden in ES6. We're still + // somewhat concerned about sites using this in dead code, so forbid it + // only in strict mode code (or if the werror option has been set), and + // otherwise warn. + if (!reportWithNode(ParseStrictError, pc->sc()->strict(), target, JSMSG_BAD_INCOP_OPERAND)) return false; } return true; diff --git a/js/src/frontend/Parser.h b/js/src/frontend/Parser.h index 70d382501..8bffafc42 100644 --- a/js/src/frontend/Parser.h +++ b/js/src/frontend/Parser.h @@ -1432,8 +1432,6 @@ class Parser final : private JS::AutoGCRooter, public StrictModeGetter bool checkDestructuringObject(Node objectPattern, mozilla::Maybe<DeclarationKind> maybeDecl); bool checkDestructuringName(Node expr, mozilla::Maybe<DeclarationKind> maybeDecl); - bool checkAssignmentToCall(Node node, unsigned errnum); - Node newNumber(const Token& tok) { return handler.newNumber(tok.number(), tok.decimalPoint(), tok.pos); } |