Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Side by Side Diff: runtime/vm/parser.h

Issue 1016833002: Fix await/async/yield keyword recognition (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | runtime/vm/parser.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_PARSER_H_ 5 #ifndef VM_PARSER_H_
6 #define VM_PARSER_H_ 6 #define VM_PARSER_H_
7 7
8 #include "include/dart_api.h" 8 #include "include/dart_api.h"
9 9
10 #include "platform/assert.h" 10 #include "platform/assert.h"
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 tokens_iterator_.Advance(); 314 tokens_iterator_.Advance();
315 CompilerStats::num_tokens_consumed++; 315 CompilerStats::num_tokens_consumed++;
316 } 316 }
317 void ConsumeRightAngleBracket(); 317 void ConsumeRightAngleBracket();
318 void CheckToken(Token::Kind token_expected, const char* msg = NULL); 318 void CheckToken(Token::Kind token_expected, const char* msg = NULL);
319 void ExpectToken(Token::Kind token_expected); 319 void ExpectToken(Token::Kind token_expected);
320 void ExpectSemicolon(); 320 void ExpectSemicolon();
321 void UnexpectedToken(); 321 void UnexpectedToken();
322 String* ExpectUserDefinedTypeIdentifier(const char* msg); 322 String* ExpectUserDefinedTypeIdentifier(const char* msg);
323 String* ExpectIdentifier(const char* msg); 323 String* ExpectIdentifier(const char* msg);
324 bool IsLiteral(const char* literal);
325 bool IsAwaitKeyword(); 324 bool IsAwaitKeyword();
326 bool IsYieldKeyword(); 325 bool IsYieldKeyword();
327 326
328 void SkipIf(Token::Kind); 327 void SkipIf(Token::Kind);
329 void SkipBlock(); 328 void SkipBlock();
330 intptr_t SkipMetadata(); 329 intptr_t SkipMetadata();
331 void SkipToMatchingParenthesis(); 330 void SkipToMatchingParenthesis();
332 void SkipTypeArguments(); 331 void SkipTypeArguments();
333 void SkipType(bool allow_void); 332 void SkipType(bool allow_void);
334 void SkipInitializers(); 333 void SkipInitializers();
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 bool is_const, 643 bool is_const,
645 SequenceNode** await_preamble); 644 SequenceNode** await_preamble);
646 AstNode* ParseVariableDeclarationList(); 645 AstNode* ParseVariableDeclarationList();
647 AstNode* ParseFunctionStatement(bool is_literal); 646 AstNode* ParseFunctionStatement(bool is_literal);
648 AstNode* ParseYieldStatement(); 647 AstNode* ParseYieldStatement();
649 AstNode* ParseStatement(); 648 AstNode* ParseStatement();
650 SequenceNode* ParseNestedStatement(bool parsing_loop_body, 649 SequenceNode* ParseNestedStatement(bool parsing_loop_body,
651 SourceLabel* label); 650 SourceLabel* label);
652 void ParseStatementSequence(); 651 void ParseStatementSequence();
653 bool IsIdentifier(); 652 bool IsIdentifier();
653 bool IsSymbol(const String& symbol);
654 bool IsSimpleLiteral(const AbstractType& type, Instance* value); 654 bool IsSimpleLiteral(const AbstractType& type, Instance* value);
655 bool IsFunctionTypeAliasName(); 655 bool IsFunctionTypeAliasName();
656 bool IsMixinAppAlias(); 656 bool IsMixinAppAlias();
657 bool TryParseQualIdent(); 657 bool TryParseQualIdent();
658 bool TryParseTypeParameters(); 658 bool TryParseTypeParameters();
659 bool TryParseOptionalType(); 659 bool TryParseOptionalType();
660 bool TryParseReturnType(); 660 bool TryParseReturnType();
661 bool IsVariableDeclaration(); 661 bool IsVariableDeclaration();
662 bool IsFunctionDeclaration(); 662 bool IsFunctionDeclaration();
663 bool IsFunctionLiteral(); 663 bool IsFunctionLiteral();
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
858 858
859 // Indentation of parser trace. 859 // Indentation of parser trace.
860 intptr_t trace_indent_; 860 intptr_t trace_indent_;
861 861
862 DISALLOW_COPY_AND_ASSIGN(Parser); 862 DISALLOW_COPY_AND_ASSIGN(Parser);
863 }; 863 };
864 864
865 } // namespace dart 865 } // namespace dart
866 866
867 #endif // VM_PARSER_H_ 867 #endif // VM_PARSER_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698