cmd/cgo: use strings.Builder

Change-Id: I427776e5b2d9c7279932548c86c8faded0eed041
Reviewed-on: https://go-review.googlesource.com/c/go/+/428285
Run-TryBot: Ian Lance Taylor <iant@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: xie cui <523516579@qq.com>
This commit is contained in:
cuiweixie 2022-09-04 20:01:19 +08:00 committed by Gopher Robot
parent cf4edac16e
commit 33628ce195
3 changed files with 7 additions and 8 deletions

View file

@ -2915,7 +2915,7 @@ func (c *typeConv) Struct(dt *dwarf.StructType, pos token.Pos) (expr *ast.Struct
// Minimum alignment for a struct is 1 byte.
align = 1
var buf bytes.Buffer
var buf strings.Builder
buf.WriteString("struct {")
fld := make([]*ast.Field, 0, 2*len(dt.Field)+1) // enough for padding around every field
sizes := make([]int64, 0, 2*len(dt.Field)+1)

View file

@ -5,7 +5,6 @@
package main
import (
"bytes"
"fmt"
"go/ast"
"go/printer"
@ -17,7 +16,7 @@ import (
// godefs returns the output for -godefs mode.
func (p *Package) godefs(f *File, args []string) string {
var buf bytes.Buffer
var buf strings.Builder
fmt.Fprintf(&buf, "// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n")
fmt.Fprintf(&buf, "// %s %s\n", filepath.Base(args[0]), strings.Join(args[1:], " "))
@ -115,7 +114,7 @@ func (p *Package) godefs(f *File, args []string) string {
return buf.String()
}
var gofmtBuf bytes.Buffer
var gofmtBuf strings.Builder
// gofmt returns the gofmt-formatted string for an AST node.
func gofmt(n interface{}) string {

View file

@ -43,7 +43,7 @@ func (p *Package) writeDefs() {
}
fm := creat(*objDir + "_cgo_main.c")
var gccgoInit bytes.Buffer
var gccgoInit strings.Builder
fflg := creat(*objDir + "_cgo_flags")
for k, v := range p.CgoFlags {
@ -438,7 +438,7 @@ func checkImportSymName(s string) {
// Also assumes that gc convention is to word-align the
// input and output parameters.
func (p *Package) structType(n *Name) (string, int64) {
var buf bytes.Buffer
var buf strings.Builder
fmt.Fprint(&buf, "struct {\n")
off := int64(0)
for i, t := range n.FuncType.Params {
@ -1114,7 +1114,7 @@ func (p *Package) writeGccgoExports(fgo2, fm, fgcc, fgcch io.Writer) {
fn := exp.Func
fntype := fn.Type
cdeclBuf := new(bytes.Buffer)
cdeclBuf := new(strings.Builder)
resultCount := 0
forFieldList(fntype.Results,
func(i int, aname string, atype ast.Expr) { resultCount++ })
@ -1146,7 +1146,7 @@ func (p *Package) writeGccgoExports(fgo2, fm, fgcc, fgcch io.Writer) {
cRet := cdeclBuf.String()
cdeclBuf = new(bytes.Buffer)
cdeclBuf = new(strings.Builder)
fmt.Fprintf(cdeclBuf, "(")
if fn.Recv != nil {
fmt.Fprintf(cdeclBuf, "%s recv", p.cgoType(fn.Recv.List[0].Type).C.String())