blob: 741d6e5b6bd21389859a95b73e856910a59be0cc [file] [log] [blame]
khenaidood948f772021-08-11 17:49:24 -04001// 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}