From 0d23c28526223f5239581e845e0682f704724525 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Fri, 26 Aug 2016 16:38:06 -0700 Subject: [PATCH] cmd/compile: make dumpdepth a global again Fixes indenting in debug output like -W. Change-Id: Ia16b0bad47428cee71fe036c297731e841ec9ca0 Reviewed-on: https://go-review.googlesource.com/27924 Reviewed-by: Matthew Dempsky Run-TryBot: Matthew Dempsky TryBot-Result: Gobot Gobot --- src/cmd/compile/internal/gc/fmt.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/cmd/compile/internal/gc/fmt.go b/src/cmd/compile/internal/gc/fmt.go index 5f4c85b44c..e7fba2f9a0 100644 --- a/src/cmd/compile/internal/gc/fmt.go +++ b/src/cmd/compile/internal/gc/fmt.go @@ -1404,7 +1404,7 @@ func (p *printer) nodedump(n *Node, flag FmtFlag) *printer { if recur { p.indent() - if p.dumpdepth > 10 { + if dumpdepth > 10 { return p.s("...") } @@ -1654,9 +1654,9 @@ func Nconv(n *Node, flag FmtFlag) string { p.nodefmt(n, flag) case FDbg: - p.dumpdepth++ + dumpdepth++ p.nodedump(n, flag) - p.dumpdepth-- + dumpdepth-- default: Fatalf("unhandled %%N mode") @@ -1715,8 +1715,7 @@ func Dump(s string, n *Node) { // printer is a buffer for creating longer formatted strings. type printer struct { - buf []byte - dumpdepth int + buf []byte } // printer implements io.Writer. @@ -1742,10 +1741,13 @@ func (p *printer) f(format string, args ...interface{}) *printer { return p } +// TODO(gri) make this a field of printer +var dumpdepth int + // indent prints indentation to p. func (p *printer) indent() { p.s("\n") - for i := 0; i < p.dumpdepth; i++ { + for i := 0; i < dumpdepth; i++ { p.s(". ") } } -- 2.48.1