diff --git a/src/plugins/cppeditor/cppinsertdecldef.cpp b/src/plugins/cppeditor/cppinsertdecldef.cpp index 47e4e28a000..87cb345dbae 100644 --- a/src/plugins/cppeditor/cppinsertdecldef.cpp +++ b/src/plugins/cppeditor/cppinsertdecldef.cpp @@ -533,6 +533,7 @@ QPair assembleDeclarationData(const QString &specifiers, const CppRefactoringFilePtr &file, const Overview &printer) { + QTC_ASSERT(decltr, return (QPair())); if (decltr->core_declarator && decltr->core_declarator->asDeclaratorId() && decltr->core_declarator->asDeclaratorId()->name) { @@ -788,14 +789,16 @@ QList ExtractFunction::match( it; it = it->next) { ParameterDeclarationAST *paramDecl = it->value->asParameterDeclaration(); - const QString &specifiers = - file->textOf(file->startOf(paramDecl), - file->endOf(paramDecl->type_specifier_list->lastValue())); - const QPair &p = - assembleDeclarationData(specifiers, paramDecl->declarator, file, printer); - if (!p.first.isEmpty()) { - analyser.m_knownDecls.insert(p.first, p.second); - refFuncParams.insert(p.first); + if (paramDecl->declarator) { + const QString &specifiers = + file->textOf(file->startOf(paramDecl), + file->endOf(paramDecl->type_specifier_list->lastValue())); + const QPair &p = + assembleDeclarationData(specifiers, paramDecl->declarator, file, printer); + if (!p.first.isEmpty()) { + analyser.m_knownDecls.insert(p.first, p.second); + refFuncParams.insert(p.first); + } } } }