func GetMap(file *descriptor.FileDescriptorProto, field *descriptor.FieldDescriptorProto) *descriptor.DescriptorProto { if !field.IsMessage() { return nil } typeName := strings.TrimPrefix(field.GetTypeName(), "."+file.GetPackage()+".") if strings.Contains(typeName, "Map") && !strings.HasSuffix(typeName, "Entry") { typeName += "." + CamelCase(field.GetName()) + "Entry" } return file.GetMessage(typeName) }