From 69e3e544864e55ebe42df035daf3bf66e25c820f Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Mon, 6 Feb 2012 20:42:33 +0100 Subject: Add QMetaMethodBuilder::parameterTypes() function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This function matches QMetaMethod::parameterTypes(). The implementation of QMetaMethod::parameterTypes() was moved to a helper function in QMetaObjectPrivate, so that it can be shared with QMetaMethodBuilder. Change-Id: I4361713996dc4ea31a79c2fc74c813ee5e9c3069 Reviewed-by: Thiago Macieira Reviewed-by: João Abecasis --- src/corelib/kernel/qmetaobjectbuilder.cpp | 21 ++++++++++++++++++++- src/corelib/kernel/qmetaobjectbuilder_p.h | 1 + 2 files changed, 21 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/corelib/kernel/qmetaobjectbuilder.cpp b/src/corelib/kernel/qmetaobjectbuilder.cpp index 3aad49b2f9..ea8fba10d0 100644 --- a/src/corelib/kernel/qmetaobjectbuilder.cpp +++ b/src/corelib/kernel/qmetaobjectbuilder.cpp @@ -136,6 +136,11 @@ public: { attributes = ((attributes & ~AccessMask) | (int)value); } + + QList parameterTypes() const + { + return QMetaObjectPrivate::parameterTypeNamesFromSignature(signature); + } }; class QMetaPropertyBuilderPrivate @@ -1936,7 +1941,7 @@ QByteArray QMetaMethodBuilder::returnType() const is empty, then the method's return type is \c{void}. The \a value will be normalized before it is added to the method. - \sa returnType(), signature() + \sa returnType(), parameterTypes(), signature() */ void QMetaMethodBuilder::setReturnType(const QByteArray& value) { @@ -1945,6 +1950,20 @@ void QMetaMethodBuilder::setReturnType(const QByteArray& value) d->returnType = QMetaObject::normalizedType(value); } +/*! + Returns the list of parameter types for this method. + + \sa returnType(), parameterNames() +*/ +QList QMetaMethodBuilder::parameterTypes() const +{ + QMetaMethodBuilderPrivate *d = d_func(); + if (d) + return d->parameterTypes(); + else + return QList(); +} + /*! Returns the list of parameter names for this method. diff --git a/src/corelib/kernel/qmetaobjectbuilder_p.h b/src/corelib/kernel/qmetaobjectbuilder_p.h index 86bc354164..ef802ce82b 100644 --- a/src/corelib/kernel/qmetaobjectbuilder_p.h +++ b/src/corelib/kernel/qmetaobjectbuilder_p.h @@ -203,6 +203,7 @@ public: QByteArray returnType() const; void setReturnType(const QByteArray& value); + QList parameterTypes() const; QList parameterNames() const; void setParameterNames(const QList& value); -- cgit v1.2.3