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

Side by Side Diff: pkg/analyzer/lib/src/generated/parser.dart

Issue 2821193002: Fix an error in the parser code to fix the dev build (Closed)
Patch Set: Created 3 years, 8 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
« no previous file with comments | « no previous file | tools/VERSION » ('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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 library analyzer.src.generated.parser; 5 library analyzer.src.generated.parser;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 import "dart:math" as math; 8 import "dart:math" as math;
9 9
10 import 'package:analyzer/dart/ast/ast.dart'; 10 import 'package:analyzer/dart/ast/ast.dart';
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 * Return `true` if the current token appears to be the beginning of a 424 * Return `true` if the current token appears to be the beginning of a
425 * function declaration. 425 * function declaration.
426 */ 426 */
427 bool isFunctionDeclaration() { 427 bool isFunctionDeclaration() {
428 Keyword keyword = _currentToken.keyword; 428 Keyword keyword = _currentToken.keyword;
429 if (keyword == Keyword.VOID) { 429 if (keyword == Keyword.VOID) {
430 return true; 430 return true;
431 } 431 }
432 Token afterReturnType = skipTypeName(_currentToken); 432 Token afterReturnType = skipTypeName(_currentToken);
433 if (afterReturnType != null && 433 if (afterReturnType != null &&
434 _tokenMatchesKeyword(afterReturnType, Keyword.FUNCTION)) { 434 _tokenMatchesString(afterReturnType, 'Function')) {
435 afterReturnType = skipGenericFunctionTypeAfterReturnType(afterReturnType); 435 afterReturnType = skipGenericFunctionTypeAfterReturnType(afterReturnType);
436 } 436 }
437 if (afterReturnType == null) { 437 if (afterReturnType == null) {
438 // There was no return type, but it is optional, so go back to where we 438 // There was no return type, but it is optional, so go back to where we
439 // started. 439 // started.
440 afterReturnType = _currentToken; 440 afterReturnType = _currentToken;
441 } 441 }
442 Token afterIdentifier = skipSimpleIdentifier(afterReturnType); 442 Token afterIdentifier = skipSimpleIdentifier(afterReturnType);
443 if (afterIdentifier == null) { 443 if (afterIdentifier == null) {
444 // It's possible that we parsed the function name as if it were a type 444 // It's possible that we parsed the function name as if it were a type
(...skipping 3722 matching lines...) Expand 10 before | Expand all | Expand 10 after
4167 // block. Parse it as a variable declaration. 4167 // block. Parse it as a variable declaration.
4168 // 4168 //
4169 return _parseVariableDeclarationStatementAfterType( 4169 return _parseVariableDeclarationStatementAfterType(
4170 commentAndMetadata, null, returnType); 4170 commentAndMetadata, null, returnType);
4171 } 4171 }
4172 _reportErrorForCurrentToken(ParserErrorCode.MISSING_STATEMENT); 4172 _reportErrorForCurrentToken(ParserErrorCode.MISSING_STATEMENT);
4173 // TODO(brianwilkerson) Recover from this error. 4173 // TODO(brianwilkerson) Recover from this error.
4174 return astFactory 4174 return astFactory
4175 .emptyStatement(_createSyntheticToken(TokenType.SEMICOLON)); 4175 .emptyStatement(_createSyntheticToken(TokenType.SEMICOLON));
4176 } 4176 }
4177 } else if (_inGenerator && _matchesKeyword(Keyword.YIELD)) { 4177 } else if (_inGenerator && _matchesString(_YIELD)) {
4178 return parseYieldStatement(); 4178 return parseYieldStatement();
4179 } else if (_inAsync && _matchesString(_AWAIT)) { 4179 } else if (_inAsync && _matchesString(_AWAIT)) {
4180 if (_tokenMatchesKeyword(_peek(), Keyword.FOR)) { 4180 if (_tokenMatchesKeyword(_peek(), Keyword.FOR)) {
4181 return parseForStatement(); 4181 return parseForStatement();
4182 } 4182 }
4183 return astFactory.expressionStatement( 4183 return astFactory.expressionStatement(
4184 parseExpression2(), _expect(TokenType.SEMICOLON)); 4184 parseExpression2(), _expect(TokenType.SEMICOLON));
4185 } else if (_matchesString(_AWAIT) && 4185 } else if (_matchesString(_AWAIT) &&
4186 _tokenMatchesKeyword(_peek(), Keyword.FOR)) { 4186 _tokenMatchesKeyword(_peek(), Keyword.FOR)) {
4187 Token awaitToken = _currentToken; 4187 Token awaitToken = _currentToken;
(...skipping 4408 matching lines...) Expand 10 before | Expand all | Expand 10 after
8596 */ 8596 */
8597 Parser_SyntheticKeywordToken(Keyword keyword, int offset) 8597 Parser_SyntheticKeywordToken(Keyword keyword, int offset)
8598 : super(keyword, offset); 8598 : super(keyword, offset);
8599 8599
8600 @override 8600 @override
8601 int get length => 0; 8601 int get length => 0;
8602 8602
8603 @override 8603 @override
8604 Token copy() => new Parser_SyntheticKeywordToken(keyword, offset); 8604 Token copy() => new Parser_SyntheticKeywordToken(keyword, offset);
8605 } 8605 }
OLDNEW
« no previous file with comments | « no previous file | tools/VERSION » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698