From e38edfa53173c054ff97a5c51f90df0da60f16f5 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Tue, 14 Feb 2023 18:55:57 -0700 Subject: jsonparse: Reword error messages to match encoding/json --- internal/jsonparse/parse.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'internal/jsonparse/parse.go') diff --git a/internal/jsonparse/parse.go b/internal/jsonparse/parse.go index 6432d75..c641f1b 100644 --- a/internal/jsonparse/parse.go +++ b/internal/jsonparse/parse.go @@ -619,7 +619,7 @@ func (par *Parser) HandleRune(c rune) (RuneType, error) { par.popState() return RuneTypeObjectEnd, nil default: - return RuneTypeError, fmt.Errorf("object: unexpected character: %q", c) + return RuneTypeError, fmt.Errorf("invalid character %q looking for beginning of object key string", c) } case RuneTypeStringEnd: // waiting for ':' switch c { @@ -682,7 +682,7 @@ func (par *Parser) HandleRune(c rune) (RuneType, error) { case 0x0020 <= c && c <= 0x10FFFF: return RuneTypeStringChar, nil default: - return RuneTypeError, fmt.Errorf("string: unexpected character: %q", c) + return RuneTypeError, fmt.Errorf("invalid character %q in string literal", c) } case RuneTypeStringEsc: // waiting for escape char switch c { @@ -692,26 +692,26 @@ func (par *Parser) HandleRune(c rune) (RuneType, error) { case 'u': return par.replaceState(RuneTypeStringEscU), nil default: - return RuneTypeError, fmt.Errorf("string backslash sequence: unexpected character: %q", c) + return RuneTypeError, fmt.Errorf("invalid character %q in string escape code", c) } case RuneTypeStringEscU: if !isHex(c) { - return RuneTypeError, fmt.Errorf("string unicode sequence: unexpected character: %q", c) + return RuneTypeError, fmt.Errorf(`invalid character %q in \u hexadecimal character escape`, c) } return par.replaceState(RuneTypeStringEscUA), nil case RuneTypeStringEscUA: if !isHex(c) { - return RuneTypeError, fmt.Errorf("string unicode sequence: unexpected character: %q", c) + return RuneTypeError, fmt.Errorf(`invalid character %q in \u hexadecimal character escape`, c) } return par.replaceState(RuneTypeStringEscUB), nil case RuneTypeStringEscUB: if !isHex(c) { - return RuneTypeError, fmt.Errorf("string unicode sequence: unexpected character: %q", c) + return RuneTypeError, fmt.Errorf(`invalid character %q in \u hexadecimal character escape`, c) } return par.replaceState(RuneTypeStringEscUC), nil case RuneTypeStringEscUC: if !isHex(c) { - return RuneTypeError, fmt.Errorf("string unicode sequence: unexpected character: %q", c) + return RuneTypeError, fmt.Errorf(`invalid character %q in \u hexadecimal character escape`, c) } par.replaceState(RuneTypeStringBeg) return RuneTypeStringEscUD, nil @@ -791,7 +791,7 @@ func (par *Parser) HandleRune(c rune) (RuneType, error) { case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': return par.replaceState(RuneTypeNumberFracDig), nil default: - return RuneTypeError, fmt.Errorf("invalid character %q in numeric literal", c) + return RuneTypeError, fmt.Errorf("invalid character %q after decimal point in numeric literal", c) } case RuneTypeNumberFracDig: // F switch c { @@ -810,14 +810,14 @@ func (par *Parser) HandleRune(c rune) (RuneType, error) { case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': return par.replaceState(RuneTypeNumberExpDig), nil default: - return RuneTypeError, fmt.Errorf("invalid character %q in numeric literal", c) + return RuneTypeError, fmt.Errorf("invalid character %q in exponent of numeric literal", c) } case RuneTypeNumberExpSign: // H switch c { case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': return par.replaceState(RuneTypeNumberExpDig), nil default: - return RuneTypeError, fmt.Errorf("invalid character %q in numeric literal", c) + return RuneTypeError, fmt.Errorf("invalid character %q in exponent of numeric literal", c) } case RuneTypeNumberExpDig: // I switch c { -- cgit v1.2.3-2-g168b