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()); |
} |