summaryrefslogtreecommitdiff
path: root/tools/dumpcpp/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/dumpcpp/main.cpp')
-rw-r--r--tools/dumpcpp/main.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/dumpcpp/main.cpp b/tools/dumpcpp/main.cpp
index 4ec7697..691e723 100644
--- a/tools/dumpcpp/main.cpp
+++ b/tools/dumpcpp/main.cpp
@@ -432,9 +432,16 @@ void generateClassDecl(QTextStream &out, const QString &controlID, const QMetaOb
if (!parameterType.contains("::") && namespaceForType.contains(parameterType))
parameterType.prepend(namespaceForType.value(parameterType) + "::");
+ QByteArray arraySpec; // transform array method signature "foo(int[4])" ->"foo(int p[4])"
+ const int arrayPos = parameterType.lastIndexOf('[');
+ if (arrayPos != -1) {
+ arraySpec = parameterType.right(parameterType.size() - arrayPos);
+ parameterType.truncate(arrayPos);
+ }
slotNamedSignature += constRefify(parameterType);
slotNamedSignature += ' ';
slotNamedSignature += parameterSplit.at(i);
+ slotNamedSignature += arraySpec;
if (defaultArguments >= signatureSplit.count() - i) {
slotNamedSignature += " = ";
slotNamedSignature += parameterType + "()";