Lines Matching defs:descriptor
39 #include <google/protobuf/descriptor.h>
42 #include <google/protobuf/descriptor.pb.h>
43 #include <google/protobuf/pyext/descriptor.h>
135 const FieldDescriptor* descriptor = cmessage::GetExtensionDescriptor(key);
136 if (descriptor == NULL) {
139 if (!CheckFieldBelongsToMessage(descriptor, self->parent->message)) {
143 if (descriptor->label() != FieldDescriptor::LABEL_REPEATED &&
144 descriptor->cpp_type() != FieldDescriptor::CPPTYPE_MESSAGE) {
145 return cmessage::InternalGetScalar(self->parent->message, descriptor);
149 self->parent->composite_fields->find(descriptor);
155 if (descriptor->label() != FieldDescriptor::LABEL_REPEATED &&
156 descriptor->cpp_type() == FieldDescriptor::CPPTYPE_MESSAGE) {
159 self->parent, descriptor);
163 (*self->parent->composite_fields)[descriptor] = sub_message;
167 if (descriptor->label() == FieldDescriptor::LABEL_REPEATED) {
168 if (descriptor->cpp_type() == FieldDescriptor::CPPTYPE_MESSAGE) {
174 // the field descriptor.
181 descriptor->message_type());
188 self->parent, descriptor, message_class);
192 (*self->parent->composite_fields)[descriptor] = py_container;
196 self->parent, descriptor);
200 (*self->parent->composite_fields)[descriptor] = py_container;
209 const FieldDescriptor* descriptor = cmessage::GetExtensionDescriptor(key);
210 if (descriptor == NULL) {
213 if (!CheckFieldBelongsToMessage(descriptor, self->parent->message)) {
218 return cmessage::ClearFieldByDescriptor(self->parent, descriptor);
221 if (descriptor->label() != FieldDescriptor::LABEL_OPTIONAL ||
222 descriptor->cpp_type() == FieldDescriptor::CPPTYPE_MESSAGE) {
228 if (cmessage::InternalSetScalar(self->parent, descriptor, value) < 0) {