add pyclbr._Object (#11151)

This commit is contained in:
Stephen Morton
2023-12-12 12:24:27 -08:00
committed by GitHub
parent fdc195465b
commit 92928b5f60

View File

@@ -1,47 +1,32 @@
import sys
from collections.abc import Sequence
from collections.abc import Mapping, Sequence
__all__ = ["readmodule", "readmodule_ex", "Class", "Function"]
class Class:
class _Object:
module: str
name: str
super: list[Class | str] | None
methods: dict[str, int]
file: int
lineno: int
if sys.version_info >= (3, 10):
end_lineno: int | None
parent: Class | None
children: dict[str, Class | Function]
parent: _Object | None
# This is a dict at runtime, but we're typing it as Mapping to
# avoid variance issues in the subclasses
children: Mapping[str, _Object]
if sys.version_info >= (3, 10):
def __init__(
self,
module: str,
name: str,
super_: list[Class | str] | None,
file: str,
lineno: int,
parent: Class | None = None,
*,
end_lineno: int | None = None,
self, module: str, name: str, file: str, lineno: int, end_lineno: int | None, parent: _Object | None
) -> None: ...
else:
def __init__(
self, module: str, name: str, super: list[Class | str] | None, file: str, lineno: int, parent: Class | None = None
) -> None: ...
class Function:
module: str
name: str
file: int
lineno: int
def __init__(self, module: str, name: str, file: str, lineno: int, parent: _Object | None) -> None: ...
class Function(_Object):
if sys.version_info >= (3, 10):
end_lineno: int | None
is_async: bool
parent: Function | Class | None
@@ -62,5 +47,28 @@ class Function:
else:
def __init__(self, module: str, name: str, file: str, lineno: int, parent: Function | Class | None = None) -> None: ...
class Class(_Object):
super: list[Class | str] | None
methods: dict[str, int]
parent: Class | None
children: dict[str, Class | Function]
if sys.version_info >= (3, 10):
def __init__(
self,
module: str,
name: str,
super_: list[Class | str] | None,
file: str,
lineno: int,
parent: Class | None = None,
*,
end_lineno: int | None = None,
) -> None: ...
else:
def __init__(
self, module: str, name: str, super: list[Class | str] | None, file: str, lineno: int, parent: Class | None = None
) -> None: ...
def readmodule(module: str, path: Sequence[str] | None = None) -> dict[str, Class]: ...
def readmodule_ex(module: str, path: Sequence[str] | None = None) -> dict[str, Class | Function | list[str]]: ...