CppTools: Fix crash on smart selection change with lambda

...in case there is no lambda declarator provided, e.g.: []{}

Fixes: QTCREATORBUG-20994
Change-Id: I6a77cffe4e585422f1ed0639cabc687d3d123f5d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Nikolai Kosjar
2018-09-20 12:04:21 +02:00
parent 807b0f78fc
commit 08ec1f9326

View File

@@ -924,6 +924,9 @@ void CppSelectionChanger::fineTuneASTNodePositions(ASTNodePositions &positions)
// TODO: Fix more lambda cases.
LambdaIntroducerAST *lambdaIntroducerAST = lambdaExpressionAST->lambda_introducer;
LambdaDeclaratorAST *lambdaDeclaratorAST = lambdaExpressionAST->lambda_declarator;
if (!lambdaDeclaratorAST)
return;
TrailingReturnTypeAST *trailingReturnTypeAST = lambdaDeclaratorAST->trailing_return_type;
unsigned firstSquareBracketTokenIndex = lambdaIntroducerAST->lbracket_token;
unsigned lastParenTokenIndex = lambdaDeclaratorAST->rparen_token;