| OLD | NEW |
| 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 library fasta.parser.parser; | 5 library fasta.parser.parser; |
| 6 | 6 |
| 7 import '../scanner.dart' show | 7 import '../scanner.dart' show |
| 8 ErrorToken; | 8 ErrorToken; |
| 9 | 9 |
| 10 import '../scanner/recover.dart' show | 10 import '../scanner/recover.dart' show |
| (...skipping 1092 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1103 if (isTopLevel) { | 1103 if (isTopLevel) { |
| 1104 listener.endTopLevelFields(fieldCount, start, semicolon); | 1104 listener.endTopLevelFields(fieldCount, start, semicolon); |
| 1105 } else { | 1105 } else { |
| 1106 listener.endFields(fieldCount, start, semicolon); | 1106 listener.endFields(fieldCount, start, semicolon); |
| 1107 } | 1107 } |
| 1108 return token; | 1108 return token; |
| 1109 } | 1109 } |
| 1110 | 1110 |
| 1111 Token parseTopLevelMethod(Token start, Link<Token> modifiers, Token type, | 1111 Token parseTopLevelMethod(Token start, Link<Token> modifiers, Token type, |
| 1112 Token getOrSet, Token name) { | 1112 Token getOrSet, Token name) { |
| 1113 listener.beginTopLevelMethod(start, name); |
| 1113 Token externalModifier; | 1114 Token externalModifier; |
| 1114 // TODO(johnniwinther): Move error reporting to resolution to give more | 1115 // TODO(johnniwinther): Move error reporting to resolution to give more |
| 1115 // specific error messages. | 1116 // specific error messages. |
| 1116 for (Token modifier in modifiers) { | 1117 for (Token modifier in modifiers) { |
| 1117 if (externalModifier == null && optional('external', modifier)) { | 1118 if (externalModifier == null && optional('external', modifier)) { |
| 1118 externalModifier = modifier; | 1119 externalModifier = modifier; |
| 1119 } else { | 1120 } else { |
| 1120 reportRecoverableError( | 1121 reportRecoverableError( |
| 1121 modifier, ErrorKind.ExtraneousModifier, {'modifier': modifier}); | 1122 modifier, ErrorKind.ExtraneousModifier, {'modifier': modifier}); |
| 1122 } | 1123 } |
| (...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1508 var modifiers = identifiers.reverse(); | 1509 var modifiers = identifiers.reverse(); |
| 1509 token = isField | 1510 token = isField |
| 1510 ? parseFields(start, modifiers, type, getOrSet, name, false) | 1511 ? parseFields(start, modifiers, type, getOrSet, name, false) |
| 1511 : parseMethod(start, modifiers, type, getOrSet, name); | 1512 : parseMethod(start, modifiers, type, getOrSet, name); |
| 1512 listener.endMember(); | 1513 listener.endMember(); |
| 1513 return token; | 1514 return token; |
| 1514 } | 1515 } |
| 1515 | 1516 |
| 1516 Token parseMethod(Token start, Link<Token> modifiers, Token type, | 1517 Token parseMethod(Token start, Link<Token> modifiers, Token type, |
| 1517 Token getOrSet, Token name) { | 1518 Token getOrSet, Token name) { |
| 1519 listener.beginMethod(start, name); |
| 1518 Token externalModifier; | 1520 Token externalModifier; |
| 1519 Token staticModifier; | 1521 Token staticModifier; |
| 1520 Token constModifier; | 1522 Token constModifier; |
| 1521 int modifierCount = 0; | 1523 int modifierCount = 0; |
| 1522 int allowedModifierCount = 1; | 1524 int allowedModifierCount = 1; |
| 1523 // TODO(johnniwinther): Move error reporting to resolution to give more | 1525 // TODO(johnniwinther): Move error reporting to resolution to give more |
| 1524 // specific error messages. | 1526 // specific error messages. |
| 1525 for (Token modifier in modifiers) { | 1527 for (Token modifier in modifiers) { |
| 1526 if (externalModifier == null && optional('external', modifier)) { | 1528 if (externalModifier == null && optional('external', modifier)) { |
| 1527 modifierCount++; | 1529 modifierCount++; |
| (...skipping 1784 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3312 break; | 3314 break; |
| 3313 } | 3315 } |
| 3314 if (isRecoverable) { | 3316 if (isRecoverable) { |
| 3315 listener.handleRecoverableError(token, kind, arguments); | 3317 listener.handleRecoverableError(token, kind, arguments); |
| 3316 return null; | 3318 return null; |
| 3317 } else { | 3319 } else { |
| 3318 return listener.handleUnrecoverableError(token, kind, arguments); | 3320 return listener.handleUnrecoverableError(token, kind, arguments); |
| 3319 } | 3321 } |
| 3320 } | 3322 } |
| 3321 } | 3323 } |
| OLD | NEW |