diff --git a/src/plugins/autotest/testcodeparser.cpp b/src/plugins/autotest/testcodeparser.cpp index 682824744e9..7fb0fc1897e 100644 --- a/src/plugins/autotest/testcodeparser.cpp +++ b/src/plugins/autotest/testcodeparser.cpp @@ -385,15 +385,17 @@ static CPlusPlus::Document::Ptr declaringDocument(CPlusPlus::Document::Ptr doc, CPlusPlus::TypeOfExpression typeOfExpr; typeOfExpr.init(doc, cppMM->snapshot()); - auto lookupItems = typeOfExpr(testCaseName.toUtf8(), doc->globalNamespace()); + QList lookupItems = typeOfExpr(testCaseName.toUtf8(), + doc->globalNamespace()); if (lookupItems.size()) { - CPlusPlus::Class *toeClass = lookupItems.first().declaration()->asClass(); - if (toeClass) { - const QString declFileName = QLatin1String(toeClass->fileId()->chars(), - toeClass->fileId()->size()); - declaringDoc = cppMM->snapshot().document(declFileName); - *line = toeClass->line(); - *column = toeClass->column() - 1; + if (CPlusPlus::Symbol *symbol = lookupItems.first().declaration()) { + if (CPlusPlus::Class *toeClass = symbol->asClass()) { + const QString declFileName = QLatin1String(toeClass->fileId()->chars(), + toeClass->fileId()->size()); + declaringDoc = cppMM->snapshot().document(declFileName); + *line = toeClass->line(); + *column = toeClass->column() - 1; + } } } return declaringDoc;