| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- # More complete stub for typing module.
- #
- # Use [typing fixtures/typing-full.pyi] to use this instead of lib-stub/typing.pyi
- # in a particular test case.
- #
- # Many of the definitions have special handling in the type checker, so they
- # can just be initialized to anything.
- from abc import abstractmethod, ABCMeta
- class GenericMeta(type): pass
- cast = 0
- overload = 0
- Any = 0
- Union = 0
- Optional = 0
- TypeVar = 0
- Generic = 0
- Protocol = 0
- Tuple = 0
- Callable = 0
- _promote = 0
- NamedTuple = 0
- Type = 0
- no_type_check = 0
- ClassVar = 0
- Final = 0
- Literal = 0
- TypedDict = 0
- NoReturn = 0
- NewType = 0
- T = TypeVar('T')
- T_co = TypeVar('T_co', covariant=True)
- T_contra = TypeVar('T_contra', contravariant=True)
- U = TypeVar('U')
- V = TypeVar('V')
- S = TypeVar('S')
- # Note: definitions below are different from typeshed, variances are declared
- # to silence the protocol variance checks. Maybe it is better to use type: ignore?
- @runtime_checkable
- class Container(Protocol[T_co]):
- @abstractmethod
- # Use int because bool isn't in the default test builtins
- def __contains__(self, arg: object) -> int: pass
- @runtime_checkable
- class Sized(Protocol):
- @abstractmethod
- def __len__(self) -> int: pass
- @runtime_checkable
- class Iterable(Protocol[T_co]):
- @abstractmethod
- def __iter__(self) -> 'Iterator[T_co]': pass
- @runtime_checkable
- class Iterator(Iterable[T_co], Protocol):
- @abstractmethod
- def __next__(self) -> T_co: pass
- class Generator(Iterator[T], Generic[T, U, V]):
- @abstractmethod
- def send(self, value: U) -> T: pass
- @abstractmethod
- def throw(self, typ: Any, val: Any=None, tb: Any=None) -> None: pass
- @abstractmethod
- def close(self) -> None: pass
- @abstractmethod
- def __iter__(self) -> 'Generator[T, U, V]': pass
- class AsyncGenerator(AsyncIterator[T], Generic[T, U]):
- @abstractmethod
- def __anext__(self) -> Awaitable[T]: pass
- @abstractmethod
- def asend(self, value: U) -> Awaitable[T]: pass
- @abstractmethod
- def athrow(self, typ: Any, val: Any=None, tb: Any=None) -> Awaitable[T]: pass
- @abstractmethod
- def aclose(self) -> Awaitable[T]: pass
- @abstractmethod
- def __aiter__(self) -> 'AsyncGenerator[T, U]': pass
- @runtime_checkable
- class Awaitable(Protocol[T]):
- @abstractmethod
- def __await__(self) -> Generator[Any, Any, T]: pass
- class AwaitableGenerator(Generator[T, U, V], Awaitable[V], Generic[T, U, V, S], metaclass=ABCMeta):
- pass
- class Coroutine(Awaitable[V], Generic[T, U, V]):
- @abstractmethod
- def send(self, value: U) -> T: pass
- @abstractmethod
- def throw(self, typ: Any, val: Any=None, tb: Any=None) -> None: pass
- @abstractmethod
- def close(self) -> None: pass
- @runtime_checkable
- class AsyncIterable(Protocol[T]):
- @abstractmethod
- def __aiter__(self) -> 'AsyncIterator[T]': pass
- @runtime_checkable
- class AsyncIterator(AsyncIterable[T], Protocol):
- def __aiter__(self) -> 'AsyncIterator[T]': return self
- @abstractmethod
- def __anext__(self) -> Awaitable[T]: pass
- class Sequence(Iterable[T_co], Container[T_co]):
- @abstractmethod
- def __getitem__(self, n: Any) -> T_co: pass
- class Mapping(Iterable[T], Generic[T, T_co], metaclass=ABCMeta):
- def keys(self) -> Iterable[T]: pass # Approximate return type
- def __getitem__(self, key: T) -> T_co: pass
- @overload
- def get(self, k: T) -> Optional[T_co]: pass
- @overload
- def get(self, k: T, default: Union[T_co, V]) -> Union[T_co, V]: pass
- def values(self) -> Iterable[T_co]: pass # Approximate return type
- def items(self) -> Iterable[Tuple[T, T_co]]: pass # Approximate return type
- def __len__(self) -> int: ...
- def __contains__(self, arg: object) -> int: pass
- class MutableMapping(Mapping[T, U], metaclass=ABCMeta):
- def __setitem__(self, k: T, v: U) -> None: pass
- class SupportsInt(Protocol):
- def __int__(self) -> int: pass
- class SupportsFloat(Protocol):
- def __float__(self) -> float: pass
- def runtime_checkable(cls: T) -> T:
- return cls
- class ContextManager(Generic[T]):
- def __enter__(self) -> T: pass
- # Use Any because not all the precise types are in the fixtures.
- def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> Any: pass
- TYPE_CHECKING = 1
- # Fallback type for all typed dicts (does not exist at runtime).
- class _TypedDict(Mapping[str, object]):
- # Needed to make this class non-abstract. It is explicitly declared abstract in
- # typeshed, but we don't want to import abc here, as it would slow down the tests.
- def __iter__(self) -> Iterator[str]: ...
- def copy(self: T) -> T: ...
- # Using NoReturn so that only calls using the plugin hook can go through.
- def setdefault(self, k: NoReturn, default: object) -> object: ...
- # Mypy expects that 'default' has a type variable type.
- def pop(self, k: NoReturn, default: T = ...) -> object: ...
- def update(self: T, __m: T) -> None: ...
- def __delitem__(self, k: NoReturn) -> None: ...
|