aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/tools/codelocation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/tools/codelocation.cpp')
-rw-r--r--src/lib/corelib/tools/codelocation.cpp15
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>();