10 #include "llvm/ADT/SmallVector.h" 11 #include "llvm/Support/Errc.h" 12 #include "llvm/Support/FileSystem.h" 13 #include "llvm/Support/MemoryBuffer.h" 14 #include "llvm/Support/Path.h" 22 namespace include_fixer {
24 llvm::ErrorOr<std::unique_ptr<YamlSymbolIndex>>
26 auto Buffer = llvm::MemoryBuffer::getFile(FilePath);
28 return Buffer.getError();
34 llvm::ErrorOr<std::unique_ptr<YamlSymbolIndex>>
36 llvm::StringRef
Name) {
38 for (llvm::SmallString<128> PathStorage = Directory; !Directory.empty();
39 Directory = llvm::sys::path::parent_path(Directory)) {
40 assert(Directory.size() <= PathStorage.size());
41 PathStorage.resize(Directory.size());
42 llvm::sys::path::append(PathStorage, Name);
46 return llvm::make_error_code(llvm::errc::no_such_file_or_directory);
49 std::vector<SymbolAndSignals>
51 std::vector<SymbolAndSignals>
Results;
52 for (
const auto &Symbol : Symbols) {
53 if (Symbol.Symbol.getName() == Identifier)
54 Results.push_back(Symbol);
std::vector< CodeCompletionResult > Results
std::vector< SymbolAndSignals > ReadSymbolInfosFromYAML(llvm::StringRef Yaml)
Read SymbolInfos from a YAML document.
clang::find_all_symbols::SymbolInfo SymbolInfo
std::vector< find_all_symbols::SymbolAndSignals > search(llvm::StringRef Identifier) override
Search for all SymbolInfos corresponding to an identifier.
static llvm::ErrorOr< std::unique_ptr< YamlSymbolIndex > > createFromDirectory(llvm::StringRef Directory, llvm::StringRef Name)
Look for a file called Name in Directory and all parent directories.
static constexpr llvm::StringLiteral Name
llvm::StringRef Directory
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
static llvm::ErrorOr< std::unique_ptr< YamlSymbolIndex > > createFromFile(llvm::StringRef FilePath)
Create a new Yaml db from a file.