diff options
author | Marco Bubke <marco.bubke@qt.io> | 2017-02-07 15:00:38 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2017-09-14 15:23:56 +0000 |
commit | b6e12f4a1c2a8dbc7a672f0cf42ea76ece71b10d (patch) | |
tree | 81550e7fce5053ecb1ead60ddf59534d44517a87 /src/plugins/cpptools/cppfindreferences.cpp | |
parent | 3adb71d45ebebd8c8fc2ec6beeb7a5ee67d64e4e (diff) | |
download | qt-creator-b6e12f4a1c2a8dbc7a672f0cf42ea76ece71b10d.tar.gz |
Convert macros from plain QByteArray to a vector of structs
The old code model expected the macros as C++ formatted text
("#define Foo 42) but newer targets like the Clang codemodel expect key
value arguments like "-DFoo=42". So instead of parsing the text again and
again we use an abstract data description.
Task-number: QTCREATORBUG-17915
Change-Id: I0179fd13c48a581e91ee79bba9d42d501c26f19f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'src/plugins/cpptools/cppfindreferences.cpp')
-rw-r--r-- | src/plugins/cpptools/cppfindreferences.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index a27233f1c1..9e521ac46f 100644 --- a/src/plugins/cpptools/cppfindreferences.cpp +++ b/src/plugins/cpptools/cppfindreferences.cpp @@ -607,13 +607,13 @@ class FindMacroUsesInFile: public std::unary_function<QString, QList<Usage> > { const WorkingCopy workingCopy; const Snapshot snapshot; - const Macro ¯o; + const CPlusPlus::Macro ¯o; QFutureInterface<Usage> *future; public: FindMacroUsesInFile(const WorkingCopy &workingCopy, const Snapshot snapshot, - const Macro ¯o, + const CPlusPlus::Macro ¯o, QFutureInterface<Usage> *future) : workingCopy(workingCopy), snapshot(snapshot), macro(macro), future(future) { } @@ -632,7 +632,7 @@ restart_search: usages.clear(); foreach (const Document::MacroUse &use, doc->macroUses()) { - const Macro &useMacro = use.macro(); + const CPlusPlus::Macro &useMacro = use.macro(); if (useMacro.fileName() == macro.fileName()) { // Check if this is a match, but possibly against an outdated document. if (source.isEmpty()) @@ -687,7 +687,7 @@ restart_search: static void findMacroUses_helper(QFutureInterface<Usage> &future, const WorkingCopy workingCopy, const Snapshot snapshot, - const Macro macro) + const CPlusPlus::Macro macro) { const Utils::FileName sourceFile = Utils::FileName::fromString(macro.fileName()); Utils::FileNameList files{sourceFile}; @@ -704,12 +704,13 @@ static void findMacroUses_helper(QFutureInterface<Usage> &future, future.setProgressValue(files.size()); } -void CppFindReferences::findMacroUses(const Macro ¯o) +void CppFindReferences::findMacroUses(const CPlusPlus::Macro ¯o) { findMacroUses(macro, QString(), false); } -void CppFindReferences::findMacroUses(const Macro ¯o, const QString &replacement, bool replace) +void CppFindReferences::findMacroUses(const CPlusPlus::Macro ¯o, const QString &replacement, + bool replace) { SearchResult *search = SearchResultWindow::instance()->startNewSearch( tr("C++ Macro Usages:"), @@ -753,7 +754,7 @@ void CppFindReferences::findMacroUses(const Macro ¯o, const QString &replace connect(progress, &FutureProgress::clicked, search, &SearchResult::popup); } -void CppFindReferences::renameMacroUses(const Macro ¯o, const QString &replacement) +void CppFindReferences::renameMacroUses(const CPlusPlus::Macro ¯o, const QString &replacement) { const QString textToReplace = replacement.isEmpty() ? macro.nameToQString() : replacement; findMacroUses(macro, textToReplace, true); |