From ca00b874a75d8cd64f9768d21959a530b928c6dc Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 17 Aug 2022 18:10:53 +0200 Subject: CPlusPlus: Support structured bindings While we do recommend clangd for modern code bases, we should still be able to parse basic language constructs. Fixes: QTCREATORBUG-27975 Change-Id: I189b991685a5cd5f62f2afce77878b60c895e8f9 Reviewed-by: Reviewed-by: hjk --- src/libs/3rdparty/cplusplus/Bind.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/libs/3rdparty/cplusplus/Bind.h') diff --git a/src/libs/3rdparty/cplusplus/Bind.h b/src/libs/3rdparty/cplusplus/Bind.h index f009db8b6c..e5ee622881 100644 --- a/src/libs/3rdparty/cplusplus/Bind.h +++ b/src/libs/3rdparty/cplusplus/Bind.h @@ -77,7 +77,9 @@ protected: const Name *objCSelectorArgument(ObjCSelectorArgumentAST *ast, bool *hasArg); void attribute(GnuAttributeAST *ast); - FullySpecifiedType declarator(DeclaratorAST *ast, const FullySpecifiedType &init, DeclaratorIdAST **declaratorId); + FullySpecifiedType declarator(DeclaratorAST *ast, const FullySpecifiedType &init, + DeclaratorIdAST **declaratorId, + DecompositionDeclaratorAST **decompDeclarator = nullptr); void qtInterfaceName(QtInterfaceNameAST *ast); void baseSpecifier(BaseSpecifierAST *ast, int colon_token, Class *klass); void ctorInitializer(CtorInitializerAST *ast, Function *fun); @@ -275,6 +277,7 @@ protected: // CoreDeclaratorAST bool visit(DeclaratorIdAST *ast) override; + bool visit(DecompositionDeclaratorAST *ast) override; bool visit(NestedDeclaratorAST *ast) override; // PostfixDeclaratorAST @@ -291,6 +294,7 @@ private: const Name *_name; FullySpecifiedType _type; DeclaratorIdAST **_declaratorId; + DecompositionDeclaratorAST **_decompositionDeclarator; int _visibility; int _objcVisibility; int _methodKey; -- cgit v1.2.1