diff options
author | Russ Cox <rsc@golang.org> | 2010-06-21 13:19:29 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2010-06-21 13:19:29 -0700 |
commit | 4cc75513542d50e96e54b8218bf1bd375205c2d9 (patch) | |
tree | c97d37101199813a11bb01a9f0a0fcccac4bc763 /src/pkg/json | |
parent | fa47c8634b287c59a8fb1b01880f63985356f52d (diff) | |
download | golang-4cc75513542d50e96e54b8218bf1bd375205c2d9.tar.gz |
reflect: add Type.Bits method, add tags to prohibit conversions
gob: substitute slice for map
R=r
CC=golang-dev
http://codereview.appspot.com/1699045
Diffstat (limited to 'src/pkg/json')
-rw-r--r-- | src/pkg/json/decode.go | 2 | ||||
-rw-r--r-- | src/pkg/json/encode.go | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/pkg/json/decode.go b/src/pkg/json/decode.go index 6f768d4b8..3f6965009 100644 --- a/src/pkg/json/decode.go +++ b/src/pkg/json/decode.go @@ -588,7 +588,7 @@ func (d *decodeState) literal(v reflect.Value) { v.Set(n) case *reflect.FloatValue: - n, err := strconv.AtofN(s, int(v.Type().Size()*8)) + n, err := strconv.AtofN(s, v.Type().Bits()) if err != nil || v.Overflow(n) { d.saveError(&UnmarshalTypeError{"number " + s, v.Type()}) break diff --git a/src/pkg/json/encode.go b/src/pkg/json/encode.go index 8b0f78488..5d7ce35cb 100644 --- a/src/pkg/json/encode.go +++ b/src/pkg/json/encode.go @@ -162,7 +162,7 @@ func (e *encodeState) reflectValue(v reflect.Value) { e.WriteString(strconv.Uitoa64(v.Get())) case *reflect.FloatValue: - e.WriteString(strconv.FtoaN(v.Get(), 'g', -1, int(v.Type().Size()*8))) + e.WriteString(strconv.FtoaN(v.Get(), 'g', -1, v.Type().Bits())) case *reflect.StringValue: e.string(v.Get()) |