From 2c3ea847124ae35f07ca764b59965a78bc59b2ab Mon Sep 17 00:00:00 2001 From: Jes Cok Date: Wed, 28 Feb 2024 23:50:37 +0000 Subject: [PATCH] encoding/json: make use of reflect.Type.{OverflowInt, OverflowUint} MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit CL 567296 added {OverflowComplex, OverflowFloat, OverflowInt, OverflowUint} to reflect.Type, this CL uses these methods to simplify code. For #60427 Change-Id: I229aef9e4095a2f025afd782081f6c9e6d7710f3 GitHub-Last-Rev: c824e5a1b5547e2cc23142fbcf0d6dd59f0e8506 GitHub-Pull-Request: golang/go#66000 Reviewed-on: https://go-review.googlesource.com/c/go/+/567775 Reviewed-by: Carlos Amedee Reviewed-by: Joseph Tsai LUCI-TryBot-Result: Go LUCI Reviewed-by: Daniel Martí Auto-Submit: Ian Lance Taylor Reviewed-by: Ian Lance Taylor --- src/encoding/json/decode.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/encoding/json/decode.go b/src/encoding/json/decode.go index bc1891f8ac..e1bc9753b1 100644 --- a/src/encoding/json/decode.go +++ b/src/encoding/json/decode.go @@ -776,7 +776,7 @@ func (d *decodeState) object(v reflect.Value) error { case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: s := string(key) n, err := strconv.ParseInt(s, 10, 64) - if err != nil || reflect.Zero(kt).OverflowInt(n) { + if err != nil || kt.OverflowInt(n) { d.saveError(&UnmarshalTypeError{Value: "number " + s, Type: kt, Offset: int64(start + 1)}) break } @@ -785,7 +785,7 @@ func (d *decodeState) object(v reflect.Value) error { case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: s := string(key) n, err := strconv.ParseUint(s, 10, 64) - if err != nil || reflect.Zero(kt).OverflowUint(n) { + if err != nil || kt.OverflowUint(n) { d.saveError(&UnmarshalTypeError{Value: "number " + s, Type: kt, Offset: int64(start + 1)}) break } -- 2.48.1