logic: reduce access to filesystem while indexing
* use canonical filepath cache in cxx indexer * made constructors of FilePath explicit * use FilePath at more places instead of string * forward declares FilePath wherever possible
This commit is contained in:
@@ -3,10 +3,14 @@
|
||||
#include "clang/Frontend/FrontendActions.h"
|
||||
|
||||
ASTActionFactory::ASTActionFactory(
|
||||
std::shared_ptr<ParserClient> client, std::shared_ptr<FileRegister> fileRegister, bool preprocessorOnly
|
||||
std::shared_ptr<ParserClient> client,
|
||||
std::shared_ptr<FileRegister> fileRegister,
|
||||
std::shared_ptr<FilePathCache> canonicalFilePathCache,
|
||||
bool preprocessorOnly
|
||||
)
|
||||
: m_client(client)
|
||||
, m_fileRegister(fileRegister)
|
||||
, m_canonicalFilePathCache(canonicalFilePathCache)
|
||||
, m_preprocessorOnly(preprocessorOnly)
|
||||
{
|
||||
}
|
||||
@@ -19,10 +23,10 @@ clang::FrontendAction* ASTActionFactory::create()
|
||||
{
|
||||
if (m_preprocessorOnly)
|
||||
{
|
||||
return new ASTAction<clang::PreprocessOnlyAction>(m_client, m_fileRegister);
|
||||
return new ASTAction<clang::PreprocessOnlyAction>(m_client, m_fileRegister, m_canonicalFilePathCache);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new ASTAction<clang::ASTFrontendAction>(m_client, m_fileRegister);
|
||||
return new ASTAction<clang::ASTFrontendAction>(m_client, m_fileRegister, m_canonicalFilePathCache);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user