]> Cypherpunks repositories - gostls13.git/commitdiff
go/ast: remove unnecessary result value from ast.Fprint/Print
authorRobert Griesemer <gri@golang.org>
Fri, 13 Jan 2012 00:04:32 +0000 (16:04 -0800)
committerRobert Griesemer <gri@golang.org>
Fri, 13 Jan 2012 00:04:32 +0000 (16:04 -0800)
These functions are mostly of interest for debugging; the
number of bytes written is uninteresting.

R=r, bradfitz
CC=golang-dev
https://golang.org/cl/5540046

src/pkg/go/ast/print.go
src/pkg/go/ast/print_test.go

index fb3068e1e937af928cb9e704b100acb46096f801..f6c63c0d8895611b1713ca1c306682ea635dfde1 100644 (file)
@@ -36,7 +36,7 @@ func NotNilFilter(_ string, v reflect.Value) bool {
 // struct fields for which f(fieldname, fieldvalue) is true are
 // are printed; all others are filtered from the output.
 //
-func Fprint(w io.Writer, fset *token.FileSet, x interface{}, f FieldFilter) (n int, err error) {
+func Fprint(w io.Writer, fset *token.FileSet, x interface{}, f FieldFilter) (err error) {
        // setup printer
        p := printer{
                output: w,
@@ -48,7 +48,6 @@ func Fprint(w io.Writer, fset *token.FileSet, x interface{}, f FieldFilter) (n i
 
        // install error handler
        defer func() {
-               n = p.written
                if e := recover(); e != nil {
                        err = e.(localError).err // re-panics if it's not a localError
                }
@@ -67,19 +66,18 @@ func Fprint(w io.Writer, fset *token.FileSet, x interface{}, f FieldFilter) (n i
 
 // Print prints x to standard output, skipping nil fields.
 // Print(fset, x) is the same as Fprint(os.Stdout, fset, x, NotNilFilter).
-func Print(fset *token.FileSet, x interface{}) (int, error) {
+func Print(fset *token.FileSet, x interface{}) error {
        return Fprint(os.Stdout, fset, x, NotNilFilter)
 }
 
 type printer struct {
-       output  io.Writer
-       fset    *token.FileSet
-       filter  FieldFilter
-       ptrmap  map[interface{}]int // *T -> line number
-       written int                 // number of bytes written to output
-       indent  int                 // current indentation level
-       last    byte                // the last byte processed by Write
-       line    int                 // current line number
+       output io.Writer
+       fset   *token.FileSet
+       filter FieldFilter
+       ptrmap map[interface{}]int // *T -> line number
+       indent int                 // current indentation level
+       last   byte                // the last byte processed by Write
+       line   int                 // current line number
 }
 
 var indent = []byte(".  ")
@@ -122,9 +120,7 @@ type localError struct {
 
 // printf is a convenience wrapper that takes care of print errors.
 func (p *printer) printf(format string, args ...interface{}) {
-       n, err := fmt.Fprintf(p, format, args...)
-       p.written += n
-       if err != nil {
+       if _, err := fmt.Fprintf(p, format, args...); err != nil {
                panic(localError{err})
        }
 }
index 89d5af1541e23c7906a92050a329bab5f4302d13..71c028e753787e4b322c8ab629cb04b115677623 100644 (file)
@@ -66,7 +66,7 @@ func TestPrint(t *testing.T) {
        var buf bytes.Buffer
        for _, test := range tests {
                buf.Reset()
-               if _, err := Fprint(&buf, nil, test.x, nil); err != nil {
+               if err := Fprint(&buf, nil, test.x, nil); err != nil {
                        t.Errorf("Fprint failed: %s", err)
                }
                if s, ts := trim(buf.String()), trim(test.s); s != ts {