diff options
Diffstat (limited to 'clang-tools-extra/include-fixer/YamlXrefsDB.h')
-rw-r--r-- | clang-tools-extra/include-fixer/YamlXrefsDB.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/clang-tools-extra/include-fixer/YamlXrefsDB.h b/clang-tools-extra/include-fixer/YamlXrefsDB.h index 1efed6bce8a..9901431e411 100644 --- a/clang-tools-extra/include-fixer/YamlXrefsDB.h +++ b/clang-tools-extra/include-fixer/YamlXrefsDB.h @@ -12,6 +12,7 @@ #include "XrefsDB.h" #include "find-all-symbols/SymbolInfo.h" +#include "llvm/Support/ErrorOr.h" #include <map> #include <vector> @@ -21,12 +22,20 @@ namespace include_fixer { /// Yaml format database. class YamlXrefsDB : public XrefsDB { public: - YamlXrefsDB(llvm::StringRef FilePath); + /// Create a new Yaml db from a file. + static llvm::ErrorOr<std::unique_ptr<YamlXrefsDB>> + createFromFile(llvm::StringRef FilePath); + /// Look for a file called \c Name in \c Directory and all parent directories. + static llvm::ErrorOr<std::unique_ptr<YamlXrefsDB>> + createFromDirectory(llvm::StringRef Directory, llvm::StringRef Name); std::vector<clang::find_all_symbols::SymbolInfo> search(llvm::StringRef Identifier) override; private: + explicit YamlXrefsDB(std::vector<clang::find_all_symbols::SymbolInfo> Symbols) + : Symbols(std::move(Symbols)) {} + std::vector<clang::find_all_symbols::SymbolInfo> Symbols; }; |