QmlDesigner: Improve printing of project storage types

Change-Id: Icb2f59c334cc597544899887e4fc98896d62decc
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Marco Bubke
2022-05-16 15:10:38 +02:00
parent 2b12b1fa5e
commit 2d0ce5a450

View File

@@ -29,32 +29,63 @@
#include <utils/smallstringio.h> #include <utils/smallstringio.h>
namespace QmlDesigner {
template<auto Type, typename InternalIntergerType = long long>
inline QDebug operator<<(QDebug debug, BasicId<Type, InternalIntergerType> id)
{
debug.noquote() << "(" << id.id << ")";
return debug;
}
} // namespace QmlDesigner
namespace QmlDesigner::Storage { namespace QmlDesigner::Storage {
inline QDebug &operator<<(QDebug debug, const Version &version) inline QDebug operator<<(QDebug debug, const Version &version)
{ {
debug.noquote() << "(" << version.major.value << ", " << version.minor.value << ")"; debug.noquote() << "(" << version.major.value << ", " << version.minor.value << ")";
return debug; return debug;
} }
inline QDebug &operator<<(QDebug debug, const ExportedType &type) inline QDebug operator<<(QDebug debug, const Import &import)
{
debug.noquote() << "(" << import.moduleId << ", " << import.sourceId << ", " << import.version
<< ")";
return debug;
}
inline QDebug operator<<(QDebug debug, const ExportedType &type)
{ {
debug.noquote() << "(" << type.name << ", " << type.version << ")"; debug.noquote() << "(" << type.name << ", " << type.version << ")";
return debug; return debug;
} }
inline QDebug &operator<<(QDebug debug, const Type &type) inline QDebug operator<<(QDebug debug, const QualifiedImportedType &type)
{ {
debug.noquote() << "(" << type.typeName << ", " << type.exportedTypes << ")"; return debug.noquote() << "(" << type.name << ", " << type.import << ")";
}
inline QDebug operator<<(QDebug debug, const ImportedType &type)
{
return debug.noquote() << "(" << type.name << ")";
}
inline QDebug operator<<(QDebug debug, const ImportedTypeName &importedTypeName)
{
std::visit([&](auto &&type) { debug << type; }, importedTypeName);
return debug; return debug;
} }
inline QDebug &operator<<(QDebug debug, const ImportedTypeName &importedTypeName) inline QDebug operator<<(QDebug debug, const Type &type)
{ {
std::visit([&](auto &&type) { debug.noquote() << "(" << type.name << ")"; }, importedTypeName); debug.noquote() << "(" << type.typeName << ", " << type.prototype << ", " << type.exportedTypes
<< ")";
return debug; return debug;
} }