| Index: runtime/vm/parser.h
|
| ===================================================================
|
| --- runtime/vm/parser.h (revision 43515)
|
| +++ runtime/vm/parser.h (working copy)
|
| @@ -345,6 +345,7 @@
|
| String* ExpectIdentifier(const char* msg);
|
| bool IsLiteral(const char* literal);
|
| bool IsAwaitKeyword();
|
| + bool IsYieldKeyword();
|
|
|
| void SkipIf(Token::Kind);
|
| void SkipBlock();
|
| @@ -558,12 +559,18 @@
|
| void OpenFunctionBlock(const Function& func);
|
| void OpenAsyncClosure();
|
| RawFunction* OpenAsyncFunction(intptr_t formal_param_pos);
|
| + RawFunction* OpenSyncGeneratorFunction(intptr_t func_pos);
|
| + SequenceNode* CloseSyncGenFunction(const Function& closure,
|
| + SequenceNode* closure_node);
|
| + void AddSyncGenClosureParameters(ParamList* params);
|
| void OpenAsyncTryBlock();
|
| SequenceNode* CloseBlock();
|
| SequenceNode* CloseAsyncFunction(const Function& closure,
|
| SequenceNode* closure_node);
|
| SequenceNode* CloseAsyncClosure(SequenceNode* body);
|
| SequenceNode* CloseAsyncTryBlock(SequenceNode* try_block);
|
| + void AddAsyncClosureParameters(ParamList* params);
|
| + void AddContinuationVariables();
|
| void AddAsyncClosureVariables();
|
|
|
|
|
| @@ -786,8 +793,9 @@
|
| // global variables.
|
| bool is_top_level_;
|
|
|
| - // await_is_keyword_ is true if we are parsing an async function. In this
|
| - // context async is not treated as identifier but as a keyword.
|
| + // await_is_keyword_ is true if we are parsing an async or generator
|
| + // function. In this context the identifiers await, async and yield
|
| + // are treated as keywords.
|
| bool await_is_keyword_;
|
|
|
| // The member currently being parsed during "top level" parsing.
|
|
|