diff options
Diffstat (limited to 'src/lib/corelib/tools/codelocation.cpp')
-rw-r--r-- | src/lib/corelib/tools/codelocation.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/corelib/tools/codelocation.cpp b/src/lib/corelib/tools/codelocation.cpp index 2c6ade3b0..5eff378e1 100644 --- a/src/lib/corelib/tools/codelocation.cpp +++ b/src/lib/corelib/tools/codelocation.cpp @@ -41,9 +41,12 @@ #include <tools/fileinfo.h> #include <tools/persistence.h> #include <tools/qbsassert.h> +#include <tools/stringconstants.h> #include <QtCore/qdatastream.h> #include <QtCore/qdir.h> +#include <QtCore/qjsonobject.h> +#include <QtCore/qjsonvalue.h> #include <QtCore/qregexp.h> #include <QtCore/qshareddata.h> #include <QtCore/qstring.h> @@ -134,6 +137,18 @@ QString CodeLocation::toString() const return str; } +QJsonObject CodeLocation::toJson() const +{ + QJsonObject obj; + if (!filePath().isEmpty()) + obj.insert(Internal::StringConstants::filePathKey(), filePath()); + if (line() != -1) + obj.insert(QStringLiteral("line"), line()); + if (column() != -1) + obj.insert(QStringLiteral("column"), column()); + return obj; +} + void CodeLocation::load(Internal::PersistentPool &pool) { const bool isValid = pool.load<bool>(); |