aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/json
diff options
context:
space:
mode:
authorJes Cok <xigua67damn@gmail.com>2024-02-28 23:50:37 +0000
committerGopher Robot <gobot@golang.org>2024-02-29 18:45:05 +0000
commit2c3ea847124ae35f07ca764b59965a78bc59b2ab (patch)
tree5fde85e6bc8a8b035396afc6cba8580e32469771 /src/encoding/json
parent038fbf9f285d09663670d7cbc9a0185e06bf5e2f (diff)
downloadgo-2c3ea847124ae35f07ca764b59965a78bc59b2ab.tar.xz
encoding/json: make use of reflect.Type.{OverflowInt, OverflowUint}
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 <carlos@golang.org> Reviewed-by: Joseph Tsai <joetsai@digital-static.net> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/encoding/json')
-rw-r--r--src/encoding/json/decode.go4
1 files 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
}