| Index: dart/lib/compiler/implementation/scanner/parser.dart
|
| diff --git a/dart/lib/compiler/implementation/scanner/parser.dart b/dart/lib/compiler/implementation/scanner/parser.dart
|
| index adf0646b577c3584f77ad01c1738e11950c09c71..a6e09b7e36b3da88d2e3038602495e60ab6c61cf 100644
|
| --- a/dart/lib/compiler/implementation/scanner/parser.dart
|
| +++ b/dart/lib/compiler/implementation/scanner/parser.dart
|
| @@ -1206,11 +1206,22 @@ class Parser {
|
| (kind === OPEN_CURLY_BRACKET_TOKEN) ||
|
| token.stringValue === '[]') {
|
| return parseLiteralListOrMap(token);
|
| + } else if (kind === QUESTION_TOKEN) {
|
| + return parseArgumentDefinitionTest(token);
|
| } else {
|
| return listener.expectedExpression(token);
|
| }
|
| }
|
|
|
| + Token parseArgumentDefinitionTest(Token token) {
|
| + Token questionToken = token;
|
| + listener.beginArgumentDefinitionTest(questionToken);
|
| + assert(optional('?', token));
|
| + token = parseIdentifier(token.next);
|
| + listener.endArgumentDefinitionTest(questionToken, token);
|
| + return token;
|
| + }
|
| +
|
| Token parseParenthesizedExpressionOrFunctionLiteral(Token token) {
|
| BeginGroupToken beginGroup = token;
|
| int kind = beginGroup.endGroup.next.kind;
|
|
|