From f948516369ffcd33ed68d8dd95ffe3a120142e79 Mon Sep 17 00:00:00 2001 From: Thomas NJ Shadwell Date: Tue, 26 Feb 2013 19:43:45 +0000 Subject: revert previous mis-commits, add ability to allow deeper pretty-printing after an error or Stringer interface is encountered. --- spew/common.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'spew/common.go') diff --git a/spew/common.go b/spew/common.go index 6b8bfec..11ec612 100644 --- a/spew/common.go +++ b/spew/common.go @@ -150,11 +150,26 @@ func handleMethods(cs *ConfigState, w io.Writer, v reflect.Value) (handled bool) switch iface := viface.(type) { case error: defer catchPanic(w, v) + if cs.ContinueOnMethod { + w.Write(append(openParenBytes, []byte(iface.Error())...)) + w.Write(closeParenBytes) + w.Write(spaceBytes) + + return false + } + w.Write([]byte(iface.Error())) return true case fmt.Stringer: defer catchPanic(w, v) + if cs.ContinueOnMethod { + w.Write(append(openParenBytes, []byte(iface.String())...)) + w.Write(closeParenBytes) + w.Write(spaceBytes) + + return false + } w.Write([]byte(iface.String())) return true } -- cgit v1.2.3