clang-tools
9.0.0
|
#include <Protocol.h>
Public Member Functions | |
URIForFile ()=default | |
llvm::StringRef | file () const |
Retrieves absolute path to the file. More... | |
operator bool () const | |
std::string | uri () const |
Static Public Member Functions | |
static URIForFile | canonicalize (llvm::StringRef AbsPath, llvm::StringRef TUPath) |
Canonicalizes AbsPath via URI. More... | |
static llvm::Expected< URIForFile > | fromURI (const URI &U, llvm::StringRef HintPath) |
Friends | |
bool | operator== (const URIForFile &LHS, const URIForFile &RHS) |
bool | operator!= (const URIForFile &LHS, const URIForFile &RHS) |
bool | operator< (const URIForFile &LHS, const URIForFile &RHS) |
Definition at line 72 of file Protocol.h.
|
default |
Referenced by canonicalize().
|
static |
Canonicalizes AbsPath
via URI.
File paths in URIForFile can come from index or local AST. Path from index goes through URI transformation, and the final path is resolved by URI scheme and could potentially be different from the original path. Hence, we do the same transformation for all paths.
Files can be referred to by several paths (e.g. in the presence of links). Which one we prefer may depend on where we're coming from. TUPath
is a hint, and should usually be the main entrypoint file we're processing.
Definition at line 32 of file Protocol.cpp.
References clang::clangd::elog(), clang::clangd::URI::resolvePath(), and URIForFile().
Referenced by clang::clangd::TUStatus::render(), and clang::clangd::toLSPDiags().
|
inline |
Retrieves absolute path to the file.
Definition at line 92 of file Protocol.h.
References clang::clangd::File.
Referenced by clang::clangd::asCommand(), clang::clangd::flattenSymbolHierarchy(), clang::clangd::getToggle(), and clang::clangd::toLSPDiags().
|
static |
Definition at line 45 of file Protocol.cpp.
|
inlineexplicit |
Definition at line 94 of file Protocol.h.
References clang::clangd::File.
|
inline |
Definition at line 95 of file Protocol.h.
References clang::clangd::URI::createFile(), clang::clangd::File, and clang::clangd::URI::toString().
Referenced by clang::clangd::symbolToTypeHierarchyItem().
|
friend |
Definition at line 101 of file Protocol.h.
|
friend |
Definition at line 105 of file Protocol.h.
|
friend |
Definition at line 97 of file Protocol.h.