diff --git a/third_party/2/google/protobuf/internal/containers.pyi b/third_party/2/google/protobuf/internal/containers.pyi index 46222e28a..c78fadf55 100644 --- a/third_party/2/google/protobuf/internal/containers.pyi +++ b/third_party/2/google/protobuf/internal/containers.pyi @@ -1,12 +1,14 @@ from google.protobuf.descriptor import Descriptor from google.protobuf.internal.message_listener import MessageListener from google.protobuf.message import Message -from typing import Sequence, TypeVar, Generic, Any, Iterator, Iterable, Union, Optional, Callable +from typing import ( + MutableSequence, Sequence, TypeVar, Generic, Any, Iterator, Iterable, + Union, Optional, Callable +) _T = TypeVar('_T') -class BaseContainer(Generic[_T]): +class BaseContainer(Generic[_T], MutableSequence[_T]): def __init__(self, message_listener: MessageListener) -> None: ... - def __getitem__(self, key: int) -> _T: ... def __len__(self) -> int: ... def __ne__(self, other: object) -> bool: ... def __hash__(self) -> int: ... @@ -15,25 +17,12 @@ class BaseContainer(Generic[_T]): class RepeatedScalarFieldContainer(Generic[_T], BaseContainer[_T]): def __init__(self, message_listener: MessageListener, message_descriptor: Descriptor) -> None: ... - def append(self, value: _T) -> None: ... - def insert(self, key: int, value: _T) -> None: ... - def extend(self, elem_seq: Sequence[_T]) -> None: ... def MergeFrom(self, other: RepeatedScalarFieldContainer[_T]) -> None: ... - def remove(self, elem: _T) -> None: ... - def pop(self, key: int = ...) -> _T: ... - def __iter__(self) -> Iterator[_T]: ... - def __delitem__(self, key: Union[int, slice]) -> None: ... - def __setitem__(self, key: int, value: _T) -> None: ... class RepeatedCompositeFieldContainer(Generic[_T], BaseContainer[_T]): def __init__(self, message_listener: MessageListener, type_checker: Any) -> None: ... def add(self, **kwargs: Any) -> _T: ... - def extend(self, elem_seq: Sequence[_T]) -> None: ... def MergeFrom(self, other: RepeatedCompositeFieldContainer[_T]) -> None: ... - def remove(self, elem: _T) -> None: ... - def pop(self, key: int = ...) -> _T: ... - def __iter__(self) -> Iterator[_T]: ... - def __delitem__(self, key: Union[int, slice]) -> None: ... # Classes not yet typed class Mapping(Any):