| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 dart2js.parser.element_listener; | 5 library dart2js.parser.element_listener; |
| 6 | 6 |
| 7 import '../common.dart'; | 7 import '../common.dart'; |
| 8 import '../diagnostics/messages.dart' show MessageTemplate; | 8 import '../diagnostics/messages.dart' show MessageTemplate; |
| 9 import '../elements/elements.dart' | 9 import '../elements/elements.dart' |
| 10 show Element, LibraryElement, MetadataAnnotation; | 10 show Element, LibraryElement, MetadataAnnotation; |
| (...skipping 713 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 724 } | 724 } |
| 725 | 725 |
| 726 void beginMember(Token token) { | 726 void beginMember(Token token) { |
| 727 memberErrors = memberErrors.prepend(false); | 727 memberErrors = memberErrors.prepend(false); |
| 728 } | 728 } |
| 729 | 729 |
| 730 void beginTopLevelMember(Token token) { | 730 void beginTopLevelMember(Token token) { |
| 731 beginMember(token); | 731 beginMember(token); |
| 732 } | 732 } |
| 733 | 733 |
| 734 void endFields(fieldCount, start, token) { | 734 void endMember() { |
| 735 memberErrors = memberErrors.tail; | 735 memberErrors = memberErrors.tail; |
| 736 } | 736 } |
| 737 | 737 |
| 738 void endMethod(getOrSet, start, token) { | |
| 739 memberErrors = memberErrors.tail; | |
| 740 } | |
| 741 | |
| 742 void beginFactoryMethod(Token token) { | |
| 743 memberErrors = memberErrors.prepend(false); | |
| 744 } | |
| 745 | |
| 746 void endFactoryMethod(Token beginToken, Token endToken) { | |
| 747 memberErrors = memberErrors.tail; | |
| 748 } | |
| 749 | |
| 750 /// Don't call this method. Should only be used as a last resort when there | 738 /// Don't call this method. Should only be used as a last resort when there |
| 751 /// is no feasible way to recover from a parser error. | 739 /// is no feasible way to recover from a parser error. |
| 752 void reportFatalError(Spannable spannable, String message) { | 740 void reportFatalError(Spannable spannable, String message) { |
| 753 reportError(spannable, MessageKind.GENERIC, {'text': message}); | 741 reportError(spannable, MessageKind.GENERIC, {'text': message}); |
| 754 // Some parse errors are infeasible to recover from, so we throw an error. | 742 // Some parse errors are infeasible to recover from, so we throw an error. |
| 755 throw new ParserError(message); | 743 throw new ParserError(message); |
| 756 } | 744 } |
| 757 | 745 |
| 758 @override | 746 @override |
| 759 void reportErrorHelper(Spannable spannable, MessageKind errorCode, | 747 void reportErrorHelper(Spannable spannable, MessageKind errorCode, |
| 760 [Map arguments = const {}]) { | 748 [Map arguments = const {}]) { |
| 761 if (currentMemberHasParseError) return; // Error already reported. | 749 if (currentMemberHasParseError) return; // Error already reported. |
| 762 if (suppressParseErrors) return; | 750 if (suppressParseErrors) return; |
| 763 if (!memberErrors.isEmpty) { | 751 if (!memberErrors.isEmpty) { |
| 764 memberErrors = memberErrors.tail.prepend(true); | 752 memberErrors = memberErrors.tail.prepend(true); |
| 765 } | 753 } |
| 766 reporter.reportErrorMessage(spannable, errorCode, arguments); | 754 reporter.reportErrorMessage(spannable, errorCode, arguments); |
| 767 } | 755 } |
| 768 } | 756 } |
| OLD | NEW |