diff --git a/stdlib/ast.pyi b/stdlib/ast.pyi index 4122e5b60..56c86c950 100644 --- a/stdlib/ast.pyi +++ b/stdlib/ast.pyi @@ -1,3 +1,4 @@ +import os import sys from _ast import * from _typeshed import ReadableBuffer @@ -159,7 +160,7 @@ if sys.version_info >= (3, 8): @overload def parse( source: str | ReadableBuffer, - filename: str | ReadableBuffer = ..., + filename: str | ReadableBuffer | os.PathLike[Any] = ..., mode: Literal["exec"] = ..., *, type_comments: bool = ..., @@ -168,7 +169,7 @@ if sys.version_info >= (3, 8): @overload def parse( source: str | ReadableBuffer, - filename: str | ReadableBuffer, + filename: str | ReadableBuffer | os.PathLike[Any], mode: Literal["eval"], *, type_comments: bool = ..., @@ -177,7 +178,7 @@ if sys.version_info >= (3, 8): @overload def parse( source: str | ReadableBuffer, - filename: str | ReadableBuffer, + filename: str | ReadableBuffer | os.PathLike[Any], mode: Literal["func_type"], *, type_comments: bool = ..., @@ -186,7 +187,7 @@ if sys.version_info >= (3, 8): @overload def parse( source: str | ReadableBuffer, - filename: str | ReadableBuffer, + filename: str | ReadableBuffer | os.PathLike[Any], mode: Literal["single"], *, type_comments: bool = ..., @@ -219,7 +220,7 @@ if sys.version_info >= (3, 8): @overload def parse( source: str | ReadableBuffer, - filename: str | ReadableBuffer = ..., + filename: str | ReadableBuffer | os.PathLike[Any] = ..., mode: str = ..., *, type_comments: bool = ..., @@ -228,17 +229,23 @@ if sys.version_info >= (3, 8): else: @overload - def parse(source: str | ReadableBuffer, filename: str | ReadableBuffer = ..., mode: Literal["exec"] = ...) -> Module: ... + def parse( + source: str | ReadableBuffer, filename: str | ReadableBuffer | os.PathLike[Any] = ..., mode: Literal["exec"] = ... + ) -> Module: ... @overload - def parse(source: str | ReadableBuffer, filename: str | ReadableBuffer, mode: Literal["eval"]) -> Expression: ... + def parse( + source: str | ReadableBuffer, filename: str | ReadableBuffer | os.PathLike[Any], mode: Literal["eval"] + ) -> Expression: ... @overload - def parse(source: str | ReadableBuffer, filename: str | ReadableBuffer, mode: Literal["single"]) -> Interactive: ... + def parse( + source: str | ReadableBuffer, filename: str | ReadableBuffer | os.PathLike[Any], mode: Literal["single"] + ) -> Interactive: ... @overload def parse(source: str | ReadableBuffer, *, mode: Literal["eval"]) -> Expression: ... @overload def parse(source: str | ReadableBuffer, *, mode: Literal["single"]) -> Interactive: ... @overload - def parse(source: str | ReadableBuffer, filename: str | ReadableBuffer = ..., mode: str = ...) -> AST: ... + def parse(source: str | ReadableBuffer, filename: str | ReadableBuffer | os.PathLike[Any] = ..., mode: str = ...) -> AST: ... if sys.version_info >= (3, 9): def unparse(ast_obj: AST) -> str: ...