From: Rob Pike Date: Tue, 29 Dec 2009 21:33:48 +0000 (+1100) Subject: improve some type switches now that multiple types per case are supported. X-Git-Tag: weekly.2010-01-05~22 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a58b69e1d0aa8010c48c0707ee7f84c2d22184b9;p=gostls13.git improve some type switches now that multiple types per case are supported. R=rsc CC=golang-dev https://golang.org/cl/181089 --- 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: