goprotobuf: hand-edit the gofix changes for nicer code
and clean up a few details. No semantic change.
R=rsc, dsymonds
CC=golang-dev
http://codereview.appspot.com/4368069
diff --git a/proto/encode.go b/proto/encode.go
index 62674d1..8dc6a74 100644
--- a/proto/encode.go
+++ b/proto/encode.go
@@ -292,7 +292,7 @@
// All protocol buffer fields are nillable, but be careful.
func isNil(v reflect.Value) bool {
switch v.Kind() {
- case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice:
+ case reflect.Map, reflect.Ptr, reflect.Slice:
return v.IsNil()
}
return false
diff --git a/proto/properties.go b/proto/properties.go
index b347efc..bc0101c 100644
--- a/proto/properties.go
+++ b/proto/properties.go
@@ -238,7 +238,6 @@
case reflect.Ptr:
switch t2 := t1.Elem(); t2.Kind() {
default:
- BadType:
fmt.Fprintf(os.Stderr, "proto: no encoder function for %T -> %T\n", t1, t2)
break
case reflect.Bool:
@@ -246,36 +245,26 @@
p.dec = (*Buffer).dec_bool
p.alignof = unsafe.Alignof(vbool)
p.sizeof = unsafe.Sizeof(vbool)
- case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
- switch t2.Bits() {
- case 32:
- p.enc = (*Buffer).enc_int32
- p.dec = (*Buffer).dec_int32
- p.alignof = unsafe.Alignof(vint32)
- p.sizeof = unsafe.Sizeof(vint32)
- case 64:
- p.enc = (*Buffer).enc_int64
- p.dec = (*Buffer).dec_int64
- p.alignof = unsafe.Alignof(vint64)
- p.sizeof = unsafe.Sizeof(vint64)
- default:
- goto BadType
- }
- case reflect.Float32, reflect.Float64:
- switch t2.Bits() {
- case 32:
- p.enc = (*Buffer).enc_int32 // can just treat them as bits
- p.dec = (*Buffer).dec_int32
- p.alignof = unsafe.Alignof(vfloat32)
- p.sizeof = unsafe.Sizeof(vfloat32)
- case 64:
- p.enc = (*Buffer).enc_int64 // can just treat them as bits
- p.dec = (*Buffer).dec_int64
- p.alignof = unsafe.Alignof(vfloat64)
- p.sizeof = unsafe.Sizeof(vfloat64)
- default:
- goto BadType
- }
+ case reflect.Int32, reflect.Uint32:
+ p.enc = (*Buffer).enc_int32
+ p.dec = (*Buffer).dec_int32
+ p.alignof = unsafe.Alignof(vint32)
+ p.sizeof = unsafe.Sizeof(vint32)
+ case reflect.Int64, reflect.Uint64:
+ p.enc = (*Buffer).enc_int64
+ p.dec = (*Buffer).dec_int64
+ p.alignof = unsafe.Alignof(vint64)
+ p.sizeof = unsafe.Sizeof(vint64)
+ case reflect.Float32:
+ p.enc = (*Buffer).enc_int32 // can just treat them as bits
+ p.dec = (*Buffer).dec_int32
+ p.alignof = unsafe.Alignof(vfloat32)
+ p.sizeof = unsafe.Sizeof(vfloat32)
+ case reflect.Float64:
+ p.enc = (*Buffer).enc_int64 // can just treat them as bits
+ p.dec = (*Buffer).dec_int64
+ p.alignof = unsafe.Alignof(vfloat64)
+ p.sizeof = unsafe.Sizeof(vfloat64)
case reflect.String:
p.enc = (*Buffer).enc_string
p.dec = (*Buffer).dec_string
diff --git a/proto/text.go b/proto/text.go
index fac3c2d..e26bbc2 100644
--- a/proto/text.go
+++ b/proto/text.go
@@ -99,13 +99,13 @@
}
props := sprops.Prop[i]
fv := sv.Field(i)
- if pv := fv; pv.Kind() == reflect.Ptr && pv.IsNil() {
+ if fv.Kind() == reflect.Ptr && fv.IsNil() {
// Field not filled in. This could be an optional field or
// a required field that wasn't filled in. Either way, there
// isn't anything we can show for it.
continue
}
- if av := fv; av.Kind() == reflect.Slice && av.IsNil() {
+ if fv.Kind() == reflect.Slice && fv.IsNil() {
// Repeated field that is empty, or a bytes field that is unused.
continue
}
diff --git a/proto/text_parser.go b/proto/text_parser.go
index adddb72..018d787 100644
--- a/proto/text_parser.go
+++ b/proto/text_parser.go
@@ -386,7 +386,7 @@
fv.SetFloat(f)
return nil
}
- case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
+ case reflect.Int32, reflect.Int64:
switch fv.Type().Bits() {
case 32:
if x, err := strconv.Atoi64(tok.value); err == nil && minInt32 <= x && x <= maxInt32 {
@@ -433,7 +433,7 @@
return p.error("expected '{' or '<', found %q", tok.value)
}
return p.readStruct(fv, terminator)
- case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
+ case reflect.Uint32, reflect.Uint64:
switch fv.Type().Bits() {
case 32:
if x, err := strconv.Atoui64(tok.value); err == nil && x <= maxUint32 {