| 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; | 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 2762 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2773 /** | 2773 /** |
| 2774 * Parse a formal parameter. At most one of `isOptional` and `isNamed` can be | 2774 * Parse a formal parameter. At most one of `isOptional` and `isNamed` can be |
| 2775 * `true`. The [kind] is the kind of parameter being expected based on the | 2775 * `true`. The [kind] is the kind of parameter being expected based on the |
| 2776 * presence or absence of group delimiters. Return the formal parameter that | 2776 * presence or absence of group delimiters. Return the formal parameter that |
| 2777 * was parsed. | 2777 * was parsed. |
| 2778 * | 2778 * |
| 2779 * defaultFormalParameter ::= | 2779 * defaultFormalParameter ::= |
| 2780 * normalFormalParameter ('=' expression)? | 2780 * normalFormalParameter ('=' expression)? |
| 2781 * | 2781 * |
| 2782 * defaultNamedParameter ::= | 2782 * defaultNamedParameter ::= |
| 2783 * normalFormalParameter ('=' expression)? |
| 2783 * normalFormalParameter (':' expression)? | 2784 * normalFormalParameter (':' expression)? |
| 2784 */ | 2785 */ |
| 2785 FormalParameter parseFormalParameter(ParameterKind kind) { | 2786 FormalParameter parseFormalParameter(ParameterKind kind) { |
| 2786 NormalFormalParameter parameter = parseNormalFormalParameter(); | 2787 NormalFormalParameter parameter = parseNormalFormalParameter(); |
| 2787 TokenType type = _currentToken.type; | 2788 TokenType type = _currentToken.type; |
| 2788 if (type == TokenType.EQ) { | 2789 if (type == TokenType.EQ) { |
| 2789 Token separator = getAndAdvance(); | 2790 Token separator = getAndAdvance(); |
| 2790 Expression defaultValue = parseExpression2(); | 2791 Expression defaultValue = parseExpression2(); |
| 2791 if (kind == ParameterKind.NAMED) { | 2792 if (kind == ParameterKind.REQUIRED) { |
| 2792 _reportErrorForToken( | |
| 2793 ParserErrorCode.WRONG_SEPARATOR_FOR_NAMED_PARAMETER, separator); | |
| 2794 } else if (kind == ParameterKind.REQUIRED) { | |
| 2795 _reportErrorForNode( | 2793 _reportErrorForNode( |
| 2796 ParserErrorCode.POSITIONAL_PARAMETER_OUTSIDE_GROUP, parameter); | 2794 ParserErrorCode.POSITIONAL_PARAMETER_OUTSIDE_GROUP, parameter); |
| 2797 } | 2795 } |
| 2798 return new DefaultFormalParameter( | 2796 return new DefaultFormalParameter( |
| 2799 parameter, kind, separator, defaultValue); | 2797 parameter, kind, separator, defaultValue); |
| 2800 } else if (type == TokenType.COLON) { | 2798 } else if (type == TokenType.COLON) { |
| 2801 Token separator = getAndAdvance(); | 2799 Token separator = getAndAdvance(); |
| 2802 Expression defaultValue = parseExpression2(); | 2800 Expression defaultValue = parseExpression2(); |
| 2803 if (kind == ParameterKind.POSITIONAL) { | 2801 if (kind == ParameterKind.POSITIONAL) { |
| 2804 _reportErrorForToken( | 2802 _reportErrorForToken( |
| (...skipping 5294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8099 */ | 8097 */ |
| 8100 Parser_SyntheticKeywordToken(Keyword keyword, int offset) | 8098 Parser_SyntheticKeywordToken(Keyword keyword, int offset) |
| 8101 : super(keyword, offset); | 8099 : super(keyword, offset); |
| 8102 | 8100 |
| 8103 @override | 8101 @override |
| 8104 int get length => 0; | 8102 int get length => 0; |
| 8105 | 8103 |
| 8106 @override | 8104 @override |
| 8107 Token copy() => new Parser_SyntheticKeywordToken(keyword, offset); | 8105 Token copy() => new Parser_SyntheticKeywordToken(keyword, offset); |
| 8108 } | 8106 } |
| OLD | NEW |