diff options
author | Rob Pike <r@golang.org> | 2009-12-30 08:33:48 +1100 |
---|---|---|
committer | Rob Pike <r@golang.org> | 2009-12-30 08:33:48 +1100 |
commit | a58b69e1d0aa8010c48c0707ee7f84c2d22184b9 (patch) | |
tree | c592e4792117d2fe2b6ed2d166034288bb5998bb | |
parent | e01459f567dcc86818e90c1b378f6499f0a4300f (diff) | |
download | go-a58b69e1d0aa8010c48c0707ee7f84c2d22184b9.tar.gz go-a58b69e1d0aa8010c48c0707ee7f84c2d22184b9.zip |
improve some type switches now that multiple types per case are supported.
R=rsc
CC=golang-dev
https://golang.org/cl/181089
-rw-r--r-- | src/pkg/gob/decode.go | 28 | ||||
-rw-r--r-- | src/pkg/gob/type.go | 28 |
2 files changed, 6 insertions, 50 deletions
diff --git a/src/pkg/gob/decode.go b/src/pkg/gob/decode.go index 41951d357f..88bc65d621 100644 --- a/src/pkg/gob/decode.go +++ b/src/pkg/gob/decode.go @@ -630,33 +630,11 @@ func (dec *Decoder) compatibleType(fr reflect.Type, fw typeId) bool { return false case *reflect.BoolType: return fw == tBool - case *reflect.IntType: + case *reflect.IntType, *reflect.Int8Type, *reflect.Int16Type, *reflect.Int32Type, *reflect.Int64Type: return fw == tInt - case *reflect.Int8Type: - return fw == tInt - case *reflect.Int16Type: - return fw == tInt - case *reflect.Int32Type: - return fw == tInt - case *reflect.Int64Type: - return fw == tInt - case *reflect.UintType: - return fw == tUint - case *reflect.Uint8Type: - return fw == tUint - case *reflect.Uint16Type: + case *reflect.UintType, *reflect.Uint8Type, *reflect.Uint16Type, *reflect.Uint32Type, *reflect.Uint64Type, *reflect.UintptrType: return fw == tUint - case *reflect.Uint32Type: - return fw == tUint - case *reflect.Uint64Type: - return fw == tUint - case *reflect.UintptrType: - return fw == tUint - case *reflect.FloatType: - return fw == tFloat - case *reflect.Float32Type: - return fw == tFloat - case *reflect.Float64Type: + case *reflect.FloatType, *reflect.Float32Type, *reflect.Float64Type: return fw == tFloat case *reflect.StringType: return fw == tString diff --git a/src/pkg/gob/type.go b/src/pkg/gob/type.go index 58ed96b32f..2ffdfc6a1a 100644 --- a/src/pkg/gob/type.go +++ b/src/pkg/gob/type.go @@ -212,35 +212,13 @@ func newTypeObject(name string, rt reflect.Type) (gobType, os.Error) { case *reflect.BoolType: return tBool.gobType(), nil - case *reflect.IntType: - return tInt.gobType(), nil - case *reflect.Int8Type: - return tInt.gobType(), nil - case *reflect.Int16Type: - return tInt.gobType(), nil - case *reflect.Int32Type: - return tInt.gobType(), nil - case *reflect.Int64Type: + case *reflect.IntType, *reflect.Int8Type, *reflect.Int16Type, *reflect.Int32Type, *reflect.Int64Type: return tInt.gobType(), nil - case *reflect.UintType: - return tUint.gobType(), nil - case *reflect.Uint8Type: - return tUint.gobType(), nil - case *reflect.Uint16Type: - return tUint.gobType(), nil - case *reflect.Uint32Type: - return tUint.gobType(), nil - case *reflect.Uint64Type: - return tUint.gobType(), nil - case *reflect.UintptrType: + case *reflect.UintType, *reflect.Uint8Type, *reflect.Uint16Type, *reflect.Uint32Type, *reflect.Uint64Type, *reflect.UintptrType: return tUint.gobType(), nil - case *reflect.FloatType: - return tFloat.gobType(), nil - case *reflect.Float32Type: - return tFloat.gobType(), nil - case *reflect.Float64Type: + case *reflect.FloatType, *reflect.Float32Type, *reflect.Float64Type: return tFloat.gobType(), nil case *reflect.StringType: |