aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/cplusplus
diff options
context:
space:
mode:
authorLeander Schulten <Leander.Schulten@rwth-aachen.de>2020-12-24 01:42:10 +0100
committerLeander Schulten <Leander.Schulten@rwth-aachen.de>2021-01-08 14:53:17 +0000
commitc109b60cdfc7badcfcc44791ec39fd6cf5733789 (patch)
tree1be8dd1093ad3569ca2097c2779743d5b2cad020 /src/libs/3rdparty/cplusplus
parent47dfc16eee2526e8e46ab8866ae88a550688b8c5 (diff)
CPlusPlus lib: Add support for BINDABLE in Q_PROPERTY
Change-Id: I8ca00aff63261eea997267d41b12c2397d676748 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/libs/3rdparty/cplusplus')
-rw-r--r--src/libs/3rdparty/cplusplus/Parser.cpp2
-rw-r--r--src/libs/3rdparty/cplusplus/QtContextKeywords.cpp17
-rw-r--r--src/libs/3rdparty/cplusplus/QtContextKeywords.h3
3 files changed, 21 insertions, 1 deletions
diff --git a/src/libs/3rdparty/cplusplus/Parser.cpp b/src/libs/3rdparty/cplusplus/Parser.cpp
index 3c509be00c..8057aa6dc0 100644
--- a/src/libs/3rdparty/cplusplus/Parser.cpp
+++ b/src/libs/3rdparty/cplusplus/Parser.cpp
@@ -2287,6 +2287,7 @@ bool Parser::parseAccessDeclaration(DeclarationAST *&node)
[SCRIPTABLE bool]
[STORED bool]
[USER bool]
+ [BINDABLE bindableFunction]
[CONSTANT]
[FINAL])
@@ -2342,6 +2343,7 @@ bool Parser::parseQtPropertyDeclaration(DeclarationAST *&node)
case Token_READ:
case Token_WRITE:
case Token_MEMBER:
+ case Token_BINDABLE:
case Token_RESET:
case Token_NOTIFY:
case Token_REVISION:
diff --git a/src/libs/3rdparty/cplusplus/QtContextKeywords.cpp b/src/libs/3rdparty/cplusplus/QtContextKeywords.cpp
index ce7bd0a1dd..f903b2b9b2 100644
--- a/src/libs/3rdparty/cplusplus/QtContextKeywords.cpp
+++ b/src/libs/3rdparty/cplusplus/QtContextKeywords.cpp
@@ -159,6 +159,23 @@ static inline int classify8(const char *s) {
}
}
}
+ if (s[0] == 'B') {
+ if (s[1] == 'I') {
+ if (s[2] == 'N') {
+ if (s[3] == 'D') {
+ if (s[4] == 'A') {
+ if (s[5] == 'B') {
+ if (s[6] == 'L') {
+ if (s[7] == 'E') {
+ return Token_BINDABLE;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
return Token_not_Qt_context_keyword;
}
diff --git a/src/libs/3rdparty/cplusplus/QtContextKeywords.h b/src/libs/3rdparty/cplusplus/QtContextKeywords.h
index 42dce9b917..f5d39a49cf 100644
--- a/src/libs/3rdparty/cplusplus/QtContextKeywords.h
+++ b/src/libs/3rdparty/cplusplus/QtContextKeywords.h
@@ -37,7 +37,8 @@ enum {
Token_DESIGNABLE,
Token_SCRIPTABLE,
Token_REVISION,
- Token_MEMBER
+ Token_MEMBER,
+ Token_BINDABLE
};
CPLUSPLUS_EXPORT int classifyQtContextKeyword(const char *s, int n);