CPlusPlus: Fix mis-classification of pure virtuals

Syntactically, they do have an initializer, but they are not
initializations.

Change-Id: I0556b279ce2d173868585cbce085b803c1cff285
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2020-12-02 10:20:19 +01:00
parent 3a6e4860c4
commit ff2322ac0b
2 changed files with 21 additions and 2 deletions

View File

@@ -402,8 +402,11 @@ Usage::Type FindUsages::getType(int line, int column, int tokenIndex)
}
if (const auto declarator = (*it)->asDeclarator()) {
if (containsToken(declarator->core_declarator)) {
if (declarator->initializer)
if (declarator->initializer && (!declarator->postfix_declarator_list
|| !declarator->postfix_declarator_list->value
|| !declarator->postfix_declarator_list->value->asFunctionDeclarator())) {
return Usage::Type::Initialization;
}
return Usage::Type::Declaration;
}
if (const auto decl = (*(it + 1))->asSimpleDeclaration()) {