diff --git a/third_party/2and3/google/protobuf/message.pyi b/third_party/2and3/google/protobuf/message.pyi index c00c878fb..2265e0356 100644 --- a/third_party/2and3/google/protobuf/message.pyi +++ b/third_party/2and3/google/protobuf/message.pyi @@ -1,4 +1,6 @@ -from typing import Any, Sequence, Optional, Tuple, Type, TypeVar +import sys + +from typing import Any, Sequence, Optional, Tuple, Type, TypeVar, Union from .descriptor import ( DescriptorBase, @@ -15,6 +17,11 @@ class _ExtensionDict: _T = TypeVar("_T") +if sys.version_info < (3,): + _Serialized = Union[bytes, buffer, unicode] +else: + _Serialized = bytes + class Message: DESCRIPTOR: Any def __deepcopy__(self, memo=...): ... @@ -25,8 +32,8 @@ class Message: def Clear(self) -> None: ... def SetInParent(self) -> None: ... def IsInitialized(self) -> bool: ... - def MergeFromString(self, serialized: Any) -> int: ... # TODO: we need to be able to call buffer() on serialized - def ParseFromString(self, serialized: Any) -> None: ... + def MergeFromString(self, serialized: _Serialized) -> int: ... + def ParseFromString(self, serialized: _Serialized) -> None: ... def SerializeToString(self, deterministic: bool = ...) -> bytes: ... def SerializePartialToString(self, deterministic: bool = ...) -> bytes: ... def ListFields(self) -> Sequence[Tuple[FieldDescriptor, Any]]: ...