diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-02-24 16:08:24 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-02-24 18:35:57 +0000 |
commit | 73688fbe5327b1ae62bcac8fee103a895bdd5c5d (patch) | |
tree | 3cf93c3f4086275ac4b468ad0241a1deee860f10 | |
parent | 1697c7173c2b8d12aea529774beca5ef0e1616fa (diff) |
Add a debug operator for OverloadData
Task-number: PYSIDE-323
Change-Id: I8b06870d4d7ccaab95827f068375626a501496b1
Reviewed-by: Christian Tismer <tismer@stackless.com>
-rw-r--r-- | generator/shiboken2/overloaddata.cpp | 32 | ||||
-rw-r--r-- | generator/shiboken2/overloaddata.h | 9 |
2 files changed, 41 insertions, 0 deletions
diff --git a/generator/shiboken2/overloaddata.cpp b/generator/shiboken2/overloaddata.cpp index 203918f0f..3bffc5bd8 100644 --- a/generator/shiboken2/overloaddata.cpp +++ b/generator/shiboken2/overloaddata.cpp @@ -1045,3 +1045,35 @@ AbstractMetaArgumentList OverloadData::getArgumentsWithDefaultValues(const Abstr return args; } +#ifndef QT_NO_DEBUG_STREAM +void OverloadData::formatDebug(QDebug &d) const +{ + const int count = m_overloads.size(); + d << "argType=" << m_argType << ", minArgs=" << m_minArgs << ", maxArgs=" << m_maxArgs + << ", argPos=" << m_argPos << ", argTypeReplaced=\"" << m_argTypeReplaced + << "\", overloads[" << count << "]=("; + const int oldVerbosity = d.verbosity(); + d.setVerbosity(3); + for (int i = 0; i < count; ++i) { + if (i) + d << '\n'; + d << m_overloads.at(i); + } + d << ')'; + d.setVerbosity(oldVerbosity); +} + +QDebug operator<<(QDebug d, const OverloadData *od) +{ + QDebugStateSaver saver(d); + d.noquote(); + d.nospace(); + d << "OverloadData("; + if (od) + od->formatDebug(d); + else + d << '0'; + d << ')'; + return d; +} +#endif // !QT_NO_DEBUG_STREAM diff --git a/generator/shiboken2/overloaddata.h b/generator/shiboken2/overloaddata.h index 1985a731f..959b96d0b 100644 --- a/generator/shiboken2/overloaddata.h +++ b/generator/shiboken2/overloaddata.h @@ -33,6 +33,8 @@ #include <QtCore/QList> #include <QtCore/QBitArray> +QT_FORWARD_DECLARE_CLASS(QDebug) + class ShibokenGenerator; class OverloadData; @@ -123,6 +125,10 @@ public: /// Returns a list of function arguments which have default values and were not removed. static AbstractMetaArgumentList getArgumentsWithDefaultValues(const AbstractMetaFunction* func); +#ifndef QT_NO_DEBUG_STREAM + void formatDebug(QDebug &) const; +#endif + private: OverloadData(OverloadData* headOverloadData, const AbstractMetaFunction* func, const AbstractMetaType* argType, int argPos); @@ -148,5 +154,8 @@ private: const ShibokenGenerator* m_generator; }; +#ifndef QT_NO_DEBUG_STREAM +QDebug operator<<(QDebug, const OverloadData *); +#endif #endif // OVERLOADDATA_H |