diff options
author | Leander Schulten <Leander.Schulten@rwth-aachen.de> | 2020-11-18 21:53:51 +0100 |
---|---|---|
committer | Leander Schulten <Leander.Schulten@rwth-aachen.de> | 2020-11-19 18:35:05 +0000 |
commit | 993b614d94d23f92cf4770dce77cd824e661fb23 (patch) | |
tree | ca6f215228258f3e1071c0818395977972020598 /src/libs/cplusplus/LookupContext.cpp | |
parent | bb9ca6227c015ba35eaff20fe23a33c22d1fe6cb (diff) | |
download | qt-creator-993b614d94d23f92cf4770dce77cd824e661fb23.tar.gz |
CppEditor: Remove using namespace quickfix: Don't insert inline namespaces
Change-Id: If386d31de723ca928d3c50f55e32205c50937b0a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/libs/cplusplus/LookupContext.cpp')
-rw-r--r-- | src/libs/cplusplus/LookupContext.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index 2846ea5955..2658b87b32 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -60,15 +60,22 @@ static void addNames(const Name *name, QList<const Name *> *names, bool addAllNa } } -static void path_helper(Symbol *symbol, QList<const Name *> *names) +static void path_helper(Symbol *symbol, + QList<const Name *> *names, + LookupContext::InlineNamespacePolicy policy) { if (! symbol) return; - path_helper(symbol->enclosingScope(), names); + path_helper(symbol->enclosingScope(), names, policy); if (symbol->name()) { if (symbol->isClass() || symbol->isNamespace()) { + if (policy == LookupContext::HideInlineNamespaces) { + auto ns = symbol->asNamespace(); + if (ns && ns->isInline()) + return; + } addNames(symbol->name(), names); } else if (symbol->isObjCClass() || symbol->isObjCBaseClass() || symbol->isObjCProtocol() @@ -206,17 +213,17 @@ LookupContext &LookupContext::operator=(const LookupContext &other) return *this; } -QList<const Name *> LookupContext::fullyQualifiedName(Symbol *symbol) +QList<const Name *> LookupContext::fullyQualifiedName(Symbol *symbol, InlineNamespacePolicy policy) { - QList<const Name *> qualifiedName = path(symbol->enclosingScope()); + QList<const Name *> qualifiedName = path(symbol->enclosingScope(), policy); addNames(symbol->name(), &qualifiedName, /*add all names*/ true); return qualifiedName; } -QList<const Name *> LookupContext::path(Symbol *symbol) +QList<const Name *> LookupContext::path(Symbol *symbol, InlineNamespacePolicy policy) { QList<const Name *> names; - path_helper(symbol, &names); + path_helper(symbol, &names, policy); return names; } |