summaryrefslogtreecommitdiff
path: root/src/libs
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2018-09-12 10:14:14 +0200
committerDavid Schulz <david.schulz@qt.io>2018-09-13 07:56:58 +0000
commit22690a64a0fb8f09d8254ac643c7ba9cec617daf (patch)
tree06c048fe94da3e2c51be2e7e12d9c6f109a26efd /src/libs
parentb236874d2e582a57dc128a19580cf08e1bcc6254 (diff)
downloadqt-creator-22690a64a0fb8f09d8254ac643c7ba9cec617daf.tar.gz
LSP: use implicit conversion to QJsonValue for QLanguageClientValue
Change-Id: Ifb7bca111b652a00a492eccdfeb14eebce4ca298 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/languageserverprotocol/initializemessages.h6
-rw-r--r--src/libs/languageserverprotocol/lsptypes.h2
-rw-r--r--src/libs/languageserverprotocol/lsputils.h14
3 files changed, 11 insertions, 11 deletions
diff --git a/src/libs/languageserverprotocol/initializemessages.h b/src/libs/languageserverprotocol/initializemessages.h
index d9ad330a8a..1a2268b0cc 100644
--- a/src/libs/languageserverprotocol/initializemessages.h
+++ b/src/libs/languageserverprotocol/initializemessages.h
@@ -66,7 +66,7 @@ public:
* its process.
*/
LanguageClientValue<int> processId() const { return clientValue<int>(processIdKey); }
- void setProcessId(const LanguageClientValue<int> &id) { insert(processIdKey, id.toJson()); }
+ void setProcessId(const LanguageClientValue<int> &id) { insert(processIdKey, id); }
/*
* The rootPath of the workspace. Is null
@@ -77,7 +77,7 @@ public:
Utils::optional<LanguageClientValue<QString>> rootPath() const
{ return optionalClientValue<QString>(rootPathKey); }
void setRootPath(const LanguageClientValue<QString> &path)
- { insert(rootPathKey, path.toJson()); }
+ { insert(rootPathKey, path); }
void clearRootPath() { remove(rootPathKey); }
/*
@@ -88,7 +88,7 @@ public:
LanguageClientValue<DocumentUri> rootUri() const
{ return clientValue<QString>(rootUriKey).transform<DocumentUri>(); }
void setRootUri(const LanguageClientValue<DocumentUri> &uri)
- { insert(rootUriKey, uri.toJson()); }
+ { insert(rootUriKey, uri); }
// User provided initialization options.
Utils::optional<QJsonObject> initializationOptions() const
diff --git a/src/libs/languageserverprotocol/lsptypes.h b/src/libs/languageserverprotocol/lsptypes.h
index 014e67161b..ed56c16435 100644
--- a/src/libs/languageserverprotocol/lsptypes.h
+++ b/src/libs/languageserverprotocol/lsptypes.h
@@ -239,7 +239,7 @@ public:
* truth (as speced with document content ownership)
*/
LanguageClientValue<int> version() const { return clientValue<int>(versionKey); }
- void setVersion(LanguageClientValue<int> version) { insert(versionKey, version.toJson()); }
+ void setVersion(LanguageClientValue<int> version) { insert(versionKey, version); }
bool isValid(QStringList *error) const override
{ return TextDocumentIdentifier::isValid(error) && check<int, std::nullptr_t>(error, versionKey); }
diff --git a/src/libs/languageserverprotocol/lsputils.h b/src/libs/languageserverprotocol/lsputils.h
index 17c95084db..f4f489583a 100644
--- a/src/libs/languageserverprotocol/lsputils.h
+++ b/src/libs/languageserverprotocol/lsputils.h
@@ -118,6 +118,13 @@ public:
*this = fromJsonValue<T>(value);
}
+ operator const QJsonValue() const
+ {
+ if (auto val = Utils::get_if<T>(this))
+ return QJsonValue(*val);
+ return QJsonValue();
+ }
+
T value(const T &defaultValue = T()) const
{
QTC_ASSERT(Utils::holds_alternative<T>(*this), return defaultValue);
@@ -131,13 +138,6 @@ public:
return Type(Utils::get<T>(*this));
}
- QJsonValue toJson() const
- {
- if (auto val = Utils::get_if<T>(this))
- return QJsonValue(*val);
- return QJsonValue();
- }
-
bool isNull() const { return Utils::holds_alternative<std::nullptr_t>(*this); }
};