Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Side by Side Diff: pkg/compiler/lib/src/parser/element_listener.dart

Issue 2385643003: Fixes in dart2js parser to be able to parse files without the diet-parser (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/parser/listener.dart » ('j') | pkg/compiler/lib/src/parser/member_listener.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698