anchor.diff:          // Fall through to the recovery code.
         }
       } else if (kind == OPEN_PAREN_TOKEN) {
  -      return parseParenthesizedExpressionOrFunctionLiteral(token);
  +      return parseParenthesizedExpressionOrFunctionLiteral(token).next;
       } else if (kind == OPEN_SQUARE_BRACKET_TOKEN ||
           optional('[]', token.next)) {
         listener.handleNoTypeArguments(token.next);
  
positive.code:       mayParseFunctionExpressions = true;
        token = parseParenthesizedExpression(token);
        mayParseFunctionExpressions = old;
        return token.next;
      }
    }
  
  
negative.code:   }
  
    Token parseFunctionExpression(Token token) {
      Token beginToken = token.next;
      listener.beginFunctionExpression(beginToken);
      token = parseFormalParametersRequiredOpt(token, MemberKind.Local);
      token = parseAsyncOptBody(token, true, false);
      listener.endFunctionExpression(beginToken, token.next);
      return token;
    }
  
    /// Parses the rest of a named function declaration starting from its [name]
  