aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-06-25 09:48:02 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-06-27 08:24:45 +0200
commit8bf3f03ba1ce0bcdb1b4a3f2edd7ffd672066e1c (patch)
treeeca9b446baccc4523185fbf224166ffb6e6e8d09
parent6e5dddf736ac00ae3981b0ff89d12528d32d8f98 (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.py24
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: