mirror of
https://github.com/golang/go
synced 2024-11-12 08:40:21 -07:00
go/printer: fix sync bug - avoid sending on errors twice -
and report node type in error R=gri DELTA=4 (3 added, 0 deleted, 1 changed) OCL=34949 CL=34955
This commit is contained in:
parent
b817e97961
commit
f0964a54fb
@ -14,6 +14,7 @@ import (
|
||||
"io";
|
||||
"os";
|
||||
"reflect";
|
||||
"runtime";
|
||||
"strings";
|
||||
"tabwriter";
|
||||
)
|
||||
@ -105,6 +106,7 @@ func (p *printer) write0(data []byte) {
|
||||
p.written += n;
|
||||
if err != nil {
|
||||
p.errors <- err;
|
||||
runtime.Goexit();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1402,7 +1404,8 @@ func Fprint(output io.Writer, node interface{}, mode uint, tabwidth int) (int, o
|
||||
p.comment = n.Comments;
|
||||
p.file(n);
|
||||
default:
|
||||
p.errors <- os.NewError("unsupported node type");
|
||||
p.errors <- os.NewError(fmt.Sprintf("unsupported node type %T", n));
|
||||
runtime.Goexit();
|
||||
}
|
||||
p.flush(inf);
|
||||
p.errors <- nil; // no errors
|
||||
|
Loading…
Reference in New Issue
Block a user