Commit b1b0ed1e authored by Robert Griesemer's avatar Robert Griesemer

go/printer: replace multiline logic

This CL mostly deletes code.

Using existing position information is
just as good to determine if a new section
is needed; no need to track exact multi-
line information. Eliminates the need to
carry around a multiLine parameter with
practically every function.

Applied gofmt -w src misc resulting in only
a minor change to godoc.go. In return, a couple
of test cases are now formatted better.

Not Go1-required, but nice-to-have as it will
simplify fixes going forward.

R=rsc
CC=golang-dev
https://golang.org/cl/5706055
parent fb270611
...@@ -69,7 +69,7 @@ var ( ...@@ -69,7 +69,7 @@ var (
// search index // search index
indexEnabled = flag.Bool("index", false, "enable search index") indexEnabled = flag.Bool("index", false, "enable search index")
indexFiles = flag.String("index_files", "", "glob pattern specifying index files;"+ indexFiles = flag.String("index_files", "", "glob pattern specifying index files;"+
"if not empty, the index is read from these files in sorted order") "if not empty, the index is read from these files in sorted order")
maxResults = flag.Int("maxresults", 10000, "maximum number of full text search results shown") maxResults = flag.Int("maxresults", 10000, "maximum number of full text search results shown")
indexThrottle = flag.Float64("index_throttle", 0.75, "index throttle value; 0.0 = no time allocated, 1.0 = full throttle") indexThrottle = flag.Float64("index_throttle", 0.75, "index throttle value; 0.0 = no time allocated, 1.0 = full throttle")
......
This diff is collapsed.
...@@ -34,9 +34,6 @@ const ( ...@@ -34,9 +34,6 @@ const (
unindent = whiteSpace('<') unindent = whiteSpace('<')
) )
// Use ignoreMultiLine if the multiLine information is not important.
var ignoreMultiLine = new(bool)
// A pmode value represents the current printer mode. // A pmode value represents the current printer mode.
type pmode int type pmode int
...@@ -1011,18 +1008,18 @@ func (p *printer) printNode(node interface{}) error { ...@@ -1011,18 +1008,18 @@ func (p *printer) printNode(node interface{}) error {
// format node // format node
switch n := node.(type) { switch n := node.(type) {
case ast.Expr: case ast.Expr:
p.expr(n, ignoreMultiLine) p.expr(n)
case ast.Stmt: case ast.Stmt:
// A labeled statement will un-indent to position the // A labeled statement will un-indent to position the
// label. Set indent to 1 so we don't get indent "underflow". // label. Set indent to 1 so we don't get indent "underflow".
if _, labeledStmt := n.(*ast.LabeledStmt); labeledStmt { if _, labeledStmt := n.(*ast.LabeledStmt); labeledStmt {
p.indent = 1 p.indent = 1
} }
p.stmt(n, false, ignoreMultiLine) p.stmt(n, false)
case ast.Decl: case ast.Decl:
p.decl(n, ignoreMultiLine) p.decl(n)
case ast.Spec: case ast.Spec:
p.spec(n, 1, false, ignoreMultiLine) p.spec(n, 1, false)
case *ast.File: case *ast.File:
p.file(n) p.file(n)
default: default:
......
...@@ -500,7 +500,7 @@ type _ struct { ...@@ -500,7 +500,7 @@ type _ struct {
type _ struct { type _ struct {
a, b, a, b,
c, d int // this line should be indented c, d int // this line should be indented
u, v, w, x float // this line should be indented u, v, w, x float // this line should be indented
p, q, p, q,
r, s float // this line should be indented r, s float // this line should be indented
...@@ -562,7 +562,7 @@ var a2, b2, ...@@ -562,7 +562,7 @@ var a2, b2,
var ( var (
a3, b3, a3, b3,
c3, d3 int // this line should be indented c3, d3 int // this line should be indented
a4, b4, c4 int // this line should be indented a4, b4, c4 int // this line should be indented
) )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment