@@ -1747,7 +1747,7 @@ if sys.version_info >= (3, 13):
17471747 @overload
17481748 def parse (
17491749 source : _T ,
1750- filename : str | ReadableBuffer | os .PathLike [Any ] = "<unknown>" ,
1750+ filename : str | bytes | os .PathLike [Any ] = "<unknown>" ,
17511751 mode : Literal ["exec" , "eval" , "func_type" , "single" ] = "exec" ,
17521752 * ,
17531753 type_comments : bool = False ,
@@ -1757,7 +1757,7 @@ if sys.version_info >= (3, 13):
17571757 @overload
17581758 def parse (
17591759 source : str | ReadableBuffer ,
1760- filename : str | ReadableBuffer | os .PathLike [Any ] = "<unknown>" ,
1760+ filename : str | bytes | os .PathLike [Any ] = "<unknown>" ,
17611761 mode : Literal ["exec" ] = "exec" ,
17621762 * ,
17631763 type_comments : bool = False ,
@@ -1767,7 +1767,7 @@ if sys.version_info >= (3, 13):
17671767 @overload
17681768 def parse (
17691769 source : str | ReadableBuffer ,
1770- filename : str | ReadableBuffer | os .PathLike [Any ],
1770+ filename : str | bytes | os .PathLike [Any ],
17711771 mode : Literal ["eval" ],
17721772 * ,
17731773 type_comments : bool = False ,
@@ -1777,7 +1777,7 @@ if sys.version_info >= (3, 13):
17771777 @overload
17781778 def parse (
17791779 source : str | ReadableBuffer ,
1780- filename : str | ReadableBuffer | os .PathLike [Any ],
1780+ filename : str | bytes | os .PathLike [Any ],
17811781 mode : Literal ["func_type" ],
17821782 * ,
17831783 type_comments : bool = False ,
@@ -1787,7 +1787,7 @@ if sys.version_info >= (3, 13):
17871787 @overload
17881788 def parse (
17891789 source : str | ReadableBuffer ,
1790- filename : str | ReadableBuffer | os .PathLike [Any ],
1790+ filename : str | bytes | os .PathLike [Any ],
17911791 mode : Literal ["single" ],
17921792 * ,
17931793 type_comments : bool = False ,
@@ -1824,14 +1824,92 @@ if sys.version_info >= (3, 13):
18241824 @overload
18251825 def parse (
18261826 source : str | ReadableBuffer ,
1827- filename : str | ReadableBuffer | os .PathLike [Any ] = "<unknown>" ,
1827+ filename : str | bytes | os .PathLike [Any ] = "<unknown>" ,
18281828 mode : str = "exec" ,
18291829 * ,
18301830 type_comments : bool = False ,
18311831 feature_version : None | int | tuple [int , int ] = None ,
18321832 optimize : Literal [- 1 , 0 , 1 , 2 ] = - 1 ,
18331833 ) -> mod : ...
1834-
1834+ elif sys .version_info >= (3 , 12 ):
1835+ @overload
1836+ def parse (
1837+ source : _T ,
1838+ filename : str | bytes | os .PathLike [Any ] = "<unknown>" ,
1839+ mode : Literal ["exec" , "eval" , "func_type" , "single" ] = "exec" ,
1840+ * ,
1841+ type_comments : bool = False ,
1842+ feature_version : None | int | tuple [int , int ] = None ,
1843+ ) -> _T : ...
1844+ @overload
1845+ def parse (
1846+ source : str | ReadableBuffer ,
1847+ filename : str | bytes | os .PathLike [Any ] = "<unknown>" ,
1848+ mode : Literal ["exec" ] = "exec" ,
1849+ * ,
1850+ type_comments : bool = False ,
1851+ feature_version : None | int | tuple [int , int ] = None ,
1852+ ) -> Module : ...
1853+ @overload
1854+ def parse (
1855+ source : str | ReadableBuffer ,
1856+ filename : str | bytes | os .PathLike [Any ],
1857+ mode : Literal ["eval" ],
1858+ * ,
1859+ type_comments : bool = False ,
1860+ feature_version : None | int | tuple [int , int ] = None ,
1861+ ) -> Expression : ...
1862+ @overload
1863+ def parse (
1864+ source : str | ReadableBuffer ,
1865+ filename : str | bytes | os .PathLike [Any ],
1866+ mode : Literal ["func_type" ],
1867+ * ,
1868+ type_comments : bool = False ,
1869+ feature_version : None | int | tuple [int , int ] = None ,
1870+ ) -> FunctionType : ...
1871+ @overload
1872+ def parse (
1873+ source : str | ReadableBuffer ,
1874+ filename : str | bytes | os .PathLike [Any ],
1875+ mode : Literal ["single" ],
1876+ * ,
1877+ type_comments : bool = False ,
1878+ feature_version : None | int | tuple [int , int ] = None ,
1879+ ) -> Interactive : ...
1880+ @overload
1881+ def parse (
1882+ source : str | ReadableBuffer ,
1883+ * ,
1884+ mode : Literal ["eval" ],
1885+ type_comments : bool = False ,
1886+ feature_version : None | int | tuple [int , int ] = None ,
1887+ ) -> Expression : ...
1888+ @overload
1889+ def parse (
1890+ source : str | ReadableBuffer ,
1891+ * ,
1892+ mode : Literal ["func_type" ],
1893+ type_comments : bool = False ,
1894+ feature_version : None | int | tuple [int , int ] = None ,
1895+ ) -> FunctionType : ...
1896+ @overload
1897+ def parse (
1898+ source : str | ReadableBuffer ,
1899+ * ,
1900+ mode : Literal ["single" ],
1901+ type_comments : bool = False ,
1902+ feature_version : None | int | tuple [int , int ] = None ,
1903+ ) -> Interactive : ...
1904+ @overload
1905+ def parse (
1906+ source : str | ReadableBuffer ,
1907+ filename : str | bytes | os .PathLike [Any ] = "<unknown>" ,
1908+ mode : str = "exec" ,
1909+ * ,
1910+ type_comments : bool = False ,
1911+ feature_version : None | int | tuple [int , int ] = None ,
1912+ ) -> mod : ...
18351913else :
18361914 @overload
18371915 def parse (
0 commit comments