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 | f3b060d7714e427110a9c0131b28e3fc34031f19 (patch) | |
tree | 496e10d9c339b8e3c617baf722db2a2146065156 | |
parent | e7699afc52794e89b3e10ccf7b8817abd54b2632 (diff) | |
download | go-f3b060d7714e427110a9c0131b28e3fc34031f19.tar.gz |
improve some type switches now that multiple types per case are supported.
R=rsc
CC=golang-dev
http://codereview.appspot.com/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 41951d357..88bc65d62 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 58ed96b32..2ffdfc6a1 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: |