forked from qt-creator/qt-creator
Clang: Remove extern and static declarations from symbol outline...
... in case they appear within the function body. Task-number: QTCREATORBUG-20434 Change-Id: I6d12ab857cca5fe8479ac3fb426329ae7d732567 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -80,6 +80,17 @@ void buildTree(const TokenContainers &containers,
|
|||||||
if (lexicalParentIndex >= 0 && treeItemCache[lexicalParentIndex])
|
if (lexicalParentIndex >= 0 && treeItemCache[lexicalParentIndex])
|
||||||
parent = treeItemCache[lexicalParentIndex];
|
parent = treeItemCache[lexicalParentIndex];
|
||||||
|
|
||||||
|
if (parent != root
|
||||||
|
&& (container.extraInfo.storageClass == ClangBackEnd::StorageClass::Extern
|
||||||
|
|| container.extraInfo.storageClass == ClangBackEnd::StorageClass::Static)) {
|
||||||
|
ClangBackEnd::HighlightingType parentType = parent->token.types.mainHighlightingType;
|
||||||
|
if (parentType == ClangBackEnd::HighlightingType::VirtualFunction
|
||||||
|
|| parentType == ClangBackEnd::HighlightingType::Function) {
|
||||||
|
// Treat static and extern variables inside a function scope as local variables.
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
parent->appendChild(item.release());
|
parent->appendChild(item.release());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user