diff --git a/stdlib/3/_ast.pyi b/stdlib/3/_ast.pyi index 789c0a3bf..888b3876c 100644 --- a/stdlib/3/_ast.pyi +++ b/stdlib/3/_ast.pyi @@ -46,9 +46,6 @@ class Interactive(mod): class Expression(mod): body: expr -class Suite(mod): - body: typing.List[stmt] - class stmt(AST): ... @@ -166,24 +163,6 @@ class Pass(stmt): ... class Break(stmt): ... class Continue(stmt): ... - -class slice(AST): - ... - -_slice = slice # this lets us type the variable named 'slice' below - -class Slice(slice): - lower: Optional[expr] - upper: Optional[expr] - step: Optional[expr] - -class ExtSlice(slice): - dims: typing.List[slice] - -class Index(slice): - value: expr - - class expr(AST): ... class BoolOp(expr): @@ -296,7 +275,21 @@ class Attribute(expr): if sys.version_info >= (3, 9): _SliceT = expr else: - _SliceT = _slice + class slice(AST): + ... + _SliceT = slice + +class Slice(_SliceT): + lower: Optional[expr] + upper: Optional[expr] + step: Optional[expr] + +if sys.version_info < (3, 9): + class ExtSlice(slice): + dims: typing.List[slice] + + class Index(slice): + value: expr class Subscript(expr): value: expr @@ -323,11 +316,15 @@ class Tuple(expr): class expr_context(AST): ... -class AugLoad(expr_context): ... -class AugStore(expr_context): ... +if sys.version_info < (3, 9): + class AugLoad(expr_context): ... + class AugStore(expr_context): ... + class Param(expr_context): ... + class Suite(mod): + body: typing.List[stmt] + class Del(expr_context): ... class Load(expr_context): ... -class Param(expr_context): ... class Store(expr_context): ... diff --git a/stdlib/3/ast.pyi b/stdlib/3/ast.pyi index c96aad19e..11417d068 100644 --- a/stdlib/3/ast.pyi +++ b/stdlib/3/ast.pyi @@ -16,13 +16,28 @@ if sys.version_info >= (3, 8): else: from typing_extensions import Literal + +if sys.version_info >= (3, 8): + class Num(Constant): ... + class Str(Constant): ... + class Bytes(Constant): ... + class NameConstant(Constant): ... + class Ellipsis(Constant): ... +if sys.version_info >= (3, 9): + class slice(AST): ... + class ExtSlice(slice): ... + class Index(slice): ... + class Suite(mod): ... + class AugLoad(expr_context): ... + class AugStore(expr_context): ... + class Param(expr_context): ... + class NodeVisitor: def visit(self, node: AST) -> Any: ... def generic_visit(self, node: AST) -> Any: ... def visit_Module(self, node: Module) -> Any: ... def visit_Interactive(self, node: Interactive) -> Any: ... def visit_Expression(self, node: Expression) -> Any: ... - def visit_Suite(self, node: Suite) -> Any: ... def visit_FunctionDef(self, node: FunctionDef) -> Any: ... def visit_AsyncFunctionDef(self, node: AsyncFunctionDef) -> Any: ... def visit_ClassDef(self, node: ClassDef) -> Any: ... @@ -50,8 +65,6 @@ class NodeVisitor: def visit_Break(self, node: Break) -> Any: ... def visit_Continue(self, node: Continue) -> Any: ... def visit_Slice(self, node: Slice) -> Any: ... - def visit_ExtSlice(self, node: ExtSlice) -> Any: ... - def visit_Index(self, node: Index) -> Any: ... def visit_BoolOp(self, node: BoolOp) -> Any: ... def visit_BinOp(self, node: BinOp) -> Any: ... def visit_UnaryOp(self, node: UnaryOp) -> Any: ... @@ -71,18 +84,6 @@ class NodeVisitor: if sys.version_info >= (3, 6): def visit_FormattedValue(self, node: FormattedValue) -> Any: ... def visit_JoinedStr(self, node: JoinedStr) -> Any: ... - if sys.version_info < (3, 8): - def visit_Num(self, node: Num) -> Any: ... - def visit_Str(self, node: Str) -> Any: ... - def visit_Bytes(self, node: Bytes) -> Any: ... - def visit_NameConstant(self, node: NameConstant) -> Any: ... - def visit_Ellipsis(self, node: Ellipsis) -> Any: ... - else: - def visit_Num(self, node: Constant) -> Any: ... - def visit_Str(self, node: Constant) -> Any: ... - def visit_Bytes(self, node: Constant) -> Any: ... - def visit_NameConstant(self, node: Constant) -> Any: ... - def visit_Ellipsis(self, node: Constant) -> Any: ... if sys.version_info >= (3, 6): def visit_Constant(self, node: Constant) -> Any: ... if sys.version_info >= (3, 8): @@ -93,11 +94,8 @@ class NodeVisitor: def visit_Name(self, node: Name) -> Any: ... def visit_List(self, node: List) -> Any: ... def visit_Tuple(self, node: Tuple) -> Any: ... - def visit_AugLoad(self, node: AugLoad) -> Any: ... - def visit_AugStore(self, node: AugStore) -> Any: ... def visit_Del(self, node: Del) -> Any: ... def visit_Load(self, node: Load) -> Any: ... - def visit_Param(self, node: Param) -> Any: ... def visit_Store(self, node: Store) -> Any: ... def visit_And(self, node: And) -> Any: ... def visit_Or(self, node: Or) -> Any: ... @@ -135,6 +133,18 @@ class NodeVisitor: def visit_keyword(self, node: keyword) -> Any: ... def visit_alias(self, node: alias) -> Any: ... def visit_withitem(self, node: withitem) -> Any: ... + # visit methods for deprecated nodes + def visit_ExtSlice(self, node: ExtSlice) -> Any: ... + def visit_Index(self, node: Index) -> Any: ... + def visit_Suite(self, node: Suite) -> Any: ... + def visit_AugLoad(self, node: AugLoad) -> Any: ... + def visit_AugStore(self, node: AugStore) -> Any: ... + def visit_Param(self, node: Param) -> Any: ... + def visit_Num(self, node: Num) -> Any: ... + def visit_Str(self, node: Str) -> Any: ... + def visit_Bytes(self, node: Bytes) -> Any: ... + def visit_NameConstant(self, node: NameConstant) -> Any: ... + def visit_Ellipsis(self, node: Ellipsis) -> Any: ... class NodeTransformer(NodeVisitor): def generic_visit(self, node: AST) -> Optional[AST]: ... @@ -184,10 +194,3 @@ def literal_eval(node_or_string: Union[str, AST]) -> Any: ... if sys.version_info >= (3, 8): def get_source_segment(source: str, node: AST, *, padded: bool = ...) -> Optional[str]: ... def walk(node: AST) -> Iterator[AST]: ... - -if sys.version_info >= (3, 8): - class Num(Constant): ... - class Str(Constant): ... - class Bytes(Constant): ... - class NameConstant(Constant): ... - class Ellipsis(Constant): ...