Fix parsing of documentation for QByteArrayList and QStringList

QListSpecialMethod is an internal class. Everything needs to be hidden
from Q_QDOC otherwise while parsing with clang, we get errors.

Importantly, hides it while inheriting from QList so it does not
appear in the documentation

Change-Id: If2ac158f35d6a367aa033cfc7e6a054c912359b9
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
This commit is contained in:
Olivier Goffart 2016-03-16 10:23:25 +01:00 committed by Olivier Goffart (Woboq GmbH)
parent 63274c95a3
commit f11ea381d6
4 changed files with 10 additions and 1 deletions

View File

@ -1897,7 +1897,9 @@ QT_FOR_EACH_STATIC_WIDGETS_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
typedef QList<QVariant> QVariantList; typedef QList<QVariant> QVariantList;
typedef QMap<QString, QVariant> QVariantMap; typedef QMap<QString, QVariant> QVariantMap;
typedef QHash<QString, QVariant> QVariantHash; typedef QHash<QString, QVariant> QVariantHash;
#ifndef Q_QDOC
typedef QList<QByteArray> QByteArrayList; typedef QList<QByteArray> QByteArrayList;
#endif
#define Q_DECLARE_METATYPE_TEMPLATE_1ARG(SINGLE_ARG_TEMPLATE) \ #define Q_DECLARE_METATYPE_TEMPLATE_1ARG(SINGLE_ARG_TEMPLATE) \
QT_BEGIN_NAMESPACE \ QT_BEGIN_NAMESPACE \

View File

@ -50,11 +50,13 @@ QT_BEGIN_NAMESPACE
typedef QListIterator<QByteArray> QByteArrayListIterator; typedef QListIterator<QByteArray> QByteArrayListIterator;
typedef QMutableListIterator<QByteArray> QMutableByteArrayListIterator; typedef QMutableListIterator<QByteArray> QMutableByteArrayListIterator;
#ifndef Q_QDOC
typedef QList<QByteArray> QByteArrayList; typedef QList<QByteArray> QByteArrayList;
namespace QtPrivate { namespace QtPrivate {
QByteArray Q_CORE_EXPORT QByteArrayList_join(const QByteArrayList *that, const char *separator, int separatorLength); QByteArray Q_CORE_EXPORT QByteArrayList_join(const QByteArrayList *that, const char *separator, int separatorLength);
} }
#endif
#ifdef Q_QDOC #ifdef Q_QDOC
class QByteArrayList : public QList<QByteArray> class QByteArrayList : public QList<QByteArray>

View File

@ -118,7 +118,10 @@ struct Q_CORE_EXPORT QListData {
}; };
template <typename T> template <typename T>
class QList : public QListSpecialMethods<T> class QList
#ifndef Q_QDOC
: public QListSpecialMethods<T>
#endif
{ {
public: public:
struct MemoryLayout struct MemoryLayout

View File

@ -149,6 +149,7 @@ public:
Q_DECLARE_TYPEINFO(QStringList, Q_MOVABLE_TYPE); Q_DECLARE_TYPEINFO(QStringList, Q_MOVABLE_TYPE);
#ifndef Q_QDOC
inline QStringList *QListSpecialMethods<QString>::self() inline QStringList *QListSpecialMethods<QString>::self()
{ return static_cast<QStringList *>(this); } { return static_cast<QStringList *>(this); }
inline const QStringList *QListSpecialMethods<QString>::self() const inline const QStringList *QListSpecialMethods<QString>::self() const
@ -284,6 +285,7 @@ inline int QStringList::lastIndexOf(const QRegularExpression &rx, int from) cons
} }
#endif // QT_NO_REGULAREXPRESSION #endif // QT_NO_REGULAREXPRESSION
#endif // QT_BOOTSTRAPPED #endif // QT_BOOTSTRAPPED
#endif // Q_QDOC
QT_END_NAMESPACE QT_END_NAMESPACE