1// Copyright 2018 The Go Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5// Code generated by generate-types. DO NOT EDIT. 6 7package impl 8 9import ( 10 "google.golang.org/protobuf/reflect/protoreflect" 11 "google.golang.org/protobuf/runtime/protoiface" 12) 13 14func (m *messageState) Descriptor() protoreflect.MessageDescriptor { 15 return m.messageInfo().Desc 16} 17func (m *messageState) Type() protoreflect.MessageType { 18 return m.messageInfo() 19} 20func (m *messageState) New() protoreflect.Message { 21 return m.messageInfo().New() 22} 23func (m *messageState) Interface() protoreflect.ProtoMessage { 24 return m.protoUnwrap().(protoreflect.ProtoMessage) 25} 26func (m *messageState) protoUnwrap() interface{} { 27 return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem()) 28} 29func (m *messageState) ProtoMethods() *protoiface.Methods { 30 m.messageInfo().init() 31 return &m.messageInfo().methods 32} 33 34// ProtoMessageInfo is a pseudo-internal API for allowing the v1 code 35// to be able to retrieve a v2 MessageInfo struct. 36// 37// WARNING: This method is exempt from the compatibility promise and 38// may be removed in the future without warning. 39func (m *messageState) ProtoMessageInfo() *MessageInfo { 40 return m.messageInfo() 41} 42 43func (m *messageState) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { 44 m.messageInfo().init() 45 for _, ri := range m.messageInfo().rangeInfos { 46 switch ri := ri.(type) { 47 case *fieldInfo: 48 if ri.has(m.pointer()) { 49 if !f(ri.fieldDesc, ri.get(m.pointer())) { 50 return 51 } 52 } 53 case *oneofInfo: 54 if n := ri.which(m.pointer()); n > 0 { 55 fi := m.messageInfo().fields[n] 56 if !f(fi.fieldDesc, fi.get(m.pointer())) { 57 return 58 } 59 } 60 } 61 } 62 m.messageInfo().extensionMap(m.pointer()).Range(f) 63} 64func (m *messageState) Has(fd protoreflect.FieldDescriptor) bool { 65 m.messageInfo().init() 66 if fi, xt := m.messageInfo().checkField(fd); fi != nil { 67 return fi.has(m.pointer()) 68 } else { 69 return m.messageInfo().extensionMap(m.pointer()).Has(xt) 70 } 71} 72func (m *messageState) Clear(fd protoreflect.FieldDescriptor) { 73 m.messageInfo().init() 74 if fi, xt := m.messageInfo().checkField(fd); fi != nil { 75 fi.clear(m.pointer()) 76 } else { 77 m.messageInfo().extensionMap(m.pointer()).Clear(xt) 78 } 79} 80func (m *messageState) Get(fd protoreflect.FieldDescriptor) protoreflect.Value { 81 m.messageInfo().init() 82 if fi, xt := m.messageInfo().checkField(fd); fi != nil { 83 return fi.get(m.pointer()) 84 } else { 85 return m.messageInfo().extensionMap(m.pointer()).Get(xt) 86 } 87} 88func (m *messageState) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) { 89 m.messageInfo().init() 90 if fi, xt := m.messageInfo().checkField(fd); fi != nil { 91 fi.set(m.pointer(), v) 92 } else { 93 m.messageInfo().extensionMap(m.pointer()).Set(xt, v) 94 } 95} 96func (m *messageState) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { 97 m.messageInfo().init() 98 if fi, xt := m.messageInfo().checkField(fd); fi != nil { 99 return fi.mutable(m.pointer()) 100 } else { 101 return m.messageInfo().extensionMap(m.pointer()).Mutable(xt) 102 } 103} 104func (m *messageState) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { 105 m.messageInfo().init() 106 if fi, xt := m.messageInfo().checkField(fd); fi != nil { 107 return fi.newField() 108 } else { 109 return xt.New() 110 } 111} 112func (m *messageState) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { 113 m.messageInfo().init() 114 if oi := m.messageInfo().oneofs[od.Name()]; oi != nil && oi.oneofDesc == od { 115 return od.Fields().ByNumber(oi.which(m.pointer())) 116 } 117 panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName())) 118} 119func (m *messageState) GetUnknown() protoreflect.RawFields { 120 m.messageInfo().init() 121 return m.messageInfo().getUnknown(m.pointer()) 122} 123func (m *messageState) SetUnknown(b protoreflect.RawFields) { 124 m.messageInfo().init() 125 m.messageInfo().setUnknown(m.pointer(), b) 126} 127func (m *messageState) IsValid() bool { 128 return !m.pointer().IsNil() 129} 130 131func (m *messageReflectWrapper) Descriptor() protoreflect.MessageDescriptor { 132 return m.messageInfo().Desc 133} 134func (m *messageReflectWrapper) Type() protoreflect.MessageType { 135 return m.messageInfo() 136} 137func (m *messageReflectWrapper) New() protoreflect.Message { 138 return m.messageInfo().New() 139} 140func (m *messageReflectWrapper) Interface() protoreflect.ProtoMessage { 141 if m, ok := m.protoUnwrap().(protoreflect.ProtoMessage); ok { 142 return m 143 } 144 return (*messageIfaceWrapper)(m) 145} 146func (m *messageReflectWrapper) protoUnwrap() interface{} { 147 return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem()) 148} 149func (m *messageReflectWrapper) ProtoMethods() *protoiface.Methods { 150 m.messageInfo().init() 151 return &m.messageInfo().methods 152} 153 154// ProtoMessageInfo is a pseudo-internal API for allowing the v1 code 155// to be able to retrieve a v2 MessageInfo struct. 156// 157// WARNING: This method is exempt from the compatibility promise and 158// may be removed in the future without warning. 159func (m *messageReflectWrapper) ProtoMessageInfo() *MessageInfo { 160 return m.messageInfo() 161} 162 163func (m *messageReflectWrapper) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { 164 m.messageInfo().init() 165 for _, ri := range m.messageInfo().rangeInfos { 166 switch ri := ri.(type) { 167 case *fieldInfo: 168 if ri.has(m.pointer()) { 169 if !f(ri.fieldDesc, ri.get(m.pointer())) { 170 return 171 } 172 } 173 case *oneofInfo: 174 if n := ri.which(m.pointer()); n > 0 { 175 fi := m.messageInfo().fields[n] 176 if !f(fi.fieldDesc, fi.get(m.pointer())) { 177 return 178 } 179 } 180 } 181 } 182 m.messageInfo().extensionMap(m.pointer()).Range(f) 183} 184func (m *messageReflectWrapper) Has(fd protoreflect.FieldDescriptor) bool { 185 m.messageInfo().init() 186 if fi, xt := m.messageInfo().checkField(fd); fi != nil { 187 return fi.has(m.pointer()) 188 } else { 189 return m.messageInfo().extensionMap(m.pointer()).Has(xt) 190 } 191} 192func (m *messageReflectWrapper) Clear(fd protoreflect.FieldDescriptor) { 193 m.messageInfo().init() 194 if fi, xt := m.messageInfo().checkField(fd); fi != nil { 195 fi.clear(m.pointer()) 196 } else { 197 m.messageInfo().extensionMap(m.pointer()).Clear(xt) 198 } 199} 200func (m *messageReflectWrapper) Get(fd protoreflect.FieldDescriptor) protoreflect.Value { 201 m.messageInfo().init() 202 if fi, xt := m.messageInfo().checkField(fd); fi != nil { 203 return fi.get(m.pointer()) 204 } else { 205 return m.messageInfo().extensionMap(m.pointer()).Get(xt) 206 } 207} 208func (m *messageReflectWrapper) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) { 209 m.messageInfo().init() 210 if fi, xt := m.messageInfo().checkField(fd); fi != nil { 211 fi.set(m.pointer(), v) 212 } else { 213 m.messageInfo().extensionMap(m.pointer()).Set(xt, v) 214 } 215} 216func (m *messageReflectWrapper) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { 217 m.messageInfo().init() 218 if fi, xt := m.messageInfo().checkField(fd); fi != nil { 219 return fi.mutable(m.pointer()) 220 } else { 221 return m.messageInfo().extensionMap(m.pointer()).Mutable(xt) 222 } 223} 224func (m *messageReflectWrapper) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { 225 m.messageInfo().init() 226 if fi, xt := m.messageInfo().checkField(fd); fi != nil { 227 return fi.newField() 228 } else { 229 return xt.New() 230 } 231} 232func (m *messageReflectWrapper) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { 233 m.messageInfo().init() 234 if oi := m.messageInfo().oneofs[od.Name()]; oi != nil && oi.oneofDesc == od { 235 return od.Fields().ByNumber(oi.which(m.pointer())) 236 } 237 panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName())) 238} 239func (m *messageReflectWrapper) GetUnknown() protoreflect.RawFields { 240 m.messageInfo().init() 241 return m.messageInfo().getUnknown(m.pointer()) 242} 243func (m *messageReflectWrapper) SetUnknown(b protoreflect.RawFields) { 244 m.messageInfo().init() 245 m.messageInfo().setUnknown(m.pointer(), b) 246} 247func (m *messageReflectWrapper) IsValid() bool { 248 return !m.pointer().IsNil() 249} 250