From 0b701ec0cd86afbf6bb0d0abb361cfb6500c2e1b Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 15 Jul 2022 17:47:27 -0700 Subject: [PATCH] QMetaObject: move QMetaMethodPrivate into an unnamed namespace So the compiler doesn't feel like it must emit these functions. They're not used outside of qmetaobject.cpp. Change-Id: I36b24183fbd041179f2ffffd170228c6e94b5f9b Reviewed-by: Fabian Kosmale --- src/corelib/kernel/qmetaobject.cpp | 2 ++ src/corelib/kernel/qmetaobject.h | 2 +- src/corelib/kernel/qmetaobject_p.h | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index af949780ae3..eb10a324821 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -164,6 +164,7 @@ static inline int typeFromTypeInfo(const QMetaObject *mo, uint typeInfo) return QMetaType::fromName(rawStringData(mo, typeInfo & TypeNameIndexMask)).id(); } +namespace { class QMetaMethodPrivate : public QMetaMethod { public: @@ -215,6 +216,7 @@ public: private: QMetaMethodPrivate(); }; +} // unnamed namespace enum { MaximumParamCount = 11 }; // up to 10 arguments + 1 return value diff --git a/src/corelib/kernel/qmetaobject.h b/src/corelib/kernel/qmetaobject.h index 8e7ce0c15ed..0740acef60a 100644 --- a/src/corelib/kernel/qmetaobject.h +++ b/src/corelib/kernel/qmetaobject.h @@ -150,6 +150,7 @@ private: static QMetaMethod fromRelativeMethodIndex(const QMetaObject *mobj, int index); static QMetaMethod fromRelativeConstructorIndex(const QMetaObject *mobj, int index); +protected: struct Data { enum { Size = 6 }; @@ -169,7 +170,6 @@ private: const QMetaObject *mobj; Data data; - friend class QMetaMethodPrivate; friend struct QMetaObject; friend struct QMetaObjectPrivate; friend class QObject; diff --git a/src/corelib/kernel/qmetaobject_p.h b/src/corelib/kernel/qmetaobject_p.h index 15c52ca6630..d5fe6b535e9 100644 --- a/src/corelib/kernel/qmetaobject_p.h +++ b/src/corelib/kernel/qmetaobject_p.h @@ -131,7 +131,7 @@ Q_DECLARE_TYPEINFO(QArgumentType, Q_RELOCATABLE_TYPE); typedef QVarLengthArray QArgumentTypeArray; -class QMetaMethodPrivate; +namespace { class QMetaMethodPrivate; } struct QMetaObjectPrivate {