aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/buildgraph/inputartifactscanner.h
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2016-12-12 13:10:33 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2016-12-19 15:07:34 +0000
commit21e82bbbe316f582ee11c8996e24e402f9342606 (patch)
treedf3ac27e814e83f0cf914944bcf3f354fad64638 /src/lib/corelib/buildgraph/inputartifactscanner.h
parentd3b1bf682181277e03299b1567631e144df12a67 (diff)
Merge the C/C++ include scanners
We had one scanner for every type of file in the C family, all of which collected the same set of includes, but under a different entry in the scanner cache. Thus, lots of header files were unnecessarily re-scanned. We fix this by making the scanner plugins declare a *list* of tags they can handle and passing the currently active tags in the open() function. ========== Performance data for Rule Execution ========== Old instruction count: 3775190973 New instruction count: 3441085735 Relative change: -9 % Old peak memory usage: 18174216 Bytes New peak memory usage: 17307600 Bytes Relative change: -5 % Change-Id: I222d1ec4bbfbc06ecd8c81faa55a500bc0da1ee6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/inputartifactscanner.h')
-rw-r--r--src/lib/corelib/buildgraph/inputartifactscanner.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/corelib/buildgraph/inputartifactscanner.h b/src/lib/corelib/buildgraph/inputartifactscanner.h
index 62f976d5d..39304879c 100644
--- a/src/lib/corelib/buildgraph/inputartifactscanner.h
+++ b/src/lib/corelib/buildgraph/inputartifactscanner.h
@@ -140,9 +140,12 @@ private:
const ScanResultCache::Result &scanResult, QList<FileResourceBase *> *artifactsToScan,
InputArtifactScannerContext::ScannerResolvedDependenciesCache &cache);
void handleDependency(ResolvedDependency &dependency);
+ void scanWithScannerPlugin(DependencyScanner *scanner, FileResourceBase *fileToBeScanned,
+ ScanResultCache::Result *scanResult);
Artifact * const m_artifact;
InputArtifactScannerContext *const m_context;
+ const char *m_fileTagsForScanner;
bool m_newDependencyAdded;
Logger m_logger;
};