28 #ifndef LLVM_CLANG_TOOLING_COMPILATIONDATABASE_H
29 #define LLVM_CLANG_TOOLING_COMPILATIONDATABASE_H
32 #include "llvm/ADT/ArrayRef.h"
33 #include "llvm/ADT/StringRef.h"
34 #include "llvm/ADT/Twine.h"
46 : Directory(Directory.str()), CommandLine(std::move(CommandLine)) {}
87 static std::unique_ptr<CompilationDatabase>
94 static std::unique_ptr<CompilationDatabase>
101 static std::unique_ptr<CompilationDatabase>
114 StringRef FilePath)
const = 0;
117 virtual std::vector<std::string>
getAllFiles()
const = 0;
145 virtual std::unique_ptr<CompilationDatabase>
181 const char *
const *Argv,
182 Twine Directory =
".");
193 std::vector<CompileCommand>
199 std::vector<std::string>
getAllFiles()
const override;
210 std::vector<CompileCommand> CompileCommands;
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
std::vector< std::string > CommandLine