From 28a760cd2c0a8c804e771a6899de9c38152f39b9 Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Wed, 16 Feb 2022 15:01:27 +0000 Subject: [PATCH] Improve `pyclbr.pyi` (#7229) --- stdlib/pyclbr.pyi | 43 +++++++++++++++++++++++++++-- tests/stubtest_allowlists/py310.txt | 2 -- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/stdlib/pyclbr.pyi b/stdlib/pyclbr.pyi index 10d106b4f..84a4f60ec 100644 --- a/stdlib/pyclbr.pyi +++ b/stdlib/pyclbr.pyi @@ -1,5 +1,5 @@ import sys -from typing import Sequence +from collections.abc import Sequence class Class: module: str @@ -9,7 +9,26 @@ class Class: file: int lineno: int + if sys.version_info >= (3, 10): + end_lineno: int | None + if sys.version_info >= (3, 7): + 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 = ..., + *, + end_lineno: int | None = ..., + ) -> None: ... + elif sys.version_info >= (3, 7): def __init__( self, module: str, name: str, super: list[Class | str] | None, file: str, lineno: int, parent: Class | None = ... ) -> None: ... @@ -22,8 +41,28 @@ class Function: file: int lineno: int + if sys.version_info >= (3, 10): + end_lineno: int | None + is_async: bool + if sys.version_info >= (3, 7): - def __init__(self, module: str, name: str, file: str, lineno: int, parent: Function | None = ...) -> None: ... + 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 = ..., + is_async: bool = ..., + *, + end_lineno: int | None = ..., + ) -> None: ... + elif sys.version_info >= (3, 7): + def __init__(self, module: str, name: str, file: str, lineno: int, parent: Function | Class | None = ...) -> None: ... else: def __init__(self, module: str, name: str, file: str, lineno: int) -> None: ... diff --git a/tests/stubtest_allowlists/py310.txt b/tests/stubtest_allowlists/py310.txt index eab80f445..6f32aa60c 100644 --- a/tests/stubtest_allowlists/py310.txt +++ b/tests/stubtest_allowlists/py310.txt @@ -133,8 +133,6 @@ tkinter.EventType.__new__ asyncio.proactor_events._ProactorReadPipeTransport.__init__ distutils.command.bdist_wininst py_compile.main -pyclbr.Class.__init__ -pyclbr.Function.__init__ sched.Event.__new__ sched.Event._fields signal.default_int_handler