aboutsummaryrefslogtreecommitdiff
path: root/find-modules
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2017-01-18 22:19:32 +0000
committerStephen Kelly <steveire@gmail.com>2017-01-18 22:20:07 +0000
commit68611eca6d20a2f0f54de919e634222de39ed2e0 (patch)
tree9a76c4b298d0f2ef3f47aad6b946d3770be52a48 /find-modules
parent22a487a08743e78944b161c33c004b9bcbb0dc34 (diff)
downloadextra-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.py9
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: