aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-04-06 13:50:37 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-04-07 23:37:05 +0000
commite3bc0369480347d62c8bb274130daa0ee7f4e880 (patch)
tree19ff317abcec2160cbfd2f51ebac17136aa89de5
parent43a204ae268bd4f0991934b8a148854c98b38f45 (diff)
shiboken6: Add a debug operator for the class context
Change-Id: I3e5a7b413da3f8dd84a35e2029f23d2d2dae910c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit c1bbe9503679ea23db8e874a0d2e2a53d1df5ffd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--sources/shiboken6/generator/generator.cpp17
-rw-r--r--sources/shiboken6/generator/generator.h4
2 files changed, 21 insertions, 0 deletions
diff --git a/sources/shiboken6/generator/generator.cpp b/sources/shiboken6/generator/generator.cpp
index c5d32c041..d800fe413 100644
--- a/sources/shiboken6/generator/generator.cpp
+++ b/sources/shiboken6/generator/generator.cpp
@@ -162,6 +162,23 @@ QDebug operator<<(QDebug debug, const DefaultValue &v)
debug << "DefaultValue(" << v.type() << ", \"" << v.value() << "\")";
return debug;
}
+
+QDebug operator<<(QDebug debug, const GeneratorContext &c)
+{
+ QDebugStateSaver saver(debug);
+ debug.noquote();
+ debug.nospace();
+ debug << "GeneratorContext(\"" << c.metaClass()->name() << "\" ";
+ if (c.useWrapper())
+ debug << "[wrapper]";
+ else if (c.forSmartPointer())
+ debug << "[smart pointer] \"" << c.preciseType().cppSignature() << '"';
+ else
+ debug << "[class]";
+ debug << ')';
+ return debug;
+}
+
#endif // !QT_NO_DEBUG_STREAM
QString GeneratorContext::smartPointerWrapperName() const
diff --git a/sources/shiboken6/generator/generator.h b/sources/shiboken6/generator/generator.h
index 36d590ca2..c335bc1ee 100644
--- a/sources/shiboken6/generator/generator.h
+++ b/sources/shiboken6/generator/generator.h
@@ -173,6 +173,10 @@ private:
Type m_type = Class;
};
+#ifndef QT_NO_DEBUG_STREAM
+QDebug operator<<(QDebug debug, const GeneratorContext &c);
+#endif
+
/**
* Base class for all generators. The default implementations does nothing,
* you must subclass this to create your own generators.