massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / coc-python-data / languageServer.0.5.59 / Typeshed / stdlib / 2and3 / weakref.pyi
1 import sys\r
2 import types\r
3 from typing import (\r
4     TypeVar, Generic, Any, Callable, overload, Mapping, Iterator, Tuple,\r
5     Iterable, Optional, Type, MutableMapping, Union, List, Dict\r
6 )\r
7 \r
8 from _weakref import (\r
9     getweakrefcount as getweakrefcount,\r
10     getweakrefs as getweakrefs,\r
11     ref as ref,\r
12     proxy as proxy,\r
13     CallableProxyType as CallableProxyType,\r
14     ProxyType as ProxyType,\r
15     ReferenceType as ReferenceType)\r
16 from _weakrefset import WeakSet as WeakSet\r
17 \r
18 if sys.version_info < (3, 0):\r
19     from exceptions import ReferenceError as ReferenceError\r
20 \r
21 _S = TypeVar('_S')\r
22 _T = TypeVar('_T')\r
23 _KT = TypeVar('_KT')\r
24 _VT = TypeVar('_VT')\r
25 \r
26 ProxyTypes: Tuple[Type[Any], ...]\r
27 \r
28 if sys.version_info >= (3, 4):\r
29     class WeakMethod(ref[types.MethodType]):\r
30         def __new__(cls, meth: types.MethodType, callback: Optional[Callable[[types.MethodType], Any]] = ...) -> WeakMethod: ...\r
31         def __call__(self) -> Optional[types.MethodType]: ...\r
32 \r
33 class WeakValueDictionary(MutableMapping[_KT, _VT]):\r
34     @overload\r
35     def __init__(self) -> None: ...\r
36     @overload\r
37     def __init__(self, __map: Union[Mapping[_KT, _VT], Iterable[Tuple[_KT, _VT]]], **kwargs: _VT) -> None: ...\r
38 \r
39     def __len__(self) -> int: ...\r
40     def __getitem__(self, k: _KT) -> _VT: ...\r
41     def __setitem__(self, k: _KT, v: _VT) -> None: ...\r
42     def __delitem__(self, v: _KT) -> None: ...\r
43     if sys.version_info < (3, 0):\r
44         def has_key(self, key: object) -> bool: ...\r
45     def __contains__(self, o: object) -> bool: ...\r
46     def __iter__(self) -> Iterator[_KT]: ...\r
47     def __str__(self) -> str: ...\r
48 \r
49     def copy(self) -> WeakValueDictionary[_KT, _VT]: ...\r
50 \r
51     if sys.version_info < (3, 0):\r
52         def keys(self) -> List[_KT]: ...\r
53         def values(self) -> List[_VT]: ...\r
54         def items(self) -> List[Tuple[_KT, _VT]]: ...\r
55         def iterkeys(self) -> Iterator[_KT]: ...\r
56         def itervalues(self) -> Iterator[_VT]: ...\r
57         def iteritems(self) -> Iterator[Tuple[_KT, _VT]]: ...\r
58     else:\r
59         # These are incompatible with Mapping\r
60         def keys(self) -> Iterator[_KT]: ...  # type: ignore\r
61         def values(self) -> Iterator[_VT]: ...  # type: ignore\r
62         def items(self) -> Iterator[Tuple[_KT, _VT]]: ...  # type: ignore\r
63     def itervaluerefs(self) -> Iterator[KeyedRef[_KT, _VT]]: ...\r
64     def valuerefs(self) -> List[KeyedRef[_KT, _VT]]: ...\r
65 \r
66 class KeyedRef(ref[_T], Generic[_KT, _T]):\r
67     key: _KT\r
68     def __init__(self, ob: _T, callback: Callable[[_T], Any], key: _KT) -> None: ...\r
69 \r
70 class WeakKeyDictionary(MutableMapping[_KT, _VT]):\r
71     @overload\r
72     def __init__(self) -> None: ...\r
73     @overload\r
74     def __init__(self, __map: Union[Mapping[_KT, _VT], Iterable[Tuple[_KT, _VT]]], **kwargs: _VT) -> None: ...\r
75 \r
76     def __len__(self) -> int: ...\r
77     def __getitem__(self, k: _KT) -> _VT: ...\r
78     def __setitem__(self, k: _KT, v: _VT) -> None: ...\r
79     def __delitem__(self, v: _KT) -> None: ...\r
80     if sys.version_info < (3, 0):\r
81         def has_key(self, key: object) -> bool: ...\r
82     def __contains__(self, o: object) -> bool: ...\r
83     def __iter__(self) -> Iterator[_KT]: ...\r
84     def __str__(self) -> str: ...\r
85 \r
86     def copy(self) -> WeakKeyDictionary[_KT, _VT]: ...\r
87 \r
88     if sys.version_info < (3, 0):\r
89         def keys(self) -> List[_KT]: ...\r
90         def values(self) -> List[_VT]: ...\r
91         def items(self) -> List[Tuple[_KT, _VT]]: ...\r
92         def iterkeys(self) -> Iterator[_KT]: ...\r
93         def itervalues(self) -> Iterator[_VT]: ...\r
94         def iteritems(self) -> Iterator[Tuple[_KT, _VT]]: ...\r
95         def iterkeyrefs(self) -> Iterator[ref[_KT]]: ...\r
96     else:\r
97         # These are incompatible with Mapping\r
98         def keys(self) -> Iterator[_KT]: ...  # type: ignore\r
99         def values(self) -> Iterator[_VT]: ...  # type: ignore\r
100         def items(self) -> Iterator[Tuple[_KT, _VT]]: ...  # type: ignore\r
101     def keyrefs(self) -> List[ref[_KT]]: ...\r
102 \r
103 if sys.version_info >= (3, 4):\r
104     class finalize:\r
105         def __init__(self, obj: _S, func: Callable[..., _T], *args: Any, **kwargs: Any) -> None: ...\r
106         def __call__(self, _: Any = ...) -> Optional[_T]: ...\r
107         def detach(self) -> Optional[Tuple[_S, _T, Tuple[Any, ...], Dict[str, Any]]]: ...\r
108         def peek(self) -> Optional[Tuple[_S, _T, Tuple[Any, ...], Dict[str, Any]]]: ...\r
109         alive: bool\r
110         atexit: bool\r