| 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 6858 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6869 if (keyword == Keyword.VOID) { | 6869 if (keyword == Keyword.VOID) { |
| 6870 return astFactory.typeName( | 6870 return astFactory.typeName( |
| 6871 astFactory.simpleIdentifier(getAndAdvance()), null); | 6871 astFactory.simpleIdentifier(getAndAdvance()), null); |
| 6872 } else if (_matchesIdentifier()) { | 6872 } else if (_matchesIdentifier()) { |
| 6873 Token next = _peek(); | 6873 Token next = _peek(); |
| 6874 if (keyword != Keyword.GET && | 6874 if (keyword != Keyword.GET && |
| 6875 keyword != Keyword.SET && | 6875 keyword != Keyword.SET && |
| 6876 keyword != Keyword.OPERATOR && | 6876 keyword != Keyword.OPERATOR && |
| 6877 (_tokenMatchesIdentifier(next) || | 6877 (_tokenMatchesIdentifier(next) || |
| 6878 _tokenMatches(next, TokenType.LT))) { | 6878 _tokenMatches(next, TokenType.LT))) { |
| 6879 Token afterTypeParameters = _skipTypeParameterList(next); |
| 6880 if (afterTypeParameters != null && |
| 6881 _tokenMatches(afterTypeParameters, TokenType.OPEN_PAREN)) { |
| 6882 // If the identifier is followed by type parameters and a parenthesis, |
| 6883 // then the identifier is the name of a generic method, not a return |
| 6884 // type. |
| 6885 return null; |
| 6886 } |
| 6879 return parseReturnType(); | 6887 return parseReturnType(); |
| 6880 } | 6888 } |
| 6881 Token next2 = next.next; | 6889 Token next2 = next.next; |
| 6882 Token next3 = next2.next; | 6890 Token next3 = next2.next; |
| 6883 if (_tokenMatches(next, TokenType.PERIOD) && | 6891 if (_tokenMatches(next, TokenType.PERIOD) && |
| 6884 _tokenMatchesIdentifier(next2) && | 6892 _tokenMatchesIdentifier(next2) && |
| 6885 (_tokenMatchesIdentifier(next3) || | 6893 (_tokenMatchesIdentifier(next3) || |
| 6886 _tokenMatches(next3, TokenType.LT))) { | 6894 _tokenMatches(next3, TokenType.LT))) { |
| 6887 return parseReturnType(); | 6895 return parseReturnType(); |
| 6888 } | 6896 } |
| (...skipping 1292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8181 */ | 8189 */ |
| 8182 Parser_SyntheticKeywordToken(Keyword keyword, int offset) | 8190 Parser_SyntheticKeywordToken(Keyword keyword, int offset) |
| 8183 : super(keyword, offset); | 8191 : super(keyword, offset); |
| 8184 | 8192 |
| 8185 @override | 8193 @override |
| 8186 int get length => 0; | 8194 int get length => 0; |
| 8187 | 8195 |
| 8188 @override | 8196 @override |
| 8189 Token copy() => new Parser_SyntheticKeywordToken(keyword, offset); | 8197 Token copy() => new Parser_SyntheticKeywordToken(keyword, offset); |
| 8190 } | 8198 } |
| OLD | NEW |