You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

22 lines
840 B

#include "compile_commands.hpp"
11 years ago
clangmm::CompileCommands::CompileCommands(const std::string &filename, CompilationDatabase &db) {
8 years ago
if(!filename.empty())
cx_commands = clang_CompilationDatabase_getCompileCommands(db.cx_db, filename.c_str());
if(filename.empty() || clang_CompileCommands_getSize(cx_commands) == 0)
cx_commands = clang_CompilationDatabase_getAllCompileCommands(db.cx_db);
11 years ago
}
clangmm::CompileCommands::~CompileCommands() {
clang_CompileCommands_dispose(cx_commands);
11 years ago
}
std::vector<clangmm::CompileCommand> clangmm::CompileCommands::get_commands() {
8 years ago
unsigned size = clang_CompileCommands_getSize(cx_commands);
std::vector<CompileCommand> commands;
commands.reserve(size);
for(unsigned i = 0; i < size; i++)
8 years ago
commands.emplace_back(clang_CompileCommands_getCommand(cx_commands, i));
return commands;
11 years ago
}