Index: clang-tools-extra/clangd/Protocol.h =================================================================== --- clang-tools-extra/clangd/Protocol.h +++ clang-tools-extra/clangd/Protocol.h @@ -1576,6 +1576,7 @@ /// naturally when placed inline with the code. std::string label; }; +const char* toString(InlayHintKind); llvm::json::Value toJSON(const InlayHint &); bool operator==(const InlayHint &, const InlayHint &); bool operator<(const InlayHint &, const InlayHint &); Index: clang-tools-extra/clangd/Protocol.cpp =================================================================== --- clang-tools-extra/clangd/Protocol.cpp +++ clang-tools-extra/clangd/Protocol.cpp @@ -1316,7 +1316,7 @@ return O && O.map("textDocument", R.textDocument) && O.map("range", R.range); } -llvm::json::Value toJSON(InlayHintKind K) { +const char* toString(InlayHintKind K){ switch (K) { case InlayHintKind::ParameterHint: return "parameter"; @@ -1328,6 +1328,10 @@ llvm_unreachable("Unknown clang.clangd.InlayHintKind"); } +llvm::json::Value toJSON(InlayHintKind K) { + return toString(K); +} + llvm::json::Value toJSON(const InlayHint &H) { return llvm::json::Object{{"position", H.position}, {"range", H.range}, Index: clang-tools-extra/clangd/tool/Check.cpp =================================================================== --- clang-tools-extra/clangd/tool/Check.cpp +++ clang-tools-extra/clangd/tool/Check.cpp @@ -192,7 +192,7 @@ return true; } - // Build Inlay Hints for the entire AST + // Build Inlay Hints for the entire AST or the specified range bool buildInlayHints(llvm::Optional LineRange) { log("Building inlay hints"); auto Hints = inlayHints(*AST, LineRange);