A few small bits of style modernisation,
such as using append where it makes the code shorter and more natural.
diff --git a/protoc-gen-go/generator/generator.go b/protoc-gen-go/generator/generator.go
index 6df99ea..2d431dc 100644
--- a/protoc-gen-go/generator/generator.go
+++ b/protoc-gen-go/generator/generator.go
@@ -803,9 +803,9 @@
// and FileDescriptorProtos into file-referenced objects within the Generator.
// It also creates the list of files to generate and so should be called before GenerateAllFiles.
func (g *Generator) WrapTypes() {
- g.allFiles = make([]*FileDescriptor, len(g.Request.ProtoFile))
+ g.allFiles = make([]*FileDescriptor, 0, len(g.Request.ProtoFile))
g.allFilesByName = make(map[string]*FileDescriptor, len(g.allFiles))
- for i, f := range g.Request.ProtoFile {
+ for _, f := range g.Request.ProtoFile {
// We must wrap the descriptors before we wrap the enums
descs := wrapDescriptors(f)
g.buildNestedDescriptors(descs)
@@ -821,22 +821,22 @@
proto3: fileIsProto3(f),
}
extractComments(fd)
- g.allFiles[i] = fd
+ g.allFiles = append(g.allFiles, fd)
g.allFilesByName[f.GetName()] = fd
}
for _, fd := range g.allFiles {
fd.imp = wrapImported(fd.FileDescriptorProto, g)
}
- g.genFiles = make([]*FileDescriptor, len(g.Request.FileToGenerate))
- for i, fileName := range g.Request.FileToGenerate {
- g.genFiles[i] = g.allFilesByName[fileName]
- if g.genFiles[i] == nil {
+ g.genFiles = make([]*FileDescriptor, 0, len(g.Request.FileToGenerate))
+ for _, fileName := range g.Request.FileToGenerate {
+ fd := g.allFilesByName[fileName]
+ if fd == nil {
g.Fail("could not find file named", fileName)
}
- g.genFiles[i].index = i
+ fd.index = len(g.genFiles)
+ g.genFiles = append(g.genFiles, fd)
}
- g.Response.File = make([]*plugin.CodeGeneratorResponse_File, len(g.genFiles))
}
// Scan the descriptors in this file. For each one, build the slice of nested descriptors
@@ -900,9 +900,8 @@
}
}
- d.ext = make([]*ExtensionDescriptor, len(desc.Extension))
- for i, field := range desc.Extension {
- d.ext[i] = &ExtensionDescriptor{common{file}, field, d}
+ for _, field := range desc.Extension {
+ d.ext = append(d.ext, &ExtensionDescriptor{common{file}, field, d})
}
return d
@@ -961,9 +960,9 @@
// Return a slice of all the top-level ExtensionDescriptors defined within this file.
func wrapExtensions(file *descriptor.FileDescriptorProto) []*ExtensionDescriptor {
- sl := make([]*ExtensionDescriptor, len(file.Extension))
- for i, field := range file.Extension {
- sl[i] = &ExtensionDescriptor{common{file}, field, nil}
+ var sl []*ExtensionDescriptor
+ for _, field := range file.Extension {
+ sl = append(sl, &ExtensionDescriptor{common{file}, field, nil})
}
return sl
}
@@ -1132,7 +1131,6 @@
for _, file := range g.genFiles {
genFileMap[file] = true
}
- i := 0
for _, file := range g.allFiles {
g.Reset()
g.writeOutput = genFileMap[file]
@@ -1140,10 +1138,10 @@
if !g.writeOutput {
continue
}
- g.Response.File[i] = new(plugin.CodeGeneratorResponse_File)
- g.Response.File[i].Name = proto.String(file.goFileName())
- g.Response.File[i].Content = proto.String(g.String())
- i++
+ g.Response.File = append(g.Response.File, &plugin.CodeGeneratorResponse_File{
+ Name: proto.String(file.goFileName()),
+ Content: proto.String(g.String()),
+ })
}
}