summaryrefslogtreecommitdiff
path: root/src/plugins/cppeditor/cppfindreferences.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2022-06-23 16:56:36 +0200
committerhjk <hjk@qt.io>2022-06-24 11:49:41 +0000
commitffa3aad57647be2d33246b5f07eaa32450dd87a6 (patch)
tree6ad17cd8d0e23ddedd461fd846777287f4029573 /src/plugins/cppeditor/cppfindreferences.cpp
parent85cd97a33446699f97a21429ceb22f3acf40a5be (diff)
downloadqt-creator-ffa3aad57647be2d33246b5f07eaa32450dd87a6.tar.gz
CPlusPlus: Inline some simple central functions
Depending on context, callgrind sees contributions of >8% to the total cost of project parsing for these functions. The functional are actualy executed executed out-of-line, often for a function body of one "payload" instruction only. Inlining removes the call/endbr64/ret overhead. Change-Id: I6886f08e322fcaa4e0f54d424279e0a8c24e4718 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/cppeditor/cppfindreferences.cpp')
-rw-r--r--src/plugins/cppeditor/cppfindreferences.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/plugins/cppeditor/cppfindreferences.cpp b/src/plugins/cppeditor/cppfindreferences.cpp
index 44f40505d1..1b4f78bef9 100644
--- a/src/plugins/cppeditor/cppfindreferences.cpp
+++ b/src/plugins/cppeditor/cppfindreferences.cpp
@@ -413,11 +413,11 @@ static void find_helper(QFutureInterface<CPlusPlus::Usage> &future,
symbol->fileNameLength());
Utils::FilePaths files{sourceFile};
- if (symbol->isClass()
- || symbol->isForwardClassDeclaration()
+ if (symbol->asClass()
+ || symbol->asForwardClassDeclaration()
|| (symbol->enclosingScope()
&& !symbol->isStatic()
- && symbol->enclosingScope()->isNamespace())) {
+ && symbol->enclosingScope()->asNamespace())) {
const CPlusPlus::Snapshot snapshotFromContext = context.snapshot();
for (auto i = snapshotFromContext.begin(), ei = snapshotFromContext.end(); i != ei; ++i) {
if (i.key() == sourceFile)
@@ -479,7 +479,7 @@ void CppFindReferences::findUsages(CPlusPlus::Symbol *symbol,
parameters.symbolFileName = QByteArray(symbol->fileName());
parameters.categorize = codeModelSettings()->categorizeFindReferences();
- if (symbol->isClass() || symbol->isForwardClassDeclaration()) {
+ if (symbol->asClass() || symbol->asForwardClassDeclaration()) {
CPlusPlus::Overview overview;
parameters.prettySymbolName =
overview.prettyName(CPlusPlus::LookupContext::path(symbol).constLast());