aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2009-12-30 08:33:48 +1100
committerRob Pike <r@golang.org>2009-12-30 08:33:48 +1100
commita58b69e1d0aa8010c48c0707ee7f84c2d22184b9 (patch)
treec592e4792117d2fe2b6ed2d166034288bb5998bb
parente01459f567dcc86818e90c1b378f6499f0a4300f (diff)
downloadgo-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.go28
-rw-r--r--src/pkg/gob/type.go28
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: