github.com/cosmos/cosmos-sdk@v0.50.10/server/grpc/gogoreflection/fix_registration.go (about) 1 package gogoreflection 2 3 import ( 4 "reflect" 5 6 _ "github.com/cosmos/gogoproto/gogoproto" // required so it does register the gogoproto file descriptor 7 gogoproto "github.com/cosmos/gogoproto/proto" 8 9 _ "github.com/cosmos/cosmos-proto" // look above 10 "github.com/golang/protobuf/proto" //nolint:staticcheck // migrate in a future pr 11 ) 12 13 func getFileDescriptor(filePath string) []byte { 14 // Since we got well known descriptors which are not registered into gogoproto 15 // registry but are instead registered into the proto one, we need to check both. 16 fd := gogoproto.FileDescriptor(filePath) 17 if len(fd) != 0 { 18 return fd 19 } 20 21 return proto.FileDescriptor(filePath) //nolint:staticcheck // keep for backward compatibility 22 } 23 24 func getMessageType(name string) reflect.Type { 25 typ := gogoproto.MessageType(name) 26 if typ != nil { 27 return typ 28 } 29 30 return proto.MessageType(name) //nolint:staticcheck // keep for backward compatibility 31 } 32 33 func getExtension(extID int32, m proto.Message) *gogoproto.ExtensionDesc { 34 // check first in gogoproto registry 35 for id, desc := range gogoproto.RegisteredExtensions(m) { 36 if id == extID { 37 return desc 38 } 39 } 40 41 // check into proto registry 42 for id, desc := range proto.RegisteredExtensions(m) { //nolint:staticcheck // keep for backward compatibility 43 if id == extID { 44 return &gogoproto.ExtensionDesc{ 45 ExtendedType: desc.ExtendedType, //nolint:staticcheck // keep for backward compatibility 46 ExtensionType: desc.ExtensionType, //nolint:staticcheck // keep for backward compatibility 47 Field: desc.Field, //nolint:staticcheck // keep for backward compatibility 48 Name: desc.Name, //nolint:staticcheck // keep for backward compatibility 49 Tag: desc.Tag, //nolint:staticcheck // keep for backward compatibility 50 Filename: desc.Filename, //nolint:staticcheck // keep for backward compatibility 51 } 52 } 53 } 54 55 return nil 56 } 57 58 func getExtensionsNumbers(m proto.Message) []int32 { 59 gogoProtoExts := gogoproto.RegisteredExtensions(m) 60 61 out := make([]int32, 0, len(gogoProtoExts)) 62 for id := range gogoProtoExts { 63 out = append(out, id) 64 } 65 if len(out) != 0 { 66 return out 67 } 68 69 protoExts := proto.RegisteredExtensions(m) //nolint:staticcheck // kept for backwards compatibility 70 out = make([]int32, 0, len(protoExts)) 71 for id := range protoExts { 72 out = append(out, id) 73 } 74 75 return out 76 }