forked from qt-creator/qt-creator
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:
20
src/libs/3rdparty/cplusplus/ASTMatcher.cpp
vendored
20
src/libs/3rdparty/cplusplus/ASTMatcher.cpp
vendored
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user