diff options
author | David Schulz <david.schulz@qt.io> | 2018-09-12 10:14:14 +0200 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2018-09-13 07:56:58 +0000 |
commit | 22690a64a0fb8f09d8254ac643c7ba9cec617daf (patch) | |
tree | 06c048fe94da3e2c51be2e7e12d9c6f109a26efd /src/libs | |
parent | b236874d2e582a57dc128a19580cf08e1bcc6254 (diff) | |
download | qt-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.h | 6 | ||||
-rw-r--r-- | src/libs/languageserverprotocol/lsptypes.h | 2 | ||||
-rw-r--r-- | src/libs/languageserverprotocol/lsputils.h | 14 |
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); } }; |