Skip to content

Commit 92928b5

Browse files
authored
add pyclbr._Object (#11151)
1 parent fdc1954 commit 92928b5

File tree

1 file changed

+32
-24
lines changed

1 file changed

+32
-24
lines changed

stdlib/pyclbr.pyi

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,74 @@
11
import sys
2-
from collections.abc import Sequence
2+
from collections.abc import Mapping, Sequence
33

44
__all__ = ["readmodule", "readmodule_ex", "Class", "Function"]
55

6-
class Class:
6+
class _Object:
77
module: str
88
name: str
9-
super: list[Class | str] | None
10-
methods: dict[str, int]
119
file: int
1210
lineno: int
1311

1412
if sys.version_info >= (3, 10):
1513
end_lineno: int | None
1614

17-
parent: Class | None
15+
parent: _Object | None
16+
17+
# This is a dict at runtime, but we're typing it as Mapping to
18+
# avoid variance issues in the subclasses
19+
children: Mapping[str, _Object]
20+
21+
if sys.version_info >= (3, 10):
22+
def __init__(
23+
self, module: str, name: str, file: str, lineno: int, end_lineno: int | None, parent: _Object | None
24+
) -> None: ...
25+
else:
26+
def __init__(self, module: str, name: str, file: str, lineno: int, parent: _Object | None) -> None: ...
27+
28+
class Function(_Object):
29+
if sys.version_info >= (3, 10):
30+
is_async: bool
31+
32+
parent: Function | Class | None
1833
children: dict[str, Class | Function]
1934

2035
if sys.version_info >= (3, 10):
2136
def __init__(
2237
self,
2338
module: str,
2439
name: str,
25-
super_: list[Class | str] | None,
2640
file: str,
2741
lineno: int,
28-
parent: Class | None = None,
42+
parent: Function | Class | None = None,
43+
is_async: bool = False,
2944
*,
3045
end_lineno: int | None = None,
3146
) -> None: ...
3247
else:
33-
def __init__(
34-
self, module: str, name: str, super: list[Class | str] | None, file: str, lineno: int, parent: Class | None = None
35-
) -> None: ...
36-
37-
class Function:
38-
module: str
39-
name: str
40-
file: int
41-
lineno: int
42-
43-
if sys.version_info >= (3, 10):
44-
end_lineno: int | None
45-
is_async: bool
48+
def __init__(self, module: str, name: str, file: str, lineno: int, parent: Function | Class | None = None) -> None: ...
4649

47-
parent: Function | Class | None
50+
class Class(_Object):
51+
super: list[Class | str] | None
52+
methods: dict[str, int]
53+
parent: Class | None
4854
children: dict[str, Class | Function]
4955

5056
if sys.version_info >= (3, 10):
5157
def __init__(
5258
self,
5359
module: str,
5460
name: str,
61+
super_: list[Class | str] | None,
5562
file: str,
5663
lineno: int,
57-
parent: Function | Class | None = None,
58-
is_async: bool = False,
64+
parent: Class | None = None,
5965
*,
6066
end_lineno: int | None = None,
6167
) -> None: ...
6268
else:
63-
def __init__(self, module: str, name: str, file: str, lineno: int, parent: Function | Class | None = None) -> None: ...
69+
def __init__(
70+
self, module: str, name: str, super: list[Class | str] | None, file: str, lineno: int, parent: Class | None = None
71+
) -> None: ...
6472

6573
def readmodule(module: str, path: Sequence[str] | None = None) -> dict[str, Class]: ...
6674
def readmodule_ex(module: str, path: Sequence[str] | None = None) -> dict[str, Class | Function | list[str]]: ...

0 commit comments

Comments
 (0)