Chromium Code Reviews| Index: dart/frog/leg/scanner/partial_parser.dart |
| diff --git a/dart/frog/leg/scanner/partial_parser.dart b/dart/frog/leg/scanner/partial_parser.dart |
| index 2afdf348a1472dad24f40b08f719953c8079e152..1857aedee81650274b4e3f9c373b1798e978b2d1 100644 |
| --- a/dart/frog/leg/scanner/partial_parser.dart |
| +++ b/dart/frog/leg/scanner/partial_parser.dart |
| @@ -30,17 +30,26 @@ class PartialParser extends Parser { |
| Token parseFunctionBody(Token token, bool isExpression) { |
| assert(!isExpression); |
| - if (optional(';', token)) { |
| - listener.handleNoFunctionBody(token); |
| - return token; |
| - } else if (optional('=>', token)) { |
| + String value = token.stringValue; |
| + if (value === ';') { |
| + // No body. |
| + } else if (value === '=>') { |
| token = parseExpression(token.next); |
| expectSemicolon(token); |
| - return token; |
| } else { |
| token = skipBlock(token); |
| - listener.handleNoFunctionBody(token); |
| - return token; |
| } |
| + listener.handleNoFunctionBody(token); |
|
ngeoffray
2011/12/09 13:41:27
'handleNoFunctionBody' is kind of weird to call, e
ahe
2011/12/09 14:19:47
I added a comment.
|
| + return token; |
| + } |
| + |
| + Token parseFormalParameters(Token token) => skipFormals(token); |
| + |
| + Token skipFormals(BeginGroupToken token) { |
| + listener.beginOptionalFormalParameters(token); |
| + expect('(', token); |
| + Token endToken = token.endGroup; |
| + listener.endFormalParameters(0, token, endToken); |
| + return endToken.next; |
| } |
| } |