mirror of
https://github.com/golang/go
synced 2024-11-20 05:24:41 -07:00
go/printer, gofmt: trim trailing whitespace in comments
Also: updated go fix testcases to pass tests. Fixes #4310. R=r CC=golang-dev https://golang.org/cl/6810055
This commit is contained in:
parent
640d818f2a
commit
db2b6ed854
2
src/cmd/fix/testdata/reflect.encoder.go.in
vendored
2
src/cmd/fix/testdata/reflect.encoder.go.in
vendored
@ -120,7 +120,7 @@ func (enc *Encoder) sendActualType(w io.Writer, state *encoderState, ut *userTyp
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// sendType sends the type info to the other side, if necessary.
|
// sendType sends the type info to the other side, if necessary.
|
||||||
func (enc *Encoder) sendType(w io.Writer, state *encoderState, origt reflect.Type) (sent bool) {
|
func (enc *Encoder) sendType(w io.Writer, state *encoderState, origt reflect.Type) (sent bool) {
|
||||||
ut := userType(origt)
|
ut := userType(origt)
|
||||||
if ut.isGobEncoder {
|
if ut.isGobEncoder {
|
||||||
|
2
src/cmd/fix/testdata/reflect.encoder.go.out
vendored
2
src/cmd/fix/testdata/reflect.encoder.go.out
vendored
@ -120,7 +120,7 @@ func (enc *Encoder) sendActualType(w io.Writer, state *encoderState, ut *userTyp
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// sendType sends the type info to the other side, if necessary.
|
// sendType sends the type info to the other side, if necessary.
|
||||||
func (enc *Encoder) sendType(w io.Writer, state *encoderState, origt reflect.Type) (sent bool) {
|
func (enc *Encoder) sendType(w io.Writer, state *encoderState, origt reflect.Type) (sent bool) {
|
||||||
ut := userType(origt)
|
ut := userType(origt)
|
||||||
if ut.isGobEncoder {
|
if ut.isGobEncoder {
|
||||||
|
2
src/cmd/fix/testdata/reflect.export.go.in
vendored
2
src/cmd/fix/testdata/reflect.export.go.in
vendored
@ -162,7 +162,7 @@ func (client *expClient) run() {
|
|||||||
// all messages <=N have been seen by the recipient. We check anyway.
|
// all messages <=N have been seen by the recipient. We check anyway.
|
||||||
expLog("sequence out of order:", client.ackNum, hdr.SeqNum)
|
expLog("sequence out of order:", client.ackNum, hdr.SeqNum)
|
||||||
}
|
}
|
||||||
if client.ackNum < hdr.SeqNum { // If there has been an error, don't back up the count.
|
if client.ackNum < hdr.SeqNum { // If there has been an error, don't back up the count.
|
||||||
client.ackNum = hdr.SeqNum
|
client.ackNum = hdr.SeqNum
|
||||||
}
|
}
|
||||||
client.mu.Unlock()
|
client.mu.Unlock()
|
||||||
|
2
src/cmd/fix/testdata/reflect.export.go.out
vendored
2
src/cmd/fix/testdata/reflect.export.go.out
vendored
@ -162,7 +162,7 @@ func (client *expClient) run() {
|
|||||||
// all messages <=N have been seen by the recipient. We check anyway.
|
// all messages <=N have been seen by the recipient. We check anyway.
|
||||||
expLog("sequence out of order:", client.ackNum, hdr.SeqNum)
|
expLog("sequence out of order:", client.ackNum, hdr.SeqNum)
|
||||||
}
|
}
|
||||||
if client.ackNum < hdr.SeqNum { // If there has been an error, don't back up the count.
|
if client.ackNum < hdr.SeqNum { // If there has been an error, don't back up the count.
|
||||||
client.ackNum = hdr.SeqNum
|
client.ackNum = hdr.SeqNum
|
||||||
}
|
}
|
||||||
client.mu.Unlock()
|
client.mu.Unlock()
|
||||||
|
2
src/cmd/fix/testdata/reflect.print.go.in
vendored
2
src/cmd/fix/testdata/reflect.print.go.in
vendored
@ -182,7 +182,7 @@ func Sprintf(format string, a ...interface{}) string {
|
|||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
// Errorf formats according to a format specifier and returns the string
|
// Errorf formats according to a format specifier and returns the string
|
||||||
// converted to an os.ErrorString, which satisfies the os.Error interface.
|
// converted to an os.ErrorString, which satisfies the os.Error interface.
|
||||||
func Errorf(format string, a ...interface{}) os.Error {
|
func Errorf(format string, a ...interface{}) os.Error {
|
||||||
return os.NewError(Sprintf(format, a...))
|
return os.NewError(Sprintf(format, a...))
|
||||||
|
2
src/cmd/fix/testdata/reflect.print.go.out
vendored
2
src/cmd/fix/testdata/reflect.print.go.out
vendored
@ -182,7 +182,7 @@ func Sprintf(format string, a ...interface{}) string {
|
|||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
// Errorf formats according to a format specifier and returns the string
|
// Errorf formats according to a format specifier and returns the string
|
||||||
// converted to an os.ErrorString, which satisfies the os.Error interface.
|
// converted to an os.ErrorString, which satisfies the os.Error interface.
|
||||||
func Errorf(format string, a ...interface{}) os.Error {
|
func Errorf(format string, a ...interface{}) os.Error {
|
||||||
return os.NewError(Sprintf(format, a...))
|
return os.NewError(Sprintf(format, a...))
|
||||||
|
@ -14,6 +14,7 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"text/tabwriter"
|
"text/tabwriter"
|
||||||
|
"unicode"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -405,6 +406,7 @@ func (p *printer) writeCommentPrefix(pos, next token.Position, prev, comment *as
|
|||||||
// Split comment text into lines
|
// Split comment text into lines
|
||||||
// (using strings.Split(text, "\n") is significantly slower for
|
// (using strings.Split(text, "\n") is significantly slower for
|
||||||
// this specific purpose, as measured with: go test -bench=Print)
|
// this specific purpose, as measured with: go test -bench=Print)
|
||||||
|
//
|
||||||
func split(text string) []string {
|
func split(text string) []string {
|
||||||
// count lines (comment text never ends in a newline)
|
// count lines (comment text never ends in a newline)
|
||||||
n := 1
|
n := 1
|
||||||
@ -432,6 +434,7 @@ func split(text string) []string {
|
|||||||
|
|
||||||
// Returns true if s contains only white space
|
// Returns true if s contains only white space
|
||||||
// (only tabs and blanks can appear in the printer's context).
|
// (only tabs and blanks can appear in the printer's context).
|
||||||
|
//
|
||||||
func isBlank(s string) bool {
|
func isBlank(s string) bool {
|
||||||
for i := 0; i < len(s); i++ {
|
for i := 0; i < len(s); i++ {
|
||||||
if s[i] > ' ' {
|
if s[i] > ' ' {
|
||||||
@ -441,6 +444,7 @@ func isBlank(s string) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// commonPrefix returns the common prefix of a and b.
|
||||||
func commonPrefix(a, b string) string {
|
func commonPrefix(a, b string) string {
|
||||||
i := 0
|
i := 0
|
||||||
for i < len(a) && i < len(b) && a[i] == b[i] && (a[i] <= ' ' || a[i] == '*') {
|
for i < len(a) && i < len(b) && a[i] == b[i] && (a[i] <= ' ' || a[i] == '*') {
|
||||||
@ -449,6 +453,11 @@ func commonPrefix(a, b string) string {
|
|||||||
return a[0:i]
|
return a[0:i]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// trimRight returns s with trailing whitespace removed.
|
||||||
|
func trimRight(s string) string {
|
||||||
|
return strings.TrimRightFunc(s, unicode.IsSpace)
|
||||||
|
}
|
||||||
|
|
||||||
// stripCommonPrefix removes a common prefix from /*-style comment lines (unless no
|
// stripCommonPrefix removes a common prefix from /*-style comment lines (unless no
|
||||||
// comment line is indented, all but the first line have some form of space prefix).
|
// comment line is indented, all but the first line have some form of space prefix).
|
||||||
// The prefix is computed using heuristics such that is is likely that the comment
|
// The prefix is computed using heuristics such that is is likely that the comment
|
||||||
@ -611,7 +620,7 @@ func (p *printer) writeComment(comment *ast.Comment) {
|
|||||||
|
|
||||||
// shortcut common case of //-style comments
|
// shortcut common case of //-style comments
|
||||||
if text[1] == '/' {
|
if text[1] == '/' {
|
||||||
p.writeString(pos, text, true)
|
p.writeString(pos, trimRight(text), true)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -641,7 +650,7 @@ func (p *printer) writeComment(comment *ast.Comment) {
|
|||||||
pos = p.pos
|
pos = p.pos
|
||||||
}
|
}
|
||||||
if len(line) > 0 {
|
if len(line) > 0 {
|
||||||
p.writeString(pos, line, true)
|
p.writeString(pos, trimRight(line), true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1159,7 +1168,7 @@ func (p *trimmer) Write(data []byte) (n int, err error) {
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// Public interface
|
// Public interface
|
||||||
|
|
||||||
// A Mode value is a set of flags (or 0). They control printing.
|
// A Mode value is a set of flags (or 0). They control printing.
|
||||||
type Mode uint
|
type Mode uint
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
11
src/pkg/go/printer/testdata/comments.golden
vendored
11
src/pkg/go/printer/testdata/comments.golden
vendored
@ -529,7 +529,7 @@ func _() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func _() {
|
func _() {
|
||||||
var a = []int{1, 2}// jasldf
|
var a = []int{1, 2}// jasldf
|
||||||
|
|
||||||
_ = a
|
_ = a
|
||||||
}
|
}
|
||||||
@ -626,4 +626,13 @@ func _() {
|
|||||||
var lflag bool // -l - disable line directives
|
var lflag bool // -l - disable line directives
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Trailing white space in comments should be trimmed
|
||||||
|
func _() {
|
||||||
|
// This comment has 4 blanks following that should be trimmed:
|
||||||
|
/* Each line of this comment has blanks or tabs following that should be trimmed:
|
||||||
|
line 2:
|
||||||
|
line 3:
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
/* This comment is the last entry in this file. It must be printed and should be followed by a newline */
|
/* This comment is the last entry in this file. It must be printed and should be followed by a newline */
|
||||||
|
10
src/pkg/go/printer/testdata/comments.input
vendored
10
src/pkg/go/printer/testdata/comments.input
vendored
@ -534,7 +534,7 @@ func _() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func _() {
|
func _() {
|
||||||
var a = []int{1, 2, // jasldf
|
var a = []int{1, 2, // jasldf
|
||||||
}
|
}
|
||||||
_ = a
|
_ = a
|
||||||
}
|
}
|
||||||
@ -630,5 +630,13 @@ var vflag string // -v [y.output] - y.output file
|
|||||||
var lflag bool // -l - disable line directives
|
var lflag bool // -l - disable line directives
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Trailing white space in comments should be trimmed
|
||||||
|
func _() {
|
||||||
|
// This comment has 4 blanks following that should be trimmed:
|
||||||
|
/* Each line of this comment has blanks or tabs following that should be trimmed:
|
||||||
|
line 2:
|
||||||
|
line 3:
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
/* This comment is the last entry in this file. It must be printed and should be followed by a newline */
|
/* This comment is the last entry in this file. It must be printed and should be followed by a newline */
|
||||||
|
Loading…
Reference in New Issue
Block a user