aboutsummaryrefslogtreecommitdiff
path: root/find-modules
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2017-01-18 23:03:16 +0000
committerStephen Kelly <steveire@gmail.com>2017-01-18 23:03:16 +0000
commitded67db971a2d185dc999255942141e54b44c478 (patch)
tree6fe8f0be7d9ddea57c2acc9585051274222e4ec6 /find-modules
parentc7940ff6b0c482b78d7a96db740e21488ce9587f (diff)
downloadextra-cmake-modules-ded67db971a2d185dc999255942141e54b44c478.tar.gz
extra-cmake-modules-ded67db971a2d185dc999255942141e54b44c478.tar.bz2
Bindings: Handle const-ref of non-record parameter defaults
Diffstat (limited to 'find-modules')
-rw-r--r--find-modules/sip_generator.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/find-modules/sip_generator.py b/find-modules/sip_generator.py
index 35f6667d..7804b3ae 100644
--- a/find-modules/sip_generator.py
+++ b/find-modules/sip_generator.py
@@ -579,7 +579,9 @@ class SipGenerator(object):
result = parameter.type.get_declaration().type
if parameter.type.kind == TypeKind.LVALUEREFERENCE:
- return parameter.type.get_pointee().get_declaration().type
+ if parameter.type.get_pointee().get_declaration().type.kind != TypeKind.INVALID:
+ return parameter.type.get_pointee().get_declaration().type
+ return parameter.type.get_pointee()
if parameter.type.get_declaration().type.kind == TypeKind.INVALID:
return parameter.type
@@ -603,6 +605,8 @@ class SipGenerator(object):
return "0"
if parameterType.kind == TypeKind.POINTER:
return "nullptr"
+ if parameterType.spelling.startswith("const "):
+ return parameterType.spelling[6:] + "()"
return parameterType.spelling + "()"
if not "::" in parameterType.spelling:
return text