diff --git a/CHANGELOG b/CHANGELOG index ef75fed8f..8b4fc232b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +Version 2020.08.28 +* Let multiple PyTDFunction signatures match when *args/**kwargs is present. + Version 2020.08.17 * Allow `# type: ignore` in more places in pyi files. * Support TypedDict function-based syntax in pyi files. diff --git a/pytype/__version__.py b/pytype/__version__.py index 965102cab..f4d906473 100644 --- a/pytype/__version__.py +++ b/pytype/__version__.py @@ -1,2 +1,2 @@ # pylint: skip-file -__version__ = '2020.08.17' +__version__ = '2020.08.28' diff --git a/pytype/pyi/parser.py b/pytype/pyi/parser.py index 2c9d1efdb..e659d0b8d 100644 --- a/pytype/pyi/parser.py +++ b/pytype/pyi/parser.py @@ -1304,10 +1304,13 @@ def parse_string(src, python_version, name=None, filename=None, platform=None): def parse_file(filename, python_version, name=None, platform=None): + src = read_file(filename) + return parse_string(src, python_version, name, filename, platform) + + +def read_file(filename): with open(filename, "r") as fi: - src = fi.read() - return _Parser(version=python_version, platform=platform).parse( - src, name, filename) + return fi.read() def canonical_pyi(pyi, python_version, multiline_args=False):