mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-16 00:37:10 +08:00
Update type var typing on protobuf message.pyi (#3996)
Add support for message type var generics
This commit is contained in:
13
third_party/2and3/google/protobuf/message.pyi
vendored
13
third_party/2and3/google/protobuf/message.pyi
vendored
@@ -2,7 +2,7 @@ import sys
|
||||
|
||||
from typing import Any, Sequence, Optional, Tuple, Type, TypeVar, Union
|
||||
|
||||
from .descriptor import DescriptorBase, FieldDescriptor
|
||||
from .descriptor import Descriptor, DescriptorBase, FieldDescriptor
|
||||
|
||||
class Error(Exception): ...
|
||||
class DecodeError(Error): ...
|
||||
@@ -12,7 +12,7 @@ class _ExtensionDict:
|
||||
def __getitem__(self, extension_handle: DescriptorBase) -> Any: ...
|
||||
def __setitem__(self, extension_handle: DescriptorBase, value: Any) -> None: ...
|
||||
|
||||
_T = TypeVar("_T")
|
||||
_M = TypeVar("_M", bound=Message) # message type (of self)
|
||||
|
||||
if sys.version_info < (3,):
|
||||
_Serialized = Union[bytes, buffer, unicode]
|
||||
@@ -20,12 +20,12 @@ else:
|
||||
_Serialized = bytes
|
||||
|
||||
class Message:
|
||||
DESCRIPTOR: Any
|
||||
DESCRIPTOR: Descriptor
|
||||
def __deepcopy__(self, memo=...): ...
|
||||
def __eq__(self, other_msg): ...
|
||||
def __ne__(self, other_msg): ...
|
||||
def MergeFrom(self, other_msg: Message) -> None: ...
|
||||
def CopyFrom(self, other_msg: Message) -> None: ...
|
||||
def MergeFrom(self: _M, other_msg: _M) -> None: ...
|
||||
def CopyFrom(self: _M, other_msg: _M) -> None: ...
|
||||
def Clear(self) -> None: ...
|
||||
def SetInParent(self) -> None: ...
|
||||
def IsInitialized(self) -> bool: ...
|
||||
@@ -38,9 +38,10 @@ class Message:
|
||||
def ClearExtension(self, extension_handle): ...
|
||||
def ByteSize(self) -> int: ...
|
||||
@classmethod
|
||||
def FromString(cls: Type[_T], s: _Serialized) -> _T: ...
|
||||
def FromString(cls: Type[_M], s: _Serialized) -> _M: ...
|
||||
@property
|
||||
def Extensions(self) -> _ExtensionDict: ...
|
||||
|
||||
# Intentionally left out typing on these three methods, because they are
|
||||
# stringly typed and it is not useful to call them on a Message directly.
|
||||
# We prefer more specific typing on individual subclasses of Message
|
||||
|
||||
Reference in New Issue
Block a user