diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2022-08-17 18:10:53 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2022-08-23 13:52:11 +0000 |
commit | ca00b874a75d8cd64f9768d21959a530b928c6dc (patch) | |
tree | 8292188e0ac3952854cd653bfa573c1cf94772de /src/libs/3rdparty/cplusplus/Bind.h | |
parent | 5fab54d95aadaf28c4f7d10e601cc12feb682429 (diff) | |
download | qt-creator-ca00b874a75d8cd64f9768d21959a530b928c6dc.tar.gz |
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: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/libs/3rdparty/cplusplus/Bind.h')
-rw-r--r-- | src/libs/3rdparty/cplusplus/Bind.h | 6 |
1 files changed, 5 insertions, 1 deletions
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; |