Files
Sourcetrail/src/lib_cxx/data/indexer/IndexerCommandCxxCdb.h
T

39 lines
995 B
C++

#ifndef INDEXER_COMMAND_CXX_CDB_H
#define INDEXER_COMMAND_CXX_CDB_H
#include "data/indexer/IndexerCommandCxx.h"
#include "utility/file/FilePath.h"
namespace clang
{
namespace tooling
{
struct CompileCommand;
}
}
class IndexerCommandCxxCdb
: public IndexerCommandCxx
{
public:
static std::vector<FilePath> getSourceFilesFromCDB(const FilePath& compilationDatabasePath);
static IndexerCommandType getStaticIndexerCommandType();
IndexerCommandCxxCdb(
const FilePath& sourceFilePath,
const std::set<FilePath>& indexedPaths,
const std::set<FilePath>& excludedPaths,
const FilePath& workingDirectory,
const std::vector<std::string>& compilerFlags,
const std::vector<FilePath>& systemHeaderSearchPaths,
const std::vector<FilePath>& frameworkSearchPaths);
virtual IndexerCommandType getIndexerCommandType() const override;
// this method only exists to avoid a linker problem on Linux
const FilePath& getWorkingDirectory() const;
};
#endif // INDEXER_COMMAND_CXX_CDB_H