forked from qt-creator/qt-creator
ClangCodeModel: Do not include base declaration in virtual overrides
... if the cursor was on it. Change-Id: Ie0d6981e9f0d23a57c430f3aa33448e8f9002ee9 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -1158,7 +1158,11 @@ void ClangdClient::VirtualFunctionAssistProcessor::finalize()
|
|||||||
QList<TextEditor::AssistProposalItemInterface *> items;
|
QList<TextEditor::AssistProposalItemInterface *> items;
|
||||||
for (const SymbolData &symbol : qAsConst(m_data->followSymbolData->symbolsToDisplay)) {
|
for (const SymbolData &symbol : qAsConst(m_data->followSymbolData->symbolsToDisplay)) {
|
||||||
Utils::Link link = symbol.second;
|
Utils::Link link = symbol.second;
|
||||||
const bool isOriginalLink = m_data->followSymbolData->defLink == symbol.second;
|
const bool isOriginalLink = m_data->followSymbolData->defLink == link;
|
||||||
|
if (isOriginalLink && m_data->followSymbolData->defLinkNode.range()
|
||||||
|
.contains(Position(m_data->followSymbolData->cursor))) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!isOriginalLink) {
|
if (!isOriginalLink) {
|
||||||
const Utils::Link defLink = m_data->followSymbolData->declDefMap.value(symbol.second);
|
const Utils::Link defLink = m_data->followSymbolData->declDefMap.value(symbol.second);
|
||||||
if (defLink.hasValidTarget())
|
if (defLink.hasValidTarget())
|
||||||
|
|||||||
@@ -505,7 +505,6 @@ F2TestCase::F2TestCase(CppEditorAction action,
|
|||||||
}
|
}
|
||||||
QCOMPARE(immediateVirtualSymbolResults, expectedImmediate);
|
QCOMPARE(immediateVirtualSymbolResults, expectedImmediate);
|
||||||
if (useClangd) {
|
if (useClangd) {
|
||||||
QEXPECT_FAIL("allOverrides from base declaration", "FIXME: too many results", Abort);
|
|
||||||
QEXPECT_FAIL("noSiblings_references", "FIXME: too many results", Abort);
|
QEXPECT_FAIL("noSiblings_references", "FIXME: too many results", Abort);
|
||||||
QEXPECT_FAIL("noSiblings_pointers", "FIXME: too many results", Abort);
|
QEXPECT_FAIL("noSiblings_pointers", "FIXME: too many results", Abort);
|
||||||
QEXPECT_FAIL("noSiblings_noBaseExpression", "FIXME: too many results", Abort);
|
QEXPECT_FAIL("noSiblings_noBaseExpression", "FIXME: too many results", Abort);
|
||||||
|
|||||||
Reference in New Issue
Block a user