| Index: src/parsing/parser.h
|
| diff --git a/src/parsing/parser.h b/src/parsing/parser.h
|
| index 0e71357f2fcd027f09ba29d4ff948e86d052f36d..3a88b7ae51e5627afb44b3d6e7b2778158160531 100644
|
| --- a/src/parsing/parser.h
|
| +++ b/src/parsing/parser.h
|
| @@ -564,7 +564,7 @@ class Parser : public ParserBase<Parser> {
|
|
|
| Block* BuildParameterInitializationBlock(
|
| const ParserFormalParameters& parameters, bool* ok);
|
| - Block* BuildRejectPromiseOnException(Block* block);
|
| + Block* BuildRejectPromiseOnException(Block* block, bool* ok);
|
|
|
| // Consumes the ending }.
|
| ZoneList<Statement*>* ParseEagerFunctionBody(
|
| @@ -658,8 +658,10 @@ class Parser : public ParserBase<Parser> {
|
| 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* BuildDotDebugIsActive();
|
|
|
| // Generic AST generator for throwing errors from compiled code.
|
| Expression* NewThrowError(Runtime::FunctionId function_id,
|
| @@ -962,7 +964,10 @@ class Parser : public ParserBase<Parser> {
|
| if (parameters.is_simple) return;
|
| auto* init_block = BuildParameterInitializationBlock(parameters, ok);
|
| if (!*ok) return;
|
| - if (is_async) init_block = BuildRejectPromiseOnException(init_block);
|
| + if (is_async) {
|
| + init_block = BuildRejectPromiseOnException(init_block, ok);
|
| + if (!*ok) return;
|
| + }
|
| if (init_block != nullptr) body->Add(init_block, zone());
|
| }
|
|
|
|
|