Index: pkg/front_end/lib/src/fasta/parser/class_member_parser.dart |
diff --git a/pkg/front_end/lib/src/fasta/parser/class_member_parser.dart b/pkg/front_end/lib/src/fasta/parser/class_member_parser.dart |
index 1ab36b1920ecc0315a5b5e97df32ffd96c9894d1..5de363edd91d007f7d7aedba4a1a7c2dcfeb94d1 100644 |
--- a/pkg/front_end/lib/src/fasta/parser/class_member_parser.dart |
+++ b/pkg/front_end/lib/src/fasta/parser/class_member_parser.dart |
@@ -6,21 +6,33 @@ library fasta.parser.class_member_parser; |
import '../../scanner/token.dart' show Token; |
+import '../fasta_codes.dart' show FastaMessage; |
+ |
import 'listener.dart' show Listener; |
-import 'parser.dart' show Parser; |
+import 'parser.dart' show Assert, Parser; |
/// Parser similar to [TopLevelParser] but also parses class members (excluding |
/// their bodies). |
class ClassMemberParser extends Parser { |
ClassMemberParser(Listener listener) : super(listener); |
+ @override |
Token parseExpression(Token token) => skipExpression(token); |
- Token parseRecoverExpression(Token token) { |
+ @override |
+ Token parseAssert(Token token, Assert kind) { |
+ if (kind == Assert.Statement) { |
+ return super.parseAssert(token, kind); |
+ } else { |
+ return skipExpression(token); |
+ } |
+ } |
+ |
+ Token parseRecoverExpression(Token token, FastaMessage message) { |
Token begin = token; |
token = skipExpression(token); |
- listener.handleRecoverExpression(begin); |
+ listener.handleRecoverExpression(begin, message); |
return token; |
} |