50 std::size_t totalCount = 0;
51 std::size_t declCount = 0;
52 std::size_t stmtCount = 0;
53 std::size_t typeCount = 0;
54 std::size_t typeLocCount = 0;
55 std::size_t attrCount = 0;
56 std::size_t conceptRefCount = 0;
57 std::size_t cxxBaseSpecCount = 0;
58 std::size_t ctorInitCount = 0;
59 std::size_t lambdaCaptureCount = 0;
60 std::size_t nestedNameSpecCount = 0;
61 std::size_t nestedNameSpecLocCount = 0;
62 std::size_t tempArgCount = 0;
63 std::size_t tempArgLocCount = 0;
64 std::size_t tempNameCount = 0;
65 std::size_t commentCount = 0;
91 using AstLoader = std::function<std::unique_ptr<clang::ASTUnit>(
92 const std::string &astFilePath, std::string &errorOut,
93 const std::string &compilationDbPath,
const std::string &sourcePath)>;
97 QObject *parent =
nullptr);
101 AstLoader loader, QObject *parent =
nullptr);
122 void run(
const QString &astFilePath,
const QStringList &tuFilePaths,
123 const QString &compilationDbPath = QString());
128 bool commentExtractionEnabled()
const {
return commentExtractionEnabled_.load(); }
131 void started(
const QString &astFilePath);
132 void progress(
const QString &message);
135 void error(
const QString &message);
136 void logMessage(
const LogEntry &entry);
139 void registerInputFiles(
const QStringList &tuFilePaths);
140 AstViewNode *buildTreeFromASTUnit(clang::ASTUnit &astUnit);
147 std::chrono::steady_clock::time_point start_;
148 std::atomic<bool> commentExtractionEnabled_{
false};
Memory manager for AST nodes in a translation unit.