diff --git a/clang-tools-extra/clangd/Protocol.h b/clang-tools-extra/clangd/Protocol.h --- a/clang-tools-extra/clangd/Protocol.h +++ b/clang-tools-extra/clangd/Protocol.h @@ -1772,7 +1772,7 @@ unsigned startCharacter; unsigned endLine = 0; unsigned endCharacter; - llvm::Optional kind; + std::string kind; }; llvm::json::Value toJSON(const FoldingRange &Range); diff --git a/clang-tools-extra/clangd/Protocol.cpp b/clang-tools-extra/clangd/Protocol.cpp --- a/clang-tools-extra/clangd/Protocol.cpp +++ b/clang-tools-extra/clangd/Protocol.cpp @@ -1444,8 +1444,8 @@ Result["startCharacter"] = Range.startCharacter; if (Range.endCharacter) Result["endCharacter"] = Range.endCharacter; - if (Range.kind) - Result["kind"] = *Range.kind; + if (!Range.kind.empty()) + Result["kind"] = Range.kind; return Result; }