23 lines
778 B
Python
23 lines
778 B
Python
|
from __future__ import annotations
|
||
|
|
||
|
from mypy.errors import Errors
|
||
|
from mypy.nodes import MypyFile
|
||
|
from mypy.options import Options
|
||
|
|
||
|
|
||
|
def parse(
|
||
|
source: str | bytes, fnam: str, module: str | None, errors: Errors | None, options: Options
|
||
|
) -> MypyFile:
|
||
|
"""Parse a source file, without doing any semantic analysis.
|
||
|
|
||
|
Return the parse tree. If errors is not provided, raise ParseError
|
||
|
on failure. Otherwise, use the errors object to report parse errors.
|
||
|
|
||
|
The python_version (major, minor) option determines the Python syntax variant.
|
||
|
"""
|
||
|
if options.transform_source is not None:
|
||
|
source = options.transform_source(source)
|
||
|
import mypy.fastparse
|
||
|
|
||
|
return mypy.fastparse.parse(source, fnam=fnam, module=module, errors=errors, options=options)
|