summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2022-08-10 09:41:42 +0200
committerhjk <hjk@qt.io>2022-08-10 14:45:28 +0000
commit0197a62fcf6742f9fd444a1d8bb473299095293d (patch)
treec03375990cc1a33ac37589b264765bd7ba046096
parentf9ce879b6119b713d1923ad697b23a82a2fe1840 (diff)
downloadqt-creator-0197a62fcf6742f9fd444a1d8bb473299095293d.tar.gz
CPlusPlus: Microoptimizations
Inline some simple accessors, return references instead of copies in some getters, Change-Id: I136574823c79ad0c63ed354b78e1ad83908e7ae5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/libs/cplusplus/CppDocument.cpp48
-rw-r--r--src/libs/cplusplus/CppDocument.h50
-rw-r--r--src/libs/cplusplus/Macro.h2
-rw-r--r--src/libs/cplusplus/TypeOfExpression.cpp3
-rw-r--r--src/plugins/autotest/qtest/qttestparser.cpp4
-rw-r--r--src/plugins/cppeditor/builtincursorinfo.cpp3
-rw-r--r--src/plugins/cppeditor/builtineditordocumentprocessor.cpp6
-rw-r--r--src/plugins/cppeditor/cppcompletionassist.cpp3
-rw-r--r--src/plugins/cppeditor/cppelementevaluator.cpp3
-rw-r--r--src/plugins/cppeditor/cppfindreferences.cpp3
-rw-r--r--src/plugins/cppeditor/cppfollowsymbolundercursor.cpp3
-rw-r--r--src/plugins/cppeditor/cppsourceprocessor_test.cpp3
-rw-r--r--src/plugins/cppeditor/includeutils.cpp3
13 files changed, 36 insertions, 98 deletions
diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp
index 4db9109084..34f4534d3b 100644
--- a/src/libs/cplusplus/CppDocument.cpp
+++ b/src/libs/cplusplus/CppDocument.cpp
@@ -294,11 +294,6 @@ Document::~Document()
_control = nullptr;
}
-Control *Document::control() const
-{
- return _control;
-}
-
Control *Document::swapControl(Control *newControl)
{
if (newControl) {
@@ -318,41 +313,11 @@ Control *Document::swapControl(Control *newControl)
return oldControl;
}
-unsigned Document::revision() const
-{
- return _revision;
-}
-
-void Document::setRevision(unsigned revision)
-{
- _revision = revision;
-}
-
-unsigned Document::editorRevision() const
-{
- return _editorRevision;
-}
-
-void Document::setEditorRevision(unsigned editorRevision)
-{
- _editorRevision = editorRevision;
-}
-
-QDateTime Document::lastModified() const
-{
- return _lastModified;
-}
-
void Document::setLastModified(const QDateTime &lastModified)
{
_lastModified = lastModified;
}
-QString Document::fileName() const
-{
- return _fileName;
-}
-
QStringList Document::includedFiles() const
{
QStringList files;
@@ -455,11 +420,6 @@ void Document::addUndefinedMacroUse(const QByteArray &name,
\sa Document::macroUses(), Document::undefinedMacroUses()
*/
-TranslationUnit *Document::translationUnit() const
-{
- return _translationUnit;
-}
-
bool Document::skipFunctionBody() const
{
return _translationUnit->skipFunctionBody();
@@ -483,11 +443,6 @@ Symbol *Document::globalSymbolAt(int index) const
return _globalNamespace->memberAt(index);
}
-Namespace *Document::globalNamespace() const
-{
- return _globalNamespace;
-}
-
void Document::setGlobalNamespace(Namespace *globalNamespace)
{
_globalNamespace = globalNamespace;
@@ -590,9 +545,6 @@ Document::Ptr Document::create(const QString &fileName)
return doc;
}
-QByteArray Document::utf8Source() const
-{ return _source; }
-
void Document::setUtf8Source(const QByteArray &source)
{
_source = source;
diff --git a/src/libs/cplusplus/CppDocument.h b/src/libs/cplusplus/CppDocument.h
index 21e1ac7e77..367619582f 100644
--- a/src/libs/cplusplus/CppDocument.h
+++ b/src/libs/cplusplus/CppDocument.h
@@ -62,16 +62,16 @@ public:
public:
~Document();
- unsigned revision() const;
- void setRevision(unsigned revision);
+ unsigned revision() const { return _revision; }
+ void setRevision(unsigned revision) { _revision = revision; }
- unsigned editorRevision() const;
- void setEditorRevision(unsigned editorRevision);
+ unsigned editorRevision() const { return _editorRevision; }
+ void setEditorRevision(unsigned editorRevision) { _editorRevision = editorRevision; }
- QDateTime lastModified() const;
+ const QDateTime &lastModified() const { return _lastModified; }
void setLastModified(const QDateTime &lastModified);
- QString fileName() const;
+ const QString &fileName() const { return _fileName; }
void appendMacro(const Macro &macro);
void addMacroUse(const Macro &macro,
@@ -81,9 +81,9 @@ public:
void addUndefinedMacroUse(const QByteArray &name,
int bytesOffset, int utf16charsOffset);
- Control *control() const;
+ Control *control() const { return _control; }
Control *swapControl(Control *newControl);
- TranslationUnit *translationUnit() const;
+ TranslationUnit *translationUnit() const { return _translationUnit; }
bool skipFunctionBody() const;
void setSkipFunctionBody(bool skipFunctionBody);
@@ -91,23 +91,21 @@ public:
int globalSymbolCount() const;
Symbol *globalSymbolAt(int index) const;
- Namespace *globalNamespace() const;
+ Namespace *globalNamespace() const { return _globalNamespace; }
void setGlobalNamespace(Namespace *globalNamespace); // ### internal
- QList<Macro> definedMacros() const
- { return _definedMacros; }
+ const QList<Macro> &definedMacros() const { return _definedMacros; }
QString functionAt(int line, int column, int *lineOpeningDeclaratorParenthesis = nullptr,
int *lineClosingBrace = nullptr) const;
Symbol *lastVisibleSymbolAt(int line, int column = 0) const;
Scope *scopeAt(int line, int column = 0);
- QByteArray utf8Source() const;
+ const QByteArray &utf8Source() const { return _source; }
void setUtf8Source(const QByteArray &utf8Source);
- QByteArray fingerprint() const { return m_fingerprint; }
- void setFingerprint(const QByteArray &fingerprint)
- { m_fingerprint = fingerprint; }
+ const QByteArray &fingerprint() const { return m_fingerprint; }
+ void setFingerprint(const QByteArray &fingerprint) { m_fingerprint = fingerprint; }
LanguageFeatures languageFeatures() const;
void setLanguageFeatures(LanguageFeatures features);
@@ -173,7 +171,7 @@ public:
bool isFatal() const
{ return _level == Fatal; }
- QString fileName() const
+ const QString &fileName() const
{ return _fileName; }
int line() const
@@ -185,7 +183,7 @@ public:
int length() const
{ return _length; }
- QString text() const
+ const QString &text() const
{ return _text; }
bool operator==(const DiagnosticMessage &other) const;
@@ -206,7 +204,7 @@ public:
void clearDiagnosticMessages()
{ _diagnosticMessages.clear(); }
- QList<DiagnosticMessage> diagnosticMessages() const
+ const QList<DiagnosticMessage> &diagnosticMessages() const
{ return _diagnosticMessages; }
class Block
@@ -256,10 +254,10 @@ public:
, _type(type)
{ }
- QString resolvedFileName() const
+ const QString &resolvedFileName() const
{ return _resolvedFileName; }
- QString unresolvedFileName() const
+ const QString &unresolvedFileName() const
{ return _unresolvedFileName; }
int line() const
@@ -290,7 +288,7 @@ public:
bool isFunctionLike() const
{ return _macro.isFunctionLike(); }
- QVector<Block> arguments() const
+ const QVector<Block> &arguments() const
{ return _arguments; }
int beginLine() const
@@ -327,19 +325,19 @@ public:
QStringList includedFiles() const;
void addIncludeFile(const Include &include);
- QList<Include> resolvedIncludes() const
+ const QList<Include> &resolvedIncludes() const
{ return _resolvedIncludes; }
- QList<Include> unresolvedIncludes() const
+ const QList<Include> &unresolvedIncludes() const
{ return _unresolvedIncludes; }
- QList<Block> skippedBlocks() const
+ const QList<Block> &skippedBlocks() const
{ return _skippedBlocks; }
- QList<MacroUse> macroUses() const
+ const QList<MacroUse> macroUses() const
{ return _macroUses; }
- QList<UndefinedMacroUse> undefinedMacroUses() const
+ const QList<UndefinedMacroUse> &undefinedMacroUses() const
{ return _undefinedMacroUses; }
void setIncludeGuardMacroName(const QByteArray &includeGuardMacroName)
diff --git a/src/libs/cplusplus/Macro.h b/src/libs/cplusplus/Macro.h
index ba510109a8..3cdd1880ae 100644
--- a/src/libs/cplusplus/Macro.h
+++ b/src/libs/cplusplus/Macro.h
@@ -88,7 +88,7 @@ public:
void addFormal(const QByteArray &formal)
{ _formals.append(formal); }
- QString fileName() const
+ const QString &fileName() const
{ return _fileName; }
void setFileName(const QString &fileName)
diff --git a/src/libs/cplusplus/TypeOfExpression.cpp b/src/libs/cplusplus/TypeOfExpression.cpp
index 235481ebef..c391c32656 100644
--- a/src/libs/cplusplus/TypeOfExpression.cpp
+++ b/src/libs/cplusplus/TypeOfExpression.cpp
@@ -161,8 +161,7 @@ void TypeOfExpression::processEnvironment(Document::Ptr doc, Environment *env,
for (const Document::Include &incl : includes)
processEnvironment(m_snapshot.document(incl.resolvedFileName()), env, processed);
- const QList<Macro> macros = doc->definedMacros();
- for (const Macro &macro : macros)
+ for (const Macro &macro : doc->definedMacros())
env->bind(macro);
}
}
diff --git a/src/plugins/autotest/qtest/qttestparser.cpp b/src/plugins/autotest/qtest/qttestparser.cpp
index 10bb965198..5e12c2d2c2 100644
--- a/src/plugins/autotest/qtest/qttestparser.cpp
+++ b/src/plugins/autotest/qtest/qttestparser.cpp
@@ -111,9 +111,7 @@ TestCases QtTestParser::testCases(const CppEditor::CppModelManager *modelManager
if (document.isNull())
return {};
- const QList<CPlusPlus::Document::MacroUse> macros = document->macroUses();
-
- for (const CPlusPlus::Document::MacroUse &macro : macros) {
+ for (const CPlusPlus::Document::MacroUse &macro : document->macroUses()) {
if (!macro.isFunctionLike())
continue;
const QByteArray name = macro.macro().name();
diff --git a/src/plugins/cppeditor/builtincursorinfo.cpp b/src/plugins/cppeditor/builtincursorinfo.cpp
index 5fb945166f..7aca6a80a1 100644
--- a/src/plugins/cppeditor/builtincursorinfo.cpp
+++ b/src/plugins/cppeditor/builtincursorinfo.cpp
@@ -296,8 +296,7 @@ bool handleMacroCase(const Document::Ptr document,
ranges->append(toRange(textCursor, macro->utf16CharOffset(), length));
// Other macro uses
- const QList<Document::MacroUse> macroUses = document->macroUses();
- for (const Document::MacroUse &use : macroUses) {
+ for (const Document::MacroUse &use : document->macroUses()) {
if (isMacroUseOf(use, *macro))
ranges->append(toRange(textCursor, use.utf16charsBegin(), length));
}
diff --git a/src/plugins/cppeditor/builtineditordocumentprocessor.cpp b/src/plugins/cppeditor/builtineditordocumentprocessor.cpp
index 21cacae9c0..d13219a2a7 100644
--- a/src/plugins/cppeditor/builtineditordocumentprocessor.cpp
+++ b/src/plugins/cppeditor/builtineditordocumentprocessor.cpp
@@ -108,8 +108,7 @@ CheckSymbols *createHighlighter(const CPlusPlus::Document::Ptr &doc,
using Utils::Text::convertPosition;
// Get macro definitions
- const QList<CPlusPlus::Macro> definedMacros = doc->definedMacros();
- for (const CPlusPlus::Macro &macro : definedMacros) {
+ for (const CPlusPlus::Macro &macro : doc->definedMacros()) {
int line, column;
convertPosition(textDocument, macro.utf16CharOffset(), &line, &column);
@@ -120,8 +119,7 @@ CheckSymbols *createHighlighter(const CPlusPlus::Document::Ptr &doc,
const LanguageFeatures features = doc->languageFeatures();
// Get macro uses
- const QList<Document::MacroUse> macroUseList = doc->macroUses();
- for (const Document::MacroUse &macro : macroUseList) {
+ for (const Document::MacroUse &macro : doc->macroUses()) {
const QString name = macro.macro().nameToQString();
//Filter out QtKeywords
diff --git a/src/plugins/cppeditor/cppcompletionassist.cpp b/src/plugins/cppeditor/cppcompletionassist.cpp
index 997945506e..e674864582 100644
--- a/src/plugins/cppeditor/cppcompletionassist.cpp
+++ b/src/plugins/cppeditor/cppcompletionassist.cpp
@@ -1892,8 +1892,7 @@ void InternalCppCompletionAssistProcessor::addMacros_helper(const Snapshot &snap
for (const Document::Include &i : includes)
addMacros_helper(snapshot, i.resolvedFileName(), processed, definedMacros);
- const QList<CPlusPlus::Macro> macros = doc->definedMacros();
- for (const CPlusPlus::Macro &macro : macros) {
+ for (const CPlusPlus::Macro &macro : doc->definedMacros()) {
const QString macroName = macro.nameToQString();
if (!macro.isHidden())
definedMacros->insert(macroName);
diff --git a/src/plugins/cppeditor/cppelementevaluator.cpp b/src/plugins/cppeditor/cppelementevaluator.cpp
index 69f90d124e..b478f135f8 100644
--- a/src/plugins/cppeditor/cppelementevaluator.cpp
+++ b/src/plugins/cppeditor/cppelementevaluator.cpp
@@ -658,8 +658,7 @@ bool FromGuiFunctor::matchIncludeFile(const Document::Ptr &document, int line)
bool FromGuiFunctor::matchMacroInUse(const Document::Ptr &document, int pos)
{
- const QList<Document::MacroUse> macros = document->macroUses();
- for (const Document::MacroUse &use : macros) {
+ for (const Document::MacroUse &use : document->macroUses()) {
if (use.containsUtf16charOffset(pos)) {
const int begin = use.utf16charsBegin();
if (pos < begin + use.macro().nameToQString().size()) {
diff --git a/src/plugins/cppeditor/cppfindreferences.cpp b/src/plugins/cppeditor/cppfindreferences.cpp
index 62d0ed8ca0..9cc35e6a3b 100644
--- a/src/plugins/cppeditor/cppfindreferences.cpp
+++ b/src/plugins/cppeditor/cppfindreferences.cpp
@@ -732,8 +732,7 @@ restart_search:
return usages;
usages.clear();
- const QList<CPlusPlus::Document::MacroUse> uses = doc->macroUses();
- for (const CPlusPlus::Document::MacroUse &use : uses) {
+ for (const CPlusPlus::Document::MacroUse &use : doc->macroUses()) {
const CPlusPlus::Macro &useMacro = use.macro();
if (useMacro.fileName() == macro.fileName()) { // Check if this is a match, but possibly against an outdated document.
diff --git a/src/plugins/cppeditor/cppfollowsymbolundercursor.cpp b/src/plugins/cppeditor/cppfollowsymbolundercursor.cpp
index 840908f68e..0bdbaa251c 100644
--- a/src/plugins/cppeditor/cppfollowsymbolundercursor.cpp
+++ b/src/plugins/cppeditor/cppfollowsymbolundercursor.cpp
@@ -207,8 +207,7 @@ Link findMacroLink_helper(const QByteArray &name, Document::Ptr doc, const Snaps
if (doc && !name.startsWith('<') && !processed->contains(doc->fileName())) {
processed->insert(doc->fileName());
- const QList<Macro> macros = doc->definedMacros();
- for (const Macro &macro : macros) {
+ for (const Macro &macro : doc->definedMacros()) {
if (macro.name() == name) {
Link link;
link.targetFilePath = Utils::FilePath::fromString(macro.fileName());
diff --git a/src/plugins/cppeditor/cppsourceprocessor_test.cpp b/src/plugins/cppeditor/cppsourceprocessor_test.cpp
index a8c555ff59..43f4958203 100644
--- a/src/plugins/cppeditor/cppsourceprocessor_test.cpp
+++ b/src/plugins/cppeditor/cppsourceprocessor_test.cpp
@@ -187,8 +187,7 @@ void SourceProcessorTest::testMacroUses()
static bool isMacroDefinedInDocument(const QByteArray &macroName, const Document::Ptr &document)
{
- const QList<Macro> macros = document->definedMacros();
- for (const Macro &macro : macros) {
+ for (const Macro &macro : document->definedMacros()) {
if (macro.name() == macroName)
return true;
}
diff --git a/src/plugins/cppeditor/includeutils.cpp b/src/plugins/cppeditor/includeutils.cpp
index eb9fcab166..e5ff209406 100644
--- a/src/plugins/cppeditor/includeutils.cpp
+++ b/src/plugins/cppeditor/includeutils.cpp
@@ -178,8 +178,7 @@ int LineForNewIncludeDirective::findInsertLineForVeryFirstInclude(unsigned *newL
// If there is an include guard, insert right after that one
const QByteArray includeGuardMacroName = m_cppDocument->includeGuardMacroName();
if (!includeGuardMacroName.isEmpty()) {
- const QList<Macro> definedMacros = m_cppDocument->definedMacros();
- for (const Macro &definedMacro : definedMacros) {
+ for (const Macro &definedMacro : m_cppDocument->definedMacros()) {
if (definedMacro.name() == includeGuardMacroName) {
if (newLinesToPrepend)
*newLinesToPrepend = 1;