From 2bd5e3fb3cc032f90447067d38c48c75b23f32c5 Mon Sep 17 00:00:00 2001 From: Sam McCall Date: Thu, 24 Sep 2020 01:51:29 +0200 Subject: [PATCH] [clangd] Improve bad-RPC-payload error messages slightly --- clang-tools-extra/clangd/ClangdLSPServer.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/clang-tools-extra/clangd/ClangdLSPServer.h b/clang-tools-extra/clangd/ClangdLSPServer.h index 7815d4e..ab34ea7 100644 --- a/clang-tools-extra/clangd/ClangdLSPServer.h +++ b/clang-tools-extra/clangd/ClangdLSPServer.h @@ -187,7 +187,8 @@ private: T Result; llvm::json::Path::Root Root; if (!fromJSON(Raw, Result, Root)) { - elog("Failed to decode {0} {1}", PayloadName, PayloadKind); + elog("Failed to decode {0} {1}: {2}", PayloadName, PayloadKind, + Root.getError()); // Dump the relevant parts of the broken message. std::string Context; llvm::raw_string_ostream OS(Context); @@ -195,7 +196,8 @@ private: vlog("{0}", OS.str()); // Report the error (e.g. to the client). return llvm::make_error( - llvm::formatv("failed to decode {0} {1}", PayloadName, PayloadKind), + llvm::formatv("failed to decode {0} {1}: {2}", PayloadName, + PayloadKind, fmt_consume(Root.getError())), ErrorCode::InvalidParams); } return std::move(Result); -- 2.7.4