ClangCodeModel: Keep base declaration on top

... when presenting the list of virtual overrides, as we do in the
built-in code model.

Change-Id: I2598438f78cd9d9a7ddc1620391cea51d7e2da42
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Kandeler
2021-05-28 14:12:10 +02:00
parent a93d549be1
commit 4899e133c9
2 changed files with 6 additions and 6 deletions

View File

@@ -1162,10 +1162,12 @@ void ClangdClient::VirtualFunctionAssistProcessor::finalize()
const auto item = new CppTools::VirtualFunctionProposalItem(
link, m_data->followSymbolData->openInSplit);
QString text = symbol.first;
if (isOriginalLink
&& (m_data->followSymbolData->defLinkNode.isPureVirtualDeclaration()
|| m_data->followSymbolData->defLinkNode.isPureVirtualDefinition())) {
text += " = 0";
if (isOriginalLink) {
item->setOrder(1000); // Ensure base declaration is on top.
if (m_data->followSymbolData->defLinkNode.isPureVirtualDeclaration()
|| m_data->followSymbolData->defLinkNode.isPureVirtualDefinition()) {
text += " = 0";
}
}
item->setText(text);
items << item;

View File

@@ -516,8 +516,6 @@ F2TestCase::F2TestCase(CppEditorAction action,
if (useClangd)
QEXPECT_FAIL("allOverrides from base declaration", "FIXME: check why this fails", Abort);
QCOMPARE(finalVirtualSymbolResults.size(), expectedVirtualFunctionProposal.size());
if (useClangd)
QEXPECT_FAIL("itemOrder", "FIXME: sort items", Abort);
QCOMPARE(finalVirtualSymbolResults, expectedVirtualFunctionProposal);
}