CPlusPlus: Handle C++20 concepts in parser

Change-Id: I8c6b8b1ba3f36b83cd1d667bec9830271147b1ac
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-02-09 15:11:14 +01:00
parent 89a8631784
commit 61de69ea90
15 changed files with 547 additions and 1 deletions

View File

@@ -110,6 +110,23 @@ void DecltypeSpecifierAST::accept0(ASTVisitor *visitor)
visitor->endVisit(this);
}
void TypeConstraintAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this)) {
accept(nestedName, visitor);
accept(conceptName, visitor);
accept(templateArgs, visitor);
}
visitor->endVisit(this);
}
void PlaceholderTypeSpecifierAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this))
accept(typeConstraint, visitor);
visitor->endVisit(this);
}
void DeclaratorAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this)) {
@@ -946,6 +963,23 @@ void TemplateDeclarationAST::accept0(ASTVisitor *visitor)
visitor->endVisit(this);
}
void ConceptDeclarationAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this)) {
accept(name, visitor);
accept(attributes, visitor);
accept(constraint, visitor);
}
visitor->endVisit(this);
}
void RequiresExpressionAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this))
accept(parameters, visitor);
visitor->endVisit(this);
}
void ThrowExpressionAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this)) {