github.com/v2fly/v2ray-core/v5@v5.16.2-0.20240507031116-8191faa6e095/infra/conf/v2jsonpb/followerany.go (about) 1 package v2jsonpb 2 3 import "google.golang.org/protobuf/reflect/protoreflect" 4 5 type V2JsonProtobufAnyTypeDescriptor struct { 6 protoreflect.MessageDescriptor 7 } 8 9 func (v V2JsonProtobufAnyTypeDescriptor) FullName() protoreflect.FullName { 10 return "org.v2fly.SynAny" 11 } 12 13 func (v V2JsonProtobufAnyTypeDescriptor) Fields() protoreflect.FieldDescriptors { 14 return V2JsonProtobufAnyTypeFields{v.MessageDescriptor.Fields()} 15 } 16 17 type V2JsonProtobufAnyTypeFields struct { 18 protoreflect.FieldDescriptors 19 } 20 21 func (v V2JsonProtobufAnyTypeFields) Len() int { 22 panic("implement me") 23 } 24 25 func (v V2JsonProtobufAnyTypeFields) Get(i int) protoreflect.FieldDescriptor { 26 panic("implement me") 27 } 28 29 func (v V2JsonProtobufAnyTypeFields) ByName(s protoreflect.Name) protoreflect.FieldDescriptor { 30 panic("implement me") 31 } 32 33 func (v V2JsonProtobufAnyTypeFields) ByJSONName(s string) protoreflect.FieldDescriptor { 34 switch s { 35 case "type": 36 return &V2JsonProtobufFollowerFieldDescriptor{v.FieldDescriptors.ByName("type_url")} 37 default: 38 return &V2JsonProtobufAnyValueField{v.FieldDescriptors.ByName("value"), "value"} 39 } 40 } 41 42 func (v V2JsonProtobufAnyTypeFields) ByTextName(s string) protoreflect.FieldDescriptor { 43 panic("implement me") 44 } 45 46 func (v V2JsonProtobufAnyTypeFields) ByNumber(n protoreflect.FieldNumber) protoreflect.FieldDescriptor { 47 panic("implement me") 48 } 49 50 type V2JsonProtobufAnyTypeFieldDescriptor struct { 51 protoreflect.FieldDescriptor 52 } 53 54 func (v V2JsonProtobufAnyTypeFieldDescriptor) JSONName() string { 55 return "type" 56 } 57 58 func (v V2JsonProtobufAnyTypeFieldDescriptor) TextName() string { 59 return "type" 60 } 61 62 type V2JsonProtobufAnyValueField struct { 63 protoreflect.FieldDescriptor 64 name string 65 } 66 67 func (v *V2JsonProtobufAnyValueField) Kind() protoreflect.Kind { 68 return protoreflect.MessageKind 69 } 70 71 func (v *V2JsonProtobufAnyValueField) JSONName() string { 72 return v.name 73 } 74 75 func (v *V2JsonProtobufAnyValueField) TextName() string { 76 return v.name 77 } 78 79 type V2JsonProtobufAnyValueFieldReturn struct { 80 protoreflect.Message 81 } 82 83 func (v *V2JsonProtobufAnyValueFieldReturn) ProtoReflect() protoreflect.Message { 84 if bufFollow, ok := v.Message.(*V2JsonProtobufFollower); ok { 85 return bufFollow.Message 86 } 87 return v.Message 88 }