summaryrefslogtreecommitdiff
path: root/src/libs/3rdparty/cplusplus/Bind.h
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2022-08-17 18:10:53 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2022-08-23 13:52:11 +0000
commitca00b874a75d8cd64f9768d21959a530b928c6dc (patch)
tree8292188e0ac3952854cd653bfa573c1cf94772de /src/libs/3rdparty/cplusplus/Bind.h
parent5fab54d95aadaf28c4f7d10e601cc12feb682429 (diff)
downloadqt-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.h6
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;