C++ editor: Highlighting static variables

Fix highlighting, find usages, marking for static variables.

Task-number: QTCREATORBUG-6822
Change-Id: I0c97c93c6c1024550907eec3820496df22a94e85
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
Przemyslaw Gorszkowski
2013-01-29 13:18:08 +01:00
committed by Nikolai Kosjar
parent 8bb0134c50
commit 7fcc52bf47
4 changed files with 101 additions and 0 deletions

View File

@@ -1164,6 +1164,7 @@ bool CheckSymbols::maybeAddTypeOrStatic(const QList<LookupItem> &candidates, Nam
else if (c->isUsingNamespaceDirective()) // ... and using namespace directives.
continue;
else if (c->isTypedef() || c->isNamespace() ||
c->isStatic() || //consider also static variable
c->isClass() || c->isEnum() || isTemplateClass(c) ||
c->isForwardClassDeclaration() || c->isTypenameArgument() || c->enclosingEnum() != 0) {
@@ -1174,6 +1175,9 @@ bool CheckSymbols::maybeAddTypeOrStatic(const QList<LookupItem> &candidates, Nam
UseKind kind = SemanticInfo::TypeUse;
if (c->enclosingEnum() != 0)
kind = SemanticInfo::EnumerationUse;
else if (c->isStatic())
// treat static variable as a field(highlighting)
kind = SemanticInfo::FieldUse;
const Use use(line, column, length, kind);
addUse(use);