| 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 8fb0716a93ab58ef74f8614d319a1b3fcd108005..6d847825f762ef885e4cefee480fd97a81ce94af 100644
|
| --- a/compiler/java/com/google/dart/compiler/parser/DartParser.java
|
| +++ b/compiler/java/com/google/dart/compiler/parser/DartParser.java
|
| @@ -1046,7 +1046,20 @@ public class DartParser extends CompletionHooksParserBase {
|
| if (optionalPseudoKeyword(FACTORY_KEYWORD)) {
|
| modifiers = modifiers.makeFactory();
|
| }
|
| - member = done(parseMethod(modifiers, null));
|
| + if (peek(0).equals(Token.IDENTIFIER) && looksLikeMethodOrAccessorDefinition()) {
|
| + return done(parseMethod(modifiers, null));
|
| + }
|
| + // Try to find type, may be "const ^ Type field".
|
| + DartTypeNode type = null;
|
| + if (peek(1) != Token.COMMA
|
| + && peek(1) != Token.ASSIGN
|
| + && peek(1) != Token.SEMICOLON) {
|
| + type = parseTypeAnnotation();
|
| + }
|
| + // Parse field.
|
| + modifiers = modifiers.makeFinal();
|
| + member = parseFieldDeclaration(modifiers, type);
|
| + expectStatmentTerminator();
|
| break;
|
| }
|
|
|
|
|