TextEditor: Allow special highlighting for static members

Task-number: QTCREATORBUG-9659
Change-Id: Idae529fd876ba5f555c76e4d282efc9263263d6c
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Kandeler
2021-10-27 13:46:15 +02:00
parent 1a00bb50d4
commit d8d4739bc4
10 changed files with 50 additions and 20 deletions

View File

@@ -1305,7 +1305,8 @@ bool CheckSymbols::maybeAddField(const QList<LookupItem> &candidates, NameAST *a
getTokenStartPosition(startToken, &line, &column);
const unsigned length = tok.utf16chars();
const Result use(line, column, length, SemanticHighlighter::FieldUse);
const Result use(line, column, length, c->isStatic()
? SemanticHighlighter::StaticFieldUse : SemanticHighlighter::FieldUse);
addUse(use);
return true;
@@ -1359,12 +1360,15 @@ bool CheckSymbols::maybeAddFunction(const QList<LookupItem> &candidates, NameAST
continue; // TODO: add diagnostic messages and color call-operators calls too?
const bool isVirtual = funTy->isVirtual();
const bool isStaticMember = funTy->isStatic() && funTy->enclosingClass();
Kind matchingKind;
if (functionKind == FunctionDeclaration) {
matchingKind = isVirtual ? SemanticHighlighter::VirtualFunctionDeclarationUse
: isStaticMember ? SemanticHighlighter::StaticMethodDeclarationUse
: SemanticHighlighter::FunctionDeclarationUse;
} else {
matchingKind = isVirtual ? SemanticHighlighter::VirtualMethodUse
: isStaticMember ? SemanticHighlighter::StaticMethodUse
: SemanticHighlighter::FunctionUse;
}
if (argumentCount < funTy->minimumArgumentCount()) {