| Index: src/parsing/parser.h
|
| diff --git a/src/parsing/parser.h b/src/parsing/parser.h
|
| index 1648700d2aaa931a3b4f6e00c44dc8bf63db3e09..b3ca25d36ececd0cf33ef35fb0d43e663bc7ec66 100644
|
| --- a/src/parsing/parser.h
|
| +++ b/src/parsing/parser.h
|
| @@ -1122,7 +1122,7 @@ class Parser : public ParserBase<ParserTraits> {
|
|
|
| Block* BuildParameterInitializationBlock(
|
| const ParserFormalParameters& parameters, bool* ok);
|
| - Block* BuildRejectPromiseOnException(Block* block);
|
| + Block* BuildRejectPromiseOnException(Block* block, bool* ok);
|
|
|
| // Consumes the ending }.
|
| ZoneList<Statement*>* ParseEagerFunctionBody(
|
| @@ -1168,8 +1168,10 @@ class Parser : public ParserBase<ParserTraits> {
|
| void RewriteParameterInitializer(Expression* expr, Scope* scope);
|
|
|
| Expression* BuildCreateJSGeneratorObject(int pos, FunctionKind kind);
|
| - Expression* BuildPromiseResolve(Expression* value, int pos);
|
| - Expression* BuildPromiseReject(Expression* value, int pos);
|
| + Expression* BuildResolvePromise(Expression* value, int pos);
|
| + Expression* BuildRejectPromise(Expression* value, int pos);
|
| + VariableProxy* BuildDotPromise();
|
| + VariableProxy* BuildDebugIsActive();
|
|
|
| Scanner scanner_;
|
| PreParser* reusable_preparser_;
|
| @@ -1358,7 +1360,8 @@ void ParserTraits::AddParameterInitializationBlock(
|
| if (!*ok) return;
|
|
|
| if (is_async) {
|
| - init_block = parser_->BuildRejectPromiseOnException(init_block);
|
| + init_block = parser_->BuildRejectPromiseOnException(init_block, ok);
|
| + if (!*ok) return;
|
| }
|
|
|
| if (init_block != nullptr) {
|
|
|