mirror of
https://github.com/golang/go
synced 2024-11-22 03:24:41 -07:00
fmt: remove uintptrGetter type checks
This will make the fmt code easier to gofix when the new reflect interface is ready. R=r CC=golang-dev https://golang.org/cl/4324043
This commit is contained in:
parent
7a5bbfd47f
commit
b66b22cdd4
@ -520,12 +520,14 @@ func (p *pp) fmtBytes(v []byte, verb int, goSyntax bool, depth int, value interf
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *pp) fmtPointer(field interface{}, value reflect.Value, verb int, goSyntax bool) {
|
func (p *pp) fmtPointer(field interface{}, value reflect.Value, verb int, goSyntax bool) {
|
||||||
v, ok := value.(uintptrGetter)
|
var u uintptr
|
||||||
if !ok { // reflect.PtrValue is a uintptrGetter, so failure means it's not a pointer at all.
|
switch value.(type) {
|
||||||
|
case *reflect.ChanValue, *reflect.FuncValue, *reflect.MapValue, *reflect.PtrValue, *reflect.SliceValue, *reflect.UnsafePointerValue:
|
||||||
|
u = value.(uintptrGetter).Get()
|
||||||
|
default:
|
||||||
p.badVerb(verb, field)
|
p.badVerb(verb, field)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
u := v.Get()
|
|
||||||
if goSyntax {
|
if goSyntax {
|
||||||
p.add('(')
|
p.add('(')
|
||||||
p.buf.WriteString(reflect.Typeof(field).String())
|
p.buf.WriteString(reflect.Typeof(field).String())
|
||||||
@ -534,7 +536,7 @@ func (p *pp) fmtPointer(field interface{}, value reflect.Value, verb int, goSynt
|
|||||||
if u == 0 {
|
if u == 0 {
|
||||||
p.buf.Write(nilBytes)
|
p.buf.Write(nilBytes)
|
||||||
} else {
|
} else {
|
||||||
p.fmt0x64(uint64(v.Get()), true)
|
p.fmt0x64(uint64(u), true)
|
||||||
}
|
}
|
||||||
p.add(')')
|
p.add(')')
|
||||||
} else {
|
} else {
|
||||||
@ -811,7 +813,7 @@ BigSwitch:
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
p.fmt0x64(uint64(v), true)
|
p.fmt0x64(uint64(v), true)
|
||||||
case uintptrGetter:
|
case *reflect.ChanValue, *reflect.FuncValue, *reflect.UnsafePointerValue:
|
||||||
p.fmtPointer(field, value, verb, goSyntax)
|
p.fmtPointer(field, value, verb, goSyntax)
|
||||||
default:
|
default:
|
||||||
p.unknownType(f)
|
p.unknownType(f)
|
||||||
|
Loading…
Reference in New Issue
Block a user