Support ignoring and hashing fields
This commit is contained in:
parent
dd244ad083
commit
c4b86eeb3b
22
spew/dump.go
22
spew/dump.go
|
@ -412,18 +412,28 @@ func (d *dumpState) dump(v reflect.Value) {
|
||||||
} else {
|
} else {
|
||||||
vt := v.Type()
|
vt := v.Type()
|
||||||
numFields := v.NumField()
|
numFields := v.NumField()
|
||||||
|
writeComma := false
|
||||||
|
writeNewline := false
|
||||||
for i := 0; i < numFields; i++ {
|
for i := 0; i < numFields; i++ {
|
||||||
d.indent()
|
|
||||||
vtf := vt.Field(i)
|
vtf := vt.Field(i)
|
||||||
|
tag := vtf.Tag.Get("spew")
|
||||||
|
if tag == "-" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if writeComma {
|
||||||
|
d.w.Write(commaNewlineBytes)
|
||||||
|
writeComma = false
|
||||||
|
}
|
||||||
|
writeComma = true
|
||||||
|
writeNewline = true
|
||||||
|
d.indent()
|
||||||
d.w.Write([]byte(vtf.Name))
|
d.w.Write([]byte(vtf.Name))
|
||||||
d.w.Write(colonSpaceBytes)
|
d.w.Write(colonSpaceBytes)
|
||||||
d.ignoreNextIndent = true
|
d.ignoreNextIndent = true
|
||||||
d.dump(d.unpackValue(v.Field(i)))
|
d.dump(d.unpackValue(v.Field(i)))
|
||||||
if i < (numFields - 1) {
|
}
|
||||||
d.w.Write(commaNewlineBytes)
|
if writeNewline {
|
||||||
} else {
|
d.w.Write(newlineBytes)
|
||||||
d.w.Write(newlineBytes)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
d.depth--
|
d.depth--
|
||||||
|
|
Loading…
Reference in New Issue