From 0d87abee8bb71f0d6e2115402f427689f1840eb5 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Mon, 20 Nov 2017 14:02:09 +0100 Subject: [PATCH] AutoTest: Fix handling of forward declared test classes If a class has been forward declared we might not end up inside the real class declaration when trying to find declared test functions. So, do not just take the first found symbol into account, continue to process others if we haven't found the real declaration. Task-number: QTCREATORBUG-19319 Change-Id: I752d7a10470f5362e2214596966d93c037d58f4a Reviewed-by: David Schulz --- src/plugins/autotest/qtest/qttestparser.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/autotest/qtest/qttestparser.cpp b/src/plugins/autotest/qtest/qttestparser.cpp index a262148eccf..482e14f60b2 100644 --- a/src/plugins/autotest/qtest/qttestparser.cpp +++ b/src/plugins/autotest/qtest/qttestparser.cpp @@ -148,8 +148,8 @@ static CPlusPlus::Document::Ptr declaringDocument(CPlusPlus::Document::Ptr doc, } } - if (lookupItems.size()) { - if (CPlusPlus::Symbol *symbol = lookupItems.first().declaration()) { + for (const CPlusPlus::LookupItem &item : lookupItems) { + if (CPlusPlus::Symbol *symbol = item.declaration()) { if (CPlusPlus::Class *toeClass = symbol->asClass()) { const QString declFileName = QLatin1String(toeClass->fileId()->chars(), toeClass->fileId()->size());