walkEnums recursively walks all enums declared in d.
(d interface {
Enums() protoreflect.EnumDescriptors
Messages() protoreflect.MessageDescriptors
}, f func(protoreflect.EnumDescriptor))
| 154 | |
| 155 | // walkEnums recursively walks all enums declared in d. |
| 156 | func walkEnums(d interface { |
| 157 | Enums() protoreflect.EnumDescriptors |
| 158 | Messages() protoreflect.MessageDescriptors |
| 159 | }, f func(protoreflect.EnumDescriptor)) { |
| 160 | eds := d.Enums() |
| 161 | for i := eds.Len() - 1; i >= 0; i-- { |
| 162 | f(eds.Get(i)) |
| 163 | } |
| 164 | mds := d.Messages() |
| 165 | for i := mds.Len() - 1; i >= 0; i-- { |
| 166 | walkEnums(mds.Get(i), f) |
| 167 | } |
| 168 | } |
| 169 | |
| 170 | // messageName is the full name of protobuf message. |
| 171 | type messageName = string |