diff options
author | Stephen Kelly <steveire@gmail.com> | 2017-01-18 22:19:32 +0000 |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2017-01-18 22:20:07 +0000 |
commit | 68611eca6d20a2f0f54de919e634222de39ed2e0 (patch) | |
tree | 9a76c4b298d0f2ef3f47aad6b946d3770be52a48 /find-modules | |
parent | 22a487a08743e78944b161c33c004b9bcbb0dc34 (diff) | |
download | extra-cmake-modules-68611eca6d20a2f0f54de919e634222de39ed2e0.tar.gz extra-cmake-modules-68611eca6d20a2f0f54de919e634222de39ed2e0.tar.bz2 |
Bindings: Handle parameter initializers using {} gracefully
Diffstat (limited to 'find-modules')
-rw-r--r-- | find-modules/sip_generator.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/find-modules/sip_generator.py b/find-modules/sip_generator.py index 621fe711..4b81ca33 100644 --- a/find-modules/sip_generator.py +++ b/find-modules/sip_generator.py @@ -578,6 +578,9 @@ class SipGenerator(object): def _get_param_type(parameter): result = parameter.type.get_declaration().type + if parameter.type.get_declaration().type.kind == TypeKind.INVALID: + return parameter.type + if (parameter.type.get_declaration().type.kind == TypeKind.TYPEDEF): isQFlags = False for member in parameter.type.get_declaration().get_children(): @@ -592,6 +595,12 @@ class SipGenerator(object): def _get_param_value(text, parameterType): if text == "0" or text == "nullptr": return text + if text == "{}": + if parameterType.kind == TypeKind.ENUM: + return "0" + if parameterType.kind == TypeKind.POINTER: + return "nullptr" + return parameterType.spelling + "()" if not "::" in parameterType.spelling: return text try: |