From c7940ff6b0c482b78d7a96db740e21488ce9587f Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Wed, 18 Jan 2017 22:55:57 +0000 Subject: Bindings: Handle const-ref parameters with {} initializer --- find-modules/sip_generator.py | 3 +++ tests/GenerateSipBindings/cpplib.cpp | 5 +++++ tests/GenerateSipBindings/cpplib.h | 1 + 3 files changed, 9 insertions(+) diff --git a/find-modules/sip_generator.py b/find-modules/sip_generator.py index 4b81ca33..35f6667d 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.kind == TypeKind.LVALUEREFERENCE: + return parameter.type.get_pointee().get_declaration().type + if parameter.type.get_declaration().type.kind == TypeKind.INVALID: return parameter.type diff --git a/tests/GenerateSipBindings/cpplib.cpp b/tests/GenerateSipBindings/cpplib.cpp index af689966..863c456e 100644 --- a/tests/GenerateSipBindings/cpplib.cpp +++ b/tests/GenerateSipBindings/cpplib.cpp @@ -115,6 +115,11 @@ void MyObject::stringBraces(QString s) } +void MyObject::stringRefBraces(QString const& s) +{ + +} + void MyObject::intBraces(int i) { diff --git a/tests/GenerateSipBindings/cpplib.h b/tests/GenerateSipBindings/cpplib.h index 60c5c66a..8333e7f0 100644 --- a/tests/GenerateSipBindings/cpplib.h +++ b/tests/GenerateSipBindings/cpplib.h @@ -55,6 +55,7 @@ public: void enumBraces(Qt::WindowFlags f = {}); void stringBraces(QString s = {}); + void stringRefBraces(QString const& s = {}); void intBraces(int i = {}); void pointerBraces(int* p = {}); -- cgit v1.2.1