goprotobuf: Minor internal change to track internal message indexes.
R=adg
CC=golang-dev
https://codereview.appspot.com/7395047
diff --git a/protoc-gen-go/generator/generator.go b/protoc-gen-go/generator/generator.go
index ddefabe..e914453 100644
--- a/protoc-gen-go/generator/generator.go
+++ b/protoc-gen-go/generator/generator.go
@@ -103,7 +103,7 @@
nested []*Descriptor // Inner messages, if any.
ext []*ExtensionDescriptor // Extensions, if any.
typename []string // Cached typename vector.
- index int // If a top-level message, the index into message_type.
+ index int // The index into the container, whether the file or another message.
group bool
}
@@ -684,7 +684,12 @@
// Construct the Descriptor and add it to the slice
func addDescriptor(sl []*Descriptor, desc *descriptor.DescriptorProto, parent *Descriptor, file *descriptor.FileDescriptorProto, index int) []*Descriptor {
- d := &Descriptor{common{file}, desc, parent, nil, nil, nil, index, false}
+ d := &Descriptor{
+ common: common{file},
+ DescriptorProto: desc,
+ parent: parent,
+ index: index,
+ }
// The only way to distinguish a group from a message is whether
// the containing message has a TYPE_GROUP field that matches.
@@ -723,8 +728,8 @@
func wrapThisDescriptor(sl []*Descriptor, desc *descriptor.DescriptorProto, parent *Descriptor, file *descriptor.FileDescriptorProto, index int) []*Descriptor {
sl = addDescriptor(sl, desc, parent, file, index)
me := sl[len(sl)-1]
- for _, nested := range desc.NestedType {
- sl = wrapThisDescriptor(sl, nested, me, file, 0)
+ for i, nested := range desc.NestedType {
+ sl = wrapThisDescriptor(sl, nested, me, file, i)
}
return sl
}