mirror of
https://github.com/golang/go
synced 2024-09-05 16:04:50 +00:00
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:
parent
cf4edac16e
commit
33628ce195
|
@ -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)
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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())
|
||||
|
|
Loading…
Reference in a new issue