| OLD | NEW |
| 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; | |
| 6 | |
| 7 import 'dart:collection'; | 5 import 'dart:collection'; |
| 8 import "dart:math" as math; | 6 import "dart:math" as math; |
| 9 | 7 |
| 10 import 'package:analyzer/dart/ast/ast.dart'; | 8 import 'package:analyzer/dart/ast/ast.dart'; |
| 11 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; | 9 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; |
| 12 import 'package:analyzer/dart/ast/token.dart'; | 10 import 'package:analyzer/dart/ast/token.dart'; |
| 13 import 'package:analyzer/error/error.dart'; | 11 import 'package:analyzer/error/error.dart'; |
| 14 import 'package:analyzer/error/listener.dart'; | 12 import 'package:analyzer/error/listener.dart'; |
| 15 import 'package:analyzer/src/dart/ast/ast.dart'; | 13 import 'package:analyzer/src/dart/ast/ast.dart'; |
| 16 import 'package:analyzer/src/dart/ast/token.dart'; | 14 import 'package:analyzer/src/dart/ast/token.dart'; |
| (...skipping 5493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5510 * actually creating a formal parameter list or changing the current token. | 5508 * actually creating a formal parameter list or changing the current token. |
| 5511 * Return the token following the parameter list that was parsed, or `null` | 5509 * Return the token following the parameter list that was parsed, or `null` |
| 5512 * if the given token is not the first token in a valid parameter list. | 5510 * if the given token is not the first token in a valid parameter list. |
| 5513 * | 5511 * |
| 5514 * This method must be kept in sync with [parseFormalParameterList]. | 5512 * This method must be kept in sync with [parseFormalParameterList]. |
| 5515 */ | 5513 */ |
| 5516 Token skipFormalParameterList(Token startToken) { | 5514 Token skipFormalParameterList(Token startToken) { |
| 5517 if (!_tokenMatches(startToken, TokenType.OPEN_PAREN)) { | 5515 if (!_tokenMatches(startToken, TokenType.OPEN_PAREN)) { |
| 5518 return null; | 5516 return null; |
| 5519 } | 5517 } |
| 5520 return (startToken as BeginToken).endToken.next; | 5518 return (startToken as BeginToken).endToken?.next; |
| 5521 } | 5519 } |
| 5522 | 5520 |
| 5523 /** | 5521 /** |
| 5524 * Parse the portion of a generic function type after the return type, | 5522 * Parse the portion of a generic function type after the return type, |
| 5525 * starting at the [startToken], without actually creating a generic function | 5523 * starting at the [startToken], without actually creating a generic function |
| 5526 * type or changing the current token. Return the token following the generic | 5524 * type or changing the current token. Return the token following the generic |
| 5527 * function type that was parsed, or `null` if the given token is not the | 5525 * function type that was parsed, or `null` if the given token is not the |
| 5528 * first token in a valid generic function type. | 5526 * first token in a valid generic function type. |
| 5529 * | 5527 * |
| 5530 * This method must be kept in sync with | 5528 * This method must be kept in sync with |
| (...skipping 3070 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8601 } | 8599 } |
| 8602 } | 8600 } |
| 8603 } | 8601 } |
| 8604 | 8602 |
| 8605 /** | 8603 /** |
| 8606 * Instances of this class are thrown when the parser detects that AST has | 8604 * Instances of this class are thrown when the parser detects that AST has |
| 8607 * too many nested expressions to be parsed safely and avoid possibility of | 8605 * too many nested expressions to be parsed safely and avoid possibility of |
| 8608 * [StackOverflowError] in the parser or during later analysis. | 8606 * [StackOverflowError] in the parser or during later analysis. |
| 8609 */ | 8607 */ |
| 8610 class _TooDeepTreeError {} | 8608 class _TooDeepTreeError {} |
| OLD | NEW |