Skip to content

Commit 093c58b

Browse files
authored
ast: parse accepts PathLike filename (#9020)
1 parent 7edad95 commit 093c58b

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

stdlib/ast.pyi

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import os
12
import sys
23
from _ast import *
34
from _typeshed import ReadableBuffer
@@ -159,7 +160,7 @@ if sys.version_info >= (3, 8):
159160
@overload
160161
def parse(
161162
source: str | ReadableBuffer,
162-
filename: str | ReadableBuffer = ...,
163+
filename: str | ReadableBuffer | os.PathLike[Any] = ...,
163164
mode: Literal["exec"] = ...,
164165
*,
165166
type_comments: bool = ...,
@@ -168,7 +169,7 @@ if sys.version_info >= (3, 8):
168169
@overload
169170
def parse(
170171
source: str | ReadableBuffer,
171-
filename: str | ReadableBuffer,
172+
filename: str | ReadableBuffer | os.PathLike[Any],
172173
mode: Literal["eval"],
173174
*,
174175
type_comments: bool = ...,
@@ -177,7 +178,7 @@ if sys.version_info >= (3, 8):
177178
@overload
178179
def parse(
179180
source: str | ReadableBuffer,
180-
filename: str | ReadableBuffer,
181+
filename: str | ReadableBuffer | os.PathLike[Any],
181182
mode: Literal["func_type"],
182183
*,
183184
type_comments: bool = ...,
@@ -186,7 +187,7 @@ if sys.version_info >= (3, 8):
186187
@overload
187188
def parse(
188189
source: str | ReadableBuffer,
189-
filename: str | ReadableBuffer,
190+
filename: str | ReadableBuffer | os.PathLike[Any],
190191
mode: Literal["single"],
191192
*,
192193
type_comments: bool = ...,
@@ -219,7 +220,7 @@ if sys.version_info >= (3, 8):
219220
@overload
220221
def parse(
221222
source: str | ReadableBuffer,
222-
filename: str | ReadableBuffer = ...,
223+
filename: str | ReadableBuffer | os.PathLike[Any] = ...,
223224
mode: str = ...,
224225
*,
225226
type_comments: bool = ...,
@@ -228,17 +229,23 @@ if sys.version_info >= (3, 8):
228229

229230
else:
230231
@overload
231-
def parse(source: str | ReadableBuffer, filename: str | ReadableBuffer = ..., mode: Literal["exec"] = ...) -> Module: ...
232+
def parse(
233+
source: str | ReadableBuffer, filename: str | ReadableBuffer | os.PathLike[Any] = ..., mode: Literal["exec"] = ...
234+
) -> Module: ...
232235
@overload
233-
def parse(source: str | ReadableBuffer, filename: str | ReadableBuffer, mode: Literal["eval"]) -> Expression: ...
236+
def parse(
237+
source: str | ReadableBuffer, filename: str | ReadableBuffer | os.PathLike[Any], mode: Literal["eval"]
238+
) -> Expression: ...
234239
@overload
235-
def parse(source: str | ReadableBuffer, filename: str | ReadableBuffer, mode: Literal["single"]) -> Interactive: ...
240+
def parse(
241+
source: str | ReadableBuffer, filename: str | ReadableBuffer | os.PathLike[Any], mode: Literal["single"]
242+
) -> Interactive: ...
236243
@overload
237244
def parse(source: str | ReadableBuffer, *, mode: Literal["eval"]) -> Expression: ...
238245
@overload
239246
def parse(source: str | ReadableBuffer, *, mode: Literal["single"]) -> Interactive: ...
240247
@overload
241-
def parse(source: str | ReadableBuffer, filename: str | ReadableBuffer = ..., mode: str = ...) -> AST: ...
248+
def parse(source: str | ReadableBuffer, filename: str | ReadableBuffer | os.PathLike[Any] = ..., mode: str = ...) -> AST: ...
242249

243250
if sys.version_info >= (3, 9):
244251
def unparse(ast_obj: AST) -> str: ...

0 commit comments

Comments
 (0)