https://github.com/protocolbuffers/protobuf-go
diff --git a/compiler/protogen/protogen.go b/compiler/protogen/protogen.go
index 431e880..5e6b263 100644
--- a/compiler/protogen/protogen.go
+++ b/compiler/protogen/protogen.go
@@ -550,11 +550,14 @@ func newEnumValue(gen *Plugin, f *File, message *Message, enum *Enum, desc proto
// An enum value contained in a message is: MessageName_ValueName
//
// For historical reasons, enum value names are not camel-cased.
- parentIdent := enum.GoIdent
+ var parentIdent *GoIdent
if message != nil {
- parentIdent = message.GoIdent
+ parentIdent = &message.GoIdent
+ }
+ name := string(desc.Name())
+ if parentIdent != nil {
+ name = parentIdent.GoName + "_" + name
}
- name := parentIdent.GoName + "_" + string(desc.Name())
loc := enum.Location.appendPath(genid.EnumDescriptorProto_Value_field_number, desc.Index())
return &EnumValue{
Desc: desc,