| Index: compiler/java/com/google/dart/compiler/parser/DartParser.java
|
| diff --git a/compiler/java/com/google/dart/compiler/parser/DartParser.java b/compiler/java/com/google/dart/compiler/parser/DartParser.java
|
| index 6a9709359e670f7f1f5babf368444452290e8db7..ec16ce39e234170658ae4954edb46712cf5327a3 100644
|
| --- a/compiler/java/com/google/dart/compiler/parser/DartParser.java
|
| +++ b/compiler/java/com/google/dart/compiler/parser/DartParser.java
|
| @@ -519,15 +519,18 @@ public class DartParser extends CompletionHooksParserBase {
|
| }
|
|
|
| // Parse the members.
|
| - expect(Token.LBRACE);
|
| List<DartNode> members = new ArrayList<DartNode>();
|
| - while (!match(Token.RBRACE) && !EOS()) {
|
| - DartNode member = parseFieldOrMethod(true);
|
| - if (member != null) {
|
| - members.add(member);
|
| + if (optional(Token.LBRACE)) {
|
| + while (!match(Token.RBRACE) && !EOS()) {
|
| + DartNode member = parseFieldOrMethod(true);
|
| + if (member != null) {
|
| + members.add(member);
|
| + }
|
| }
|
| + expectCloseBrace();
|
| + } else {
|
| + reportErrorWithoutAdvancing(DartCompilerErrorCode.EXPECTED_CLASS_DECLARATION_LBRACE);
|
| }
|
| - expectCloseBrace();
|
|
|
| if (isParsingInterface) {
|
| return done(new DartClass(name, superType, interfaces, members, typeParameters, factory));
|
|
|