Beispiel #1
0
def _get_field_descriptor(descriptor_type: descriptor.Descriptor,
                          field_name: str):
    if path.is_extension(field_name):
        return descriptor_type.file.pool.FindExtensionByName(
            path.get_raw_extension_name(field_name))
    else:
        return descriptor_type.fields_by_name[field_name]
Beispiel #2
0
def _get_field_descriptor(desc, field_name):
    if path.is_extension(field_name):
        try:
            return desc.file.pool.FindExtensionByName(
                path.get_raw_extension_name(field_name))
        except KeyError:
            return None
    return desc.fields_by_name.get(field_name)
Beispiel #3
0
def _get_field_descriptor(
        desc: descriptor.Descriptor,
        field_name: ProtoFieldName) -> Optional[descriptor.FieldDescriptor]:
    if path.is_extension(field_name):
        try:
            return desc.file.pool.FindExtensionByName(
                path.get_raw_extension_name(field_name))
        except KeyError:
            return None
    return desc.fields_by_name.get(field_name)
Beispiel #4
0
def _get_initial_file_descriptor_set(descriptor_type, field_names):  # pylint:disable=g-ambiguous-str-annotation
    """Gets a set of file descriptors for a descriptor and extensions."""
    result = set()
    result.add(descriptor_type.file)
    for field_name in field_names:
        if path.is_extension(field_name):
            extension_field = descriptor_type.file.pool.FindExtensionByName(
                path.get_raw_extension_name(field_name))
            extension_file = extension_field.file
            if extension_file not in result:
                result.add(extension_file)
    return result
def _get_initial_file_descriptor_set(
        descriptor_type: descriptor.Descriptor,
        field_names: Sequence[str]) -> Set[descriptor.FileDescriptor]:
    """Gets a set of file descriptors for a descriptor and extensions."""
    result = set()
    result.add(descriptor_type.file)
    for field_name in field_names:
        if path.is_extension(field_name):
            extension_field = descriptor_type.file.pool.FindExtensionByName(
                path.get_raw_extension_name(field_name))
            extension_file = extension_field.file
            if extension_file not in result:
                result.add(extension_file)
    return result