getErrorMessage method

  1. @override
ErrorMessage getErrorMessage(
  1. Object? input,
  2. int? offset
)
override

Implementation

@override
ErrorMessage getErrorMessage(Object? input, int? offset) {
  var argument = '<?>';
  var char = this.char;
  if (input is StringReader && input.source != null) {
    if (offset case final int offset) {
      if (offset < input.length) {
        char = input.readChar(offset);
      } else {
        argument = '<EOF>';
      }
    }
  }

  if (char != null) {
    final hexValue = char.toRadixString(16);
    final value = ParseError.escape(char);
    argument = '$value (0x$hexValue)';
  }

  return ErrorMessage(0, ErrorUnexpectedCharacter.message, [argument]);
}