anchor.diff:    /// ;
     /// ```
     Token parseMapLiteralEntry(Token token) {
  -    // TODO(brianwilkerson) Return the last consumed token.
       listener.beginLiteralMapEntry(token.next);
       // Assume the listener rejects non-string keys.
       // TODO(brianwilkerson): Change the assumption above by moving error
  
positive.code:       // deep_nesting1_negative_test.
        return reportUnrecoverableError(token.next, fasta.messageStackOverflow);
      }
      Token result = optional('throw', token.next)
          ? parseThrowExpression(token, true)
          : parsePrecedenceExpression(token, ASSIGNMENT_PRECEDENCE, true);
      expressionDepth--;
      // TODO(brianwilkerson) Remove the invocation of `previous` when
      // `parseThrowExpression` and `parsePrecedenceExpression` return the last
      // consumed token.
      return result.previous;
    }
  
    Token parseExpressionWithoutCascade(Token token) {
      // TODO(brianwilkerson) Return the last consumed token.
      Token result = optional('throw', token.next)
          ? parseThrowExpression(token, false)
          : parsePrecedenceExpression(token, ASSIGNMENT_PRECEDENCE, false);
      // TODO(brianwilkerson) Remove the invocation of `previous` when
      // `parseThrowExpression` and `parsePrecedenceExpression` return the last
      // consumed token.
      return result.previous;
    }
  
    Token parseConditionalExpressionRest(Token token) {
      // TODO(brianwilkerson) Accept the last consumed token.
      // TODO(brianwilkerson) Return the last consumed token.
      assert(optional('?', token));
      Token question = token;
      listener.beginConditionalExpression();
  
negative.code:       Token begin = token;
        // Recover from a bad factory method.
        reportRecoverableError(token, fasta.messageExpectedBody);
        token = parseExpression(token.next);
        if (!ofFunctionExpression) {
          token = ensureSemicolon(token.next);
          listener.handleExpressionFunctionBody(begin, token);
        } else {
          token = token.next;
          listener.handleExpressionFunctionBody(begin, null);
        }
        return token;
  