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"
47 : Directory(Directory.str()),
48 Filename(Filename.str()),
49 CommandLine(std::move(CommandLine)) {}
93 static std::unique_ptr<CompilationDatabase>
100 static std::unique_ptr<CompilationDatabase>
107 static std::unique_ptr<CompilationDatabase>
123 virtual std::vector<std::string>
getAllFiles()
const = 0;
151 virtual std::unique_ptr<CompilationDatabase>
187 const char *
const *Argv,
188 Twine Directory =
".");
199 std::vector<CompileCommand>
205 std::vector<std::string>
getAllFiles()
const override;
216 std::vector<CompileCommand> CompileCommands;
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
std::vector< std::string > CommandLine