mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/doc: fix strange indentation artifacts with unexported fields
The NamePos value was not being set, and would default to a value
of zero. This would cause the printing logic to get confused as
to where exactly to place the "Has unexported fields" string.
A trivial package changes from
<
type A struct {
A int // A
B int
// B
// Has unexported fields.
}
>
to
<
type A struct {
A int // A
B int // B
// Has unexported fields.
}
>
Fixes #12971
Change-Id: I53b7799a1f1c0ad7dcaddff83d9aaeb1d6b7823e
Reviewed-on: https://go-review.googlesource.com/16286
Run-TryBot: Joe Tsai <joetsai@digital-static.net>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
This commit is contained in:
parent
90e26f52c6
commit
07d48993f2
3 changed files with 52 additions and 3 deletions
|
|
@ -504,7 +504,14 @@ func trimUnexportedFields(fields *ast.FieldList, what string) *ast.FieldList {
|
|||
return fields
|
||||
}
|
||||
unexportedField := &ast.Field{
|
||||
Type: ast.NewIdent(""), // Hack: printer will treat this as a field with a named type.
|
||||
Type: &ast.Ident{
|
||||
// Hack: printer will treat this as a field with a named type.
|
||||
// Setting Name and NamePos to ("", fields.Closing-1) ensures that
|
||||
// when Pos and End are called on this field, they return the
|
||||
// position right before closing '}' character.
|
||||
Name: "",
|
||||
NamePos: fields.Closing - 1,
|
||||
},
|
||||
Comment: &ast.CommentGroup{
|
||||
List: []*ast.Comment{{Text: fmt.Sprintf("// Has unexported %s.\n", what)}},
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue