CPlusPlus: Add parser support for generic lambdas

Change-Id: Id17975a4296925c10b1b43f963412eea61ccfa5d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2023-03-07 10:04:14 +01:00
parent 8d5e08c58c
commit 81dcfd907b
7 changed files with 119 additions and 2 deletions

View File

@@ -3056,6 +3056,21 @@ bool ASTMatcher::match(LambdaExpressionAST *node, LambdaExpressionAST *pattern)
else if (! AST::match(node->lambda_introducer, pattern->lambda_introducer, this))
return false;
if (! pattern->templateParameters)
pattern->templateParameters = node->templateParameters;
else if (! AST::match(node->templateParameters, pattern->templateParameters, this))
return false;
if (! pattern->requiresClause)
pattern->requiresClause = node->requiresClause;
else if (! AST::match(node->requiresClause, pattern->requiresClause, this))
return false;
if (! pattern->attributes)
pattern->attributes = node->attributes;
else if (! AST::match(node->attributes, pattern->attributes, this))
return false;
if (! pattern->lambda_declarator)
pattern->lambda_declarator = node->lambda_declarator;
else if (! AST::match(node->lambda_declarator, pattern->lambda_declarator, this))
@@ -3147,6 +3162,11 @@ bool ASTMatcher::match(LambdaDeclaratorAST *node, LambdaDeclaratorAST *pattern)
else if (! AST::match(node->trailing_return_type, pattern->trailing_return_type, this))
return false;
if (! pattern->requiresClause)
pattern->requiresClause = node->requiresClause;
else if (! AST::match(node->requiresClause, pattern->requiresClause, this))
return false;
return true;
}