forked from qt-creator/qt-creator
C++: Transfer noexcept specifier for refactoring actions
This applies for e.g. * "Add Definition..." (on function decl) * "Move Definition..." (on function decl) * "Insert Virtual Functions of Base Class" (on class specifier) Fixes: QTCREATORBUG-11849 Fixes: QTCREATORBUG-19699 Change-Id: I0d259bc1782470f3b3f19617230005a5594a5cca Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
6
src/libs/3rdparty/cplusplus/Bind.cpp
vendored
6
src/libs/3rdparty/cplusplus/Bind.cpp
vendored
@@ -1232,7 +1232,7 @@ FullySpecifiedType Bind::trailingReturnType(TrailingReturnTypeAST *ast, const Fu
|
||||
return type;
|
||||
}
|
||||
|
||||
const StringLiteral *Bind::asStringLiteral(const ExpressionAST *ast)
|
||||
const StringLiteral *Bind::asStringLiteral(const AST *ast)
|
||||
{
|
||||
CPP_ASSERT(ast, return nullptr);
|
||||
const int firstToken = ast->firstToken();
|
||||
@@ -3265,7 +3265,11 @@ bool Bind::visit(FunctionDeclaratorAST *ast)
|
||||
Function::RvalueRefQualifier);
|
||||
}
|
||||
|
||||
// propagate exception spec
|
||||
this->exceptionSpecification(ast->exception_specification, type);
|
||||
if (ExceptionSpecificationAST *spec = ast->exception_specification)
|
||||
fun->setExceptionSpecification(asStringLiteral(spec));
|
||||
|
||||
if (ast->as_cpp_initializer != nullptr) {
|
||||
fun->setAmbiguous(true);
|
||||
/*ExpressionTy as_cpp_initializer =*/ this->expression(ast->as_cpp_initializer);
|
||||
|
||||
Reference in New Issue
Block a user