diff --git a/src/libs/languageserverprotocol/lsptypes.cpp b/src/libs/languageserverprotocol/lsptypes.cpp index 3dd735c0beb..ed1a5a7a05a 100644 --- a/src/libs/languageserverprotocol/lsptypes.cpp +++ b/src/libs/languageserverprotocol/lsptypes.cpp @@ -162,7 +162,7 @@ bool SymbolInformation::isValid(ErrorHierarchy *error) const bool TextDocumentEdit::isValid(ErrorHierarchy *error) const { - return check(error, idKey) + return check(error, textDocumentKey) && checkArray(error, editsKey); } diff --git a/src/libs/languageserverprotocol/lsptypes.h b/src/libs/languageserverprotocol/lsptypes.h index fa01862d8b5..e4a9b993a3e 100644 --- a/src/libs/languageserverprotocol/lsptypes.h +++ b/src/libs/languageserverprotocol/lsptypes.h @@ -271,9 +271,10 @@ public: using JsonObject::JsonObject; // The text document to change. - VersionedTextDocumentIdentifier id() const - { return typedValue(idKey); } - void setId(const VersionedTextDocumentIdentifier &id) { insert(idKey, id); } + VersionedTextDocumentIdentifier textDocument() const + { return typedValue(textDocumentKey); } + void setTextDocument(const VersionedTextDocumentIdentifier &textDocument) + { insert(textDocumentKey, textDocument); } // The edits to be applied. QList edits() const { return array(editsKey); } diff --git a/src/plugins/languageclient/languageclientutils.cpp b/src/plugins/languageclient/languageclientutils.cpp index d6f6c1676b8..cf907e13977 100644 --- a/src/plugins/languageclient/languageclientutils.cpp +++ b/src/plugins/languageclient/languageclientutils.cpp @@ -81,9 +81,9 @@ bool applyTextDocumentEdit(const TextDocumentEdit &edit) const QList &edits = edit.edits(); if (edits.isEmpty()) return true; - const DocumentUri &uri = edit.id().uri(); + const DocumentUri &uri = edit.textDocument().uri(); if (TextDocument* doc = TextDocument::textDocumentForFilePath(uri.toFilePath())) { - LanguageClientValue version = edit.id().version(); + LanguageClientValue version = edit.textDocument().version(); if (!version.isNull() && version.value(0) < doc->document()->revision()) return false; } @@ -163,7 +163,7 @@ void updateCodeActionRefactoringMarker(Client *client, if (optional> documentChanges = edit.documentChanges()) { QList changesForUri = Utils::filtered( documentChanges.value(), [uri](const TextDocumentEdit &edit) { - return edit.id().uri() == uri; + return edit.textDocument().uri() == uri; }); for (const TextDocumentEdit &edit : changesForUri) edits << edit.edits();