anchor.diff:              ParserErrorCode.EXTERNAL_TYPEDEF, offset, length);
           return;
         case "EXTRANEOUS_MODIFIER":
  -        String text = stringOrTokenLexeme();
  -        errorReporter?.reportErrorForOffset(
  -            ParserErrorCode.EXTRANEOUS_MODIFIER, offset, length, [text]);
  +        errorReporter?.reportErrorForOffset(
  +            ParserErrorCode.EXTRANEOUS_MODIFIER, offset, length, [lexeme()]);
           return;
         case "FACTORY_TOP_LEVEL_DECLARATION":
           errorReporter?.reportErrorForOffset(
  
positive.code:       String analyzerCode, int offset, int length, Message message) {
      Map<String, dynamic> arguments = message.arguments;
  
      String stringOrTokenLexeme() {
        var text = arguments['string'];
        if (text == null) {
          text = arguments['name'];
          if (text == null) {
            Token token = arguments['token'];
            if (token != null) {
              text = token.lexeme;
            }
          }
        }
        return text;
      }
  
      switch (analyzerCode) {
        case "ABSTRACT_CLASS_MEMBER":
  
negative.code:             ParserErrorCode.EXPECTED_STRING_LITERAL, offset, length);
          return;
        case "EXPECTED_TOKEN":
          errorReporter?.reportErrorForOffset(ParserErrorCode.EXPECTED_TOKEN,
              offset, length, [arguments['string']]);
          return;
        case "EXPECTED_TYPE_NAME":
          errorReporter?.reportErrorForOffset(
  