Commit 53f48581 authored by Robert Griesemer's avatar Robert Griesemer

fix for nodeSize computation, used to determine if

a node fits on one line:
- for purposes of measuring the node size in text,
  don't generate html or use a styler that could
  generate html as it will lead to overly large
  sizes

A consequence of this bug is that source code displayed
with godoc may show functions that fit on one line in
the source on multiple lines.

This change causes no difference to the gofmt formatting
of any files in src or misc.

R=rsc
http://go/go-review/1026034
parent aae64f8c
...@@ -1090,8 +1090,12 @@ func (p *printer) genDecl(d *ast.GenDecl, context declContext, multiLine *bool) ...@@ -1090,8 +1090,12 @@ func (p *printer) genDecl(d *ast.GenDecl, context declContext, multiLine *bool)
// //
func (p *printer) nodeSize(n ast.Node, maxSize int) (size int) { func (p *printer) nodeSize(n ast.Node, maxSize int) (size int) {
size = maxSize+1; // assume n doesn't fit size = maxSize+1; // assume n doesn't fit
// nodeSize computation must be indendent of particular
// style so that we always get the same decision; print
// in RawFormat
cfg := Config{Mode: RawFormat};
var buf bytes.Buffer; var buf bytes.Buffer;
if _, err := p.Config.Fprint(&buf, n); err != nil { if _, err := cfg.Fprint(&buf, n); err != nil {
return; return;
} }
if buf.Len() <= maxSize { if buf.Len() <= maxSize {
......
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