diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-06-25 09:48:02 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-06-27 08:24:45 +0200 |
commit | 8bf3f03ba1ce0bcdb1b4a3f2edd7ffd672066e1c (patch) | |
tree | eca9b446baccc4523185fbf224166ffb6e6e8d09 | |
parent | 6e5dddf736ac00ae3981b0ff89d12528d32d8f98 (diff) |
signature parser: Catch invalid arguments
Triggers in Qt 6 for:
QByteArray toHex(char separator = '\0') const;
Change-Id: I2f9d7e39cb085d1e602a70449c3ca24b7480bad8
Reviewed-by: Christian Tismer <tismer@stackless.com>
-rw-r--r-- | sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py index 2053c3e9d..bfc5b3a30 100644 --- a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py +++ b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py @@ -111,17 +111,21 @@ def _parse_line(line): arglist = _parse_arglist(argstr) args = [] for arg in arglist: - name, ann = arg.split(":") - if name in keyword.kwlist: - if LIST_KEYWORDS: - print("KEYWORD", ret) - name = name + "_" - if "=" in ann: - ann, default = ann.split("=", 1) - tup = name, ann, default + tokens = arg.split(":") + if len(tokens) < 2: + warnings.warn('Invalid argument "{}" in "{}".'.format(arg, line)) else: - tup = name, ann - args.append(tup) + name, ann = tokens + if name in keyword.kwlist: + if LIST_KEYWORDS: + print("KEYWORD", ret) + name = name + "_" + if "=" in ann: + ann, default = ann.split("=", 1) + tup = name, ann, default + else: + tup = name, ann + args.append(tup) ret.arglist = args multi = ret.multi if multi is not None: |