fix abcmeta.ABCMeta type (#5688)

Add __abstractmethods__, __instancecheck__ and __subclasscheck__

Co-authored-by: Akuli <akuviljanen17@gmail.com>
This commit is contained in:
Thomas Grainger
2021-06-24 14:56:09 +01:00
committed by GitHub
parent f58c9c7e7d
commit 2cd7e6511b
2 changed files with 11 additions and 5 deletions

View File

@@ -1,10 +1,16 @@
from typing import Any, Callable, Type, TypeVar
from _typeshed import SupportsWrite
from typing import Any, Callable, Dict, Tuple, Type, TypeVar
_T = TypeVar("_T")
_FuncT = TypeVar("_FuncT", bound=Callable[..., Any])
# These definitions have special processing in mypy
class ABCMeta(type):
__abstractmethods__: frozenset[str]
def __init__(self, name: str, bases: Tuple[type, ...], namespace: Dict[str, Any]) -> None: ...
def __instancecheck__(cls: ABCMeta, instance: Any) -> Any: ...
def __subclasscheck__(cls: ABCMeta, subclass: Any) -> Any: ...
def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = ...) -> None: ...
def register(cls: ABCMeta, subclass: Type[_T]) -> Type[_T]: ...
def abstractmethod(funcobj: _FuncT) -> _FuncT: ...