CPlusPlus: Add support for coroutines

Also fix some concept-related bugs uncovered by the test case.

Change-Id: Ia67c971026bcd85d9cc252f46cd4f56c2865d432
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
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-03 15:00:21 +01:00
parent dc8da57e64
commit 755d9769d8
15 changed files with 382 additions and 22 deletions

View File

@@ -996,6 +996,20 @@ void ThrowExpressionAST::accept0(ASTVisitor *visitor)
visitor->endVisit(this);
}
void YieldExpressionAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this))
accept(expression, visitor);
visitor->endVisit(this);
}
void AwaitExpressionAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this))
accept(castExpression, visitor);
visitor->endVisit(this);
}
void NoExceptOperatorExpressionAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this)) {
@@ -1051,6 +1065,7 @@ void TypenameTypeParameterAST::accept0(ASTVisitor *visitor)
void TemplateTypeParameterAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this)) {
accept(typeConstraint, visitor);
accept(template_parameter_list, visitor);
accept(name, visitor);
accept(type_id, visitor);