summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/Protocol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/Protocol.cpp')
-rw-r--r--clang-tools-extra/clangd/Protocol.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/clang-tools-extra/clangd/Protocol.cpp b/clang-tools-extra/clangd/Protocol.cpp
index 0c10540ff3b..a884a0c4841 100644
--- a/clang-tools-extra/clangd/Protocol.cpp
+++ b/clang-tools-extra/clangd/Protocol.cpp
@@ -12,8 +12,8 @@
//===----------------------------------------------------------------------===//
#include "Protocol.h"
-#include "URI.h"
#include "Logger.h"
+#include "URI.h"
#include "clang/Basic/LLVM.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/Support/Format.h"
@@ -24,6 +24,11 @@
namespace clang {
namespace clangd {
+URIForFile::URIForFile(std::string AbsPath) {
+ assert(llvm::sys::path::is_absolute(AbsPath) && "the path is relative");
+ File = std::move(AbsPath);
+}
+
bool fromJSON(const json::Expr &E, URIForFile &R) {
if (auto S = E.asString()) {
auto U = URI::parse(*S);
@@ -40,15 +45,13 @@ bool fromJSON(const json::Expr &E, URIForFile &R) {
log(llvm::toString(Path.takeError()));
return false;
}
- R.file = *Path;
+ R = URIForFile(*Path);
return true;
}
return false;
}
-json::Expr toJSON(const URIForFile &U) {
- return U.uri();
-}
+json::Expr toJSON(const URIForFile &U) { return U.uri(); }
llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const URIForFile &U) {
return OS << U.uri();
OpenPOWER on IntegriCloud