| Index: third_party/protobuf/python/google/protobuf/descriptor.py
|
| diff --git a/third_party/protobuf/python/google/protobuf/descriptor.py b/third_party/protobuf/python/google/protobuf/descriptor.py
|
| index e1f2e3b7c9497bc33801450c562d4a150b691720..3209b34d57d8da1d45bc9e5a457241603b7d2610 100755
|
| --- a/third_party/protobuf/python/google/protobuf/descriptor.py
|
| +++ b/third_party/protobuf/python/google/protobuf/descriptor.py
|
| @@ -171,6 +171,13 @@ class _NestedDescriptorBase(DescriptorBase):
|
| self._serialized_start = serialized_start
|
| self._serialized_end = serialized_end
|
|
|
| + def GetTopLevelContainingType(self):
|
| + """Returns the root if this is a nested type, or itself if its the root."""
|
| + desc = self
|
| + while desc.containing_type is not None:
|
| + desc = desc.containing_type
|
| + return desc
|
| +
|
| def CopyToProto(self, proto):
|
| """Copies this to the matching proto in descriptor_pb2.
|
|
|
| @@ -251,7 +258,7 @@ class Descriptor(_NestedDescriptorBase):
|
| def __new__(cls, name, full_name, filename, containing_type, fields,
|
| nested_types, enum_types, extensions, options=None,
|
| is_extendable=True, extension_ranges=None, oneofs=None,
|
| - file=None, serialized_start=None, serialized_end=None, # pylint: disable=redefined-builtin
|
| + file=None, serialized_start=None, serialized_end=None,
|
| syntax=None):
|
| _message.Message._CheckCalledFromGeneratedFile()
|
| return _message.default_pool.FindMessageTypeByName(full_name)
|
| @@ -262,8 +269,8 @@ class Descriptor(_NestedDescriptorBase):
|
| def __init__(self, name, full_name, filename, containing_type, fields,
|
| nested_types, enum_types, extensions, options=None,
|
| is_extendable=True, extension_ranges=None, oneofs=None,
|
| - file=None, serialized_start=None, serialized_end=None, # pylint: disable=redefined-builtin
|
| - syntax=None):
|
| + file=None, serialized_start=None, serialized_end=None,
|
| + syntax=None): # pylint:disable=redefined-builtin
|
| """Arguments to __init__() are as described in the description
|
| of Descriptor fields above.
|
|
|
| @@ -342,7 +349,7 @@ class Descriptor(_NestedDescriptorBase):
|
| Args:
|
| proto: An empty descriptor_pb2.DescriptorProto.
|
| """
|
| - # This function is overridden to give a better doc comment.
|
| + # This function is overriden to give a better doc comment.
|
| super(Descriptor, self).CopyToProto(proto)
|
|
|
|
|
| @@ -490,7 +497,7 @@ class FieldDescriptor(DescriptorBase):
|
| def __new__(cls, name, full_name, index, number, type, cpp_type, label,
|
| default_value, message_type, enum_type, containing_type,
|
| is_extension, extension_scope, options=None,
|
| - has_default_value=True, containing_oneof=None, json_name=None):
|
| + has_default_value=True, containing_oneof=None):
|
| _message.Message._CheckCalledFromGeneratedFile()
|
| if is_extension:
|
| return _message.default_pool.FindExtensionByName(full_name)
|
| @@ -500,7 +507,7 @@ class FieldDescriptor(DescriptorBase):
|
| def __init__(self, name, full_name, index, number, type, cpp_type, label,
|
| default_value, message_type, enum_type, containing_type,
|
| is_extension, extension_scope, options=None,
|
| - has_default_value=True, containing_oneof=None, json_name=None):
|
| + has_default_value=True, containing_oneof=None):
|
| """The arguments are as described in the description of FieldDescriptor
|
| attributes above.
|
|
|
| @@ -512,10 +519,6 @@ class FieldDescriptor(DescriptorBase):
|
| self.name = name
|
| self.full_name = full_name
|
| self._camelcase_name = None
|
| - if json_name is None:
|
| - self.json_name = _ToJsonName(name)
|
| - else:
|
| - self.json_name = json_name
|
| self.index = index
|
| self.number = number
|
| self.type = type
|
| @@ -623,7 +626,7 @@ class EnumDescriptor(_NestedDescriptorBase):
|
| Args:
|
| proto: An empty descriptor_pb2.EnumDescriptorProto.
|
| """
|
| - # This function is overridden to give a better doc comment.
|
| + # This function is overriden to give a better doc comment.
|
| super(EnumDescriptor, self).CopyToProto(proto)
|
|
|
|
|
| @@ -662,7 +665,7 @@ class EnumValueDescriptor(DescriptorBase):
|
| self.type = type
|
|
|
|
|
| -class OneofDescriptor(DescriptorBase):
|
| +class OneofDescriptor(object):
|
| """Descriptor for a oneof field.
|
|
|
| name: (str) Name of the oneof field.
|
| @@ -679,15 +682,12 @@ class OneofDescriptor(DescriptorBase):
|
| if _USE_C_DESCRIPTORS:
|
| _C_DESCRIPTOR_CLASS = _message.OneofDescriptor
|
|
|
| - def __new__(
|
| - cls, name, full_name, index, containing_type, fields, options=None):
|
| + def __new__(cls, name, full_name, index, containing_type, fields):
|
| _message.Message._CheckCalledFromGeneratedFile()
|
| return _message.default_pool.FindOneofByName(full_name)
|
|
|
| - def __init__(
|
| - self, name, full_name, index, containing_type, fields, options=None):
|
| + def __init__(self, name, full_name, index, containing_type, fields):
|
| """Arguments are as described in the attribute description above."""
|
| - super(OneofDescriptor, self).__init__(options, 'OneofOptions')
|
| self.name = name
|
| self.full_name = full_name
|
| self.index = index
|
| @@ -705,22 +705,11 @@ class ServiceDescriptor(_NestedDescriptorBase):
|
| definition appears withing the .proto file.
|
| methods: (list of MethodDescriptor) List of methods provided by this
|
| service.
|
| - methods_by_name: (dict str -> MethodDescriptor) Same MethodDescriptor
|
| - objects as in |methods_by_name|, but indexed by "name" attribute in each
|
| - MethodDescriptor.
|
| options: (descriptor_pb2.ServiceOptions) Service options message or
|
| None to use default service options.
|
| file: (FileDescriptor) Reference to file info.
|
| """
|
|
|
| - if _USE_C_DESCRIPTORS:
|
| - _C_DESCRIPTOR_CLASS = _message.ServiceDescriptor
|
| -
|
| - def __new__(cls, name, full_name, index, methods, options=None, file=None, # pylint: disable=redefined-builtin
|
| - serialized_start=None, serialized_end=None):
|
| - _message.Message._CheckCalledFromGeneratedFile() # pylint: disable=protected-access
|
| - return _message.default_pool.FindServiceByName(full_name)
|
| -
|
| def __init__(self, name, full_name, index, methods, options=None, file=None,
|
| serialized_start=None, serialized_end=None):
|
| super(ServiceDescriptor, self).__init__(
|
| @@ -729,14 +718,16 @@ class ServiceDescriptor(_NestedDescriptorBase):
|
| serialized_end=serialized_end)
|
| self.index = index
|
| self.methods = methods
|
| - self.methods_by_name = dict((m.name, m) for m in methods)
|
| # Set the containing service for each method in this service.
|
| for method in self.methods:
|
| method.containing_service = self
|
|
|
| def FindMethodByName(self, name):
|
| """Searches for the specified method, and returns its descriptor."""
|
| - return self.methods_by_name.get(name, None)
|
| + for method in self.methods:
|
| + if name == method.name:
|
| + return method
|
| + return None
|
|
|
| def CopyToProto(self, proto):
|
| """Copies this to a descriptor_pb2.ServiceDescriptorProto.
|
| @@ -744,7 +735,7 @@ class ServiceDescriptor(_NestedDescriptorBase):
|
| Args:
|
| proto: An empty descriptor_pb2.ServiceDescriptorProto.
|
| """
|
| - # This function is overridden to give a better doc comment.
|
| + # This function is overriden to give a better doc comment.
|
| super(ServiceDescriptor, self).CopyToProto(proto)
|
|
|
|
|
| @@ -763,14 +754,6 @@ class MethodDescriptor(DescriptorBase):
|
| None to use default method options.
|
| """
|
|
|
| - if _USE_C_DESCRIPTORS:
|
| - _C_DESCRIPTOR_CLASS = _message.MethodDescriptor
|
| -
|
| - def __new__(cls, name, full_name, index, containing_service,
|
| - input_type, output_type, options=None):
|
| - _message.Message._CheckCalledFromGeneratedFile() # pylint: disable=protected-access
|
| - return _message.default_pool.FindMethodByName(full_name)
|
| -
|
| def __init__(self, name, full_name, index, containing_service,
|
| input_type, output_type, options=None):
|
| """The arguments are as described in the description of MethodDescriptor
|
| @@ -805,7 +788,6 @@ class FileDescriptor(DescriptorBase):
|
| message_types_by_name: Dict of message names of their descriptors.
|
| enum_types_by_name: Dict of enum names and their descriptors.
|
| extensions_by_name: Dict of extension names and their descriptors.
|
| - services_by_name: Dict of services names and their descriptors.
|
| pool: the DescriptorPool this descriptor belongs to. When not passed to the
|
| constructor, the global default pool is used.
|
| """
|
| @@ -843,7 +825,6 @@ class FileDescriptor(DescriptorBase):
|
|
|
| self.enum_types_by_name = {}
|
| self.extensions_by_name = {}
|
| - self.services_by_name = {}
|
| self.dependencies = (dependencies or [])
|
| self.public_dependencies = (public_dependencies or [])
|
|
|
| @@ -891,31 +872,6 @@ def _ToCamelCase(name):
|
| return ''.join(result)
|
|
|
|
|
| -def _OptionsOrNone(descriptor_proto):
|
| - """Returns the value of the field `options`, or None if it is not set."""
|
| - if descriptor_proto.HasField('options'):
|
| - return descriptor_proto.options
|
| - else:
|
| - return None
|
| -
|
| -
|
| -def _ToJsonName(name):
|
| - """Converts name to Json name and returns it."""
|
| - capitalize_next = False
|
| - result = []
|
| -
|
| - for c in name:
|
| - if c == '_':
|
| - capitalize_next = True
|
| - elif capitalize_next:
|
| - result.append(c.upper())
|
| - capitalize_next = False
|
| - else:
|
| - result += c
|
| -
|
| - return ''.join(result)
|
| -
|
| -
|
| def MakeDescriptor(desc_proto, package='', build_file_if_cpp=True,
|
| syntax=None):
|
| """Make a protobuf Descriptor given a DescriptorProto protobuf.
|
| @@ -992,10 +948,6 @@ def MakeDescriptor(desc_proto, package='', build_file_if_cpp=True,
|
| full_name = '.'.join(full_message_name + [field_proto.name])
|
| enum_desc = None
|
| nested_desc = None
|
| - if field_proto.json_name:
|
| - json_name = field_proto.json_name
|
| - else:
|
| - json_name = None
|
| if field_proto.HasField('type_name'):
|
| type_name = field_proto.type_name
|
| full_type_name = '.'.join(full_message_name +
|
| @@ -1010,11 +962,10 @@ def MakeDescriptor(desc_proto, package='', build_file_if_cpp=True,
|
| field_proto.number, field_proto.type,
|
| FieldDescriptor.ProtoTypeToCppProtoType(field_proto.type),
|
| field_proto.label, None, nested_desc, enum_desc, None, False, None,
|
| - options=_OptionsOrNone(field_proto), has_default_value=False,
|
| - json_name=json_name)
|
| + options=field_proto.options, has_default_value=False)
|
| fields.append(field)
|
|
|
| desc_name = '.'.join(full_message_name)
|
| return Descriptor(desc_proto.name, desc_name, None, None, fields,
|
| list(nested_types.values()), list(enum_types.values()), [],
|
| - options=_OptionsOrNone(desc_proto))
|
| + options=desc_proto.options)
|
|
|