Files
typeshed/stdlib/pyclbr.pyi
2023-12-12 21:24:27 +01:00

75 lines
2.2 KiB
Python

import sys
from collections.abc import Mapping, Sequence
__all__ = ["readmodule", "readmodule_ex", "Class", "Function"]
class _Object:
module: str
name: str
file: int
lineno: int
if sys.version_info >= (3, 10):
end_lineno: int | None
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, file: str, lineno: int, end_lineno: int | None, parent: _Object | None
) -> None: ...
else:
def __init__(self, module: str, name: str, file: str, lineno: int, parent: _Object | None) -> None: ...
class Function(_Object):
if sys.version_info >= (3, 10):
is_async: bool
parent: Function | Class | None
children: dict[str, Class | Function]
if sys.version_info >= (3, 10):
def __init__(
self,
module: str,
name: str,
file: str,
lineno: int,
parent: Function | Class | None = None,
is_async: bool = False,
*,
end_lineno: int | None = None,
) -> None: ...
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]]: ...