summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libs/cplusplus/CheckUndefinedSymbols.cpp14
-rw-r--r--src/libs/cplusplus/CheckUndefinedSymbols.h1
-rw-r--r--src/libs/cplusplus/pp-engine.cpp6
-rw-r--r--src/shared/cplusplus/AST.cpp21
-rw-r--r--src/shared/cplusplus/AST.h24
-rw-r--r--src/shared/cplusplus/ASTClone.cpp14
-rw-r--r--src/shared/cplusplus/ASTMatch0.cpp8
-rw-r--r--src/shared/cplusplus/ASTMatcher.cpp26
-rw-r--r--src/shared/cplusplus/ASTMatcher.h1
-rw-r--r--src/shared/cplusplus/ASTVisit.cpp9
-rw-r--r--src/shared/cplusplus/ASTVisitor.h2
-rw-r--r--src/shared/cplusplus/ASTfwd.h1
-rw-r--r--src/shared/cplusplus/CheckDeclaration.cpp9
-rw-r--r--src/shared/cplusplus/CheckDeclaration.h1
-rw-r--r--src/shared/cplusplus/Keywords.cpp36
-rw-r--r--src/shared/cplusplus/Parser.cpp26
-rw-r--r--src/shared/cplusplus/Parser.h1
-rw-r--r--src/shared/cplusplus/Token.cpp2
-rw-r--r--src/shared/cplusplus/Token.h3
19 files changed, 6 insertions, 199 deletions
diff --git a/src/libs/cplusplus/CheckUndefinedSymbols.cpp b/src/libs/cplusplus/CheckUndefinedSymbols.cpp
index bd3cba0a36..f81b3fda8b 100644
--- a/src/libs/cplusplus/CheckUndefinedSymbols.cpp
+++ b/src/libs/cplusplus/CheckUndefinedSymbols.cpp
@@ -540,20 +540,6 @@ bool CheckUndefinedSymbols::visit(ObjCPropertyDeclarationAST *ast)
return false;
}
-bool CheckUndefinedSymbols::visit(QtDeclareFlagsDeclarationAST *ast)
-{
- // ### check flags name too?
-
- if (ast->enum_name && ast->enum_name->name) {
- const Identifier *enumId = ast->enum_name->name->identifier();
- if (!isType(enumId)) // ### we're only checking if the enum name is known as a type name, not as an *enum*.
- translationUnit()->warning(ast->enum_name->firstToken(),
- "unknown enum '%s'",
- enumId->chars());
- }
- return false;
-}
-
bool CheckUndefinedSymbols::visit(QtEnumDeclarationAST *ast)
{
for (NameListAST *iter = ast->enumerator_list; iter; iter = iter->next) {
diff --git a/src/libs/cplusplus/CheckUndefinedSymbols.h b/src/libs/cplusplus/CheckUndefinedSymbols.h
index dc7aa79dc3..bc55ae8f6d 100644
--- a/src/libs/cplusplus/CheckUndefinedSymbols.h
+++ b/src/libs/cplusplus/CheckUndefinedSymbols.h
@@ -98,7 +98,6 @@ protected:
virtual bool visit(ObjCProtocolRefsAST *ast);
virtual bool visit(ObjCPropertyDeclarationAST *ast);
- virtual bool visit(QtDeclareFlagsDeclarationAST *ast);
virtual bool visit(QtEnumDeclarationAST *ast);
virtual bool visit(QtFlagsDeclarationAST *ast);
virtual bool visit(QtPropertyDeclarationAST *ast);
diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp
index 7c9fe50b39..3f3c7099a1 100644
--- a/src/libs/cplusplus/pp-engine.cpp
+++ b/src/libs/cplusplus/pp-engine.cpp
@@ -766,8 +766,10 @@ void Preprocessor::preprocess(const QString &fileName, const QByteArray &source,
expandBuiltinMacro(identifierToken, spell);
else {
- if (spell != "Q_PROPERTY" && spell != "Q_INVOKABLE" && spell != "Q_ENUMS"
- && spell != "Q_FLAGS" && spell != "Q_DECLARE_FLAGS") {
+ if (spell != "Q_PROPERTY"
+ && spell != "Q_INVOKABLE"
+ && spell != "Q_ENUMS"
+ && spell != "Q_FLAGS") {
// ### FIXME: shouldn't this be T_Q_PROPERTY & friends?
diff --git a/src/shared/cplusplus/AST.cpp b/src/shared/cplusplus/AST.cpp
index 4504d9eadc..9a8312eaba 100644
--- a/src/shared/cplusplus/AST.cpp
+++ b/src/shared/cplusplus/AST.cpp
@@ -235,27 +235,6 @@ unsigned QtFlagsDeclarationAST::lastToken() const
return flags_specifier_token + 1;
}
-unsigned QtDeclareFlagsDeclarationAST::firstToken() const
-{
- return declareflags_specifier_token;
-}
-
-unsigned QtDeclareFlagsDeclarationAST::lastToken() const
-{
- if (rparen_token)
- return rparen_token + 1;
- else if (flags_name)
- return flags_name->lastToken();
- else if (comma_token)
- return comma_token + 1;
- else if (enum_name)
- return enum_name->lastToken();
- else if (lparen_token)
- return lparen_token + 1;
- else
- return declareflags_specifier_token + 1;
-}
-
unsigned ArrayAccessAST::firstToken() const
{
return lbracket_token;
diff --git a/src/shared/cplusplus/AST.h b/src/shared/cplusplus/AST.h
index 11bcaf0f1c..4b0c149357 100644
--- a/src/shared/cplusplus/AST.h
+++ b/src/shared/cplusplus/AST.h
@@ -256,7 +256,6 @@ public:
virtual PostfixDeclaratorAST *asPostfixDeclarator() { return 0; }
virtual PostfixExpressionAST *asPostfixExpression() { return 0; }
virtual PtrOperatorAST *asPtrOperator() { return 0; }
- virtual QtDeclareFlagsDeclarationAST *asQtDeclareFlagsDeclaration() { return 0; }
virtual QtEnumDeclarationAST *asQtEnumDeclaration() { return 0; }
virtual QtFlagsDeclarationAST *asQtFlagsDeclaration() { return 0; }
virtual QtMemberDeclarationAST *asQtMemberDeclaration() { return 0; }
@@ -683,29 +682,6 @@ protected:
virtual bool match0(AST *, ASTMatcher *);
};
-class CPLUSPLUS_EXPORT QtDeclareFlagsDeclarationAST: public DeclarationAST
-{
-public:
- unsigned declareflags_specifier_token;
- unsigned lparen_token;
- SimpleNameAST *flags_name;
- unsigned comma_token;
- SimpleNameAST *enum_name;
- unsigned rparen_token;
-
-public:
- virtual QtDeclareFlagsDeclarationAST *asQtDeclareFlagsDeclaration() { return this; }
-
- virtual unsigned firstToken() const;
- virtual unsigned lastToken() const;
-
- virtual QtDeclareFlagsDeclarationAST *clone(MemoryPool *pool) const;
-
-protected:
- virtual void accept0(ASTVisitor *visitor);
- virtual bool match0(AST *, ASTMatcher *);
-};
-
class CPLUSPLUS_EXPORT AsmDefinitionAST: public DeclarationAST
{
public:
diff --git a/src/shared/cplusplus/ASTClone.cpp b/src/shared/cplusplus/ASTClone.cpp
index 805e7837b7..87ee91558b 100644
--- a/src/shared/cplusplus/ASTClone.cpp
+++ b/src/shared/cplusplus/ASTClone.cpp
@@ -200,20 +200,6 @@ QtFlagsDeclarationAST *QtFlagsDeclarationAST::clone(MemoryPool *pool) const
return ast;
}
-QtDeclareFlagsDeclarationAST *QtDeclareFlagsDeclarationAST::clone(MemoryPool *pool) const
-{
- QtDeclareFlagsDeclarationAST *ast = new (pool) QtDeclareFlagsDeclarationAST;
- ast->declareflags_specifier_token = declareflags_specifier_token;
- ast->lparen_token = lparen_token;
- if (flags_name)
- ast->flags_name = flags_name->clone(pool);
- ast->comma_token = comma_token;
- if (enum_name)
- ast->enum_name = enum_name->clone(pool);
- ast->rparen_token = rparen_token;
- return ast;
-}
-
AsmDefinitionAST *AsmDefinitionAST::clone(MemoryPool *pool) const
{
AsmDefinitionAST *ast = new (pool) AsmDefinitionAST;
diff --git a/src/shared/cplusplus/ASTMatch0.cpp b/src/shared/cplusplus/ASTMatch0.cpp
index 74d0aa6e5e..a2fcf8e0b9 100644
--- a/src/shared/cplusplus/ASTMatch0.cpp
+++ b/src/shared/cplusplus/ASTMatch0.cpp
@@ -153,14 +153,6 @@ bool QtFlagsDeclarationAST::match0(AST *pattern, ASTMatcher *matcher)
return false;
}
-bool QtDeclareFlagsDeclarationAST::match0(AST *pattern, ASTMatcher *matcher)
-{
- if (QtDeclareFlagsDeclarationAST *_other = pattern->asQtDeclareFlagsDeclaration())
- return matcher->match(this, _other);
-
- return false;
-}
-
bool AsmDefinitionAST::match0(AST *pattern, ASTMatcher *matcher)
{
if (AsmDefinitionAST *_other = pattern->asAsmDefinition())
diff --git a/src/shared/cplusplus/ASTMatcher.cpp b/src/shared/cplusplus/ASTMatcher.cpp
index 7f86349551..c3e04a0d4e 100644
--- a/src/shared/cplusplus/ASTMatcher.cpp
+++ b/src/shared/cplusplus/ASTMatcher.cpp
@@ -307,32 +307,6 @@ bool ASTMatcher::match(QtFlagsDeclarationAST *node, QtFlagsDeclarationAST *patte
return true;
}
-bool ASTMatcher::match(QtDeclareFlagsDeclarationAST *node, QtDeclareFlagsDeclarationAST *pattern)
-{
- (void) node;
- (void) pattern;
-
- pattern->declareflags_specifier_token = node->declareflags_specifier_token;
-
- pattern->lparen_token = node->lparen_token;
-
- if (! pattern->flags_name)
- pattern->flags_name = node->flags_name;
- else if (! AST::match(node->flags_name, pattern->flags_name, this))
- return false;
-
- pattern->comma_token = node->comma_token;
-
- if (! pattern->enum_name)
- pattern->enum_name = node->enum_name;
- else if (! AST::match(node->enum_name, pattern->enum_name, this))
- return false;
-
- pattern->rparen_token = node->rparen_token;
-
- return true;
-}
-
bool ASTMatcher::match(AsmDefinitionAST *node, AsmDefinitionAST *pattern)
{
(void) node;
diff --git a/src/shared/cplusplus/ASTMatcher.h b/src/shared/cplusplus/ASTMatcher.h
index f024f82ff8..c6466a4919 100644
--- a/src/shared/cplusplus/ASTMatcher.h
+++ b/src/shared/cplusplus/ASTMatcher.h
@@ -43,7 +43,6 @@ public:
virtual bool match(QtPropertyDeclarationAST *node, QtPropertyDeclarationAST *pattern);
virtual bool match(QtEnumDeclarationAST *node, QtEnumDeclarationAST *pattern);
virtual bool match(QtFlagsDeclarationAST *node, QtFlagsDeclarationAST *pattern);
- virtual bool match(QtDeclareFlagsDeclarationAST *node, QtDeclareFlagsDeclarationAST *pattern);
virtual bool match(ArrayAccessAST *node, ArrayAccessAST *pattern);
virtual bool match(ArrayDeclaratorAST *node, ArrayDeclaratorAST *pattern);
virtual bool match(ArrayInitializerAST *node, ArrayInitializerAST *pattern);
diff --git a/src/shared/cplusplus/ASTVisit.cpp b/src/shared/cplusplus/ASTVisit.cpp
index 1b9f50df58..8b53d99f7f 100644
--- a/src/shared/cplusplus/ASTVisit.cpp
+++ b/src/shared/cplusplus/ASTVisit.cpp
@@ -157,15 +157,6 @@ void QtFlagsDeclarationAST::accept0(ASTVisitor *visitor)
visitor->endVisit(this);
}
-void QtDeclareFlagsDeclarationAST::accept0(ASTVisitor *visitor)
-{
- if (visitor->visit(this)) {
- accept(flags_name, visitor);
- accept(enum_name, visitor);
- }
- visitor->endVisit(this);
-}
-
void AsmDefinitionAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this)) {
diff --git a/src/shared/cplusplus/ASTVisitor.h b/src/shared/cplusplus/ASTVisitor.h
index 343e3a6331..72a3f4b736 100644
--- a/src/shared/cplusplus/ASTVisitor.h
+++ b/src/shared/cplusplus/ASTVisitor.h
@@ -106,7 +106,6 @@ public:
virtual bool visit(QtPropertyDeclarationAST *) { return true; }
virtual bool visit(QtEnumDeclarationAST *) { return true; }
virtual bool visit(QtFlagsDeclarationAST *) { return true; }
- virtual bool visit(QtDeclareFlagsDeclarationAST *) { return true; }
virtual bool visit(ArrayAccessAST *) { return true; }
virtual bool visit(ArrayDeclaratorAST *) { return true; }
virtual bool visit(ArrayInitializerAST *) { return true; }
@@ -241,7 +240,6 @@ public:
virtual void endVisit(QtPropertyDeclarationAST *) { }
virtual void endVisit(QtEnumDeclarationAST *) { }
virtual void endVisit(QtFlagsDeclarationAST *) { }
- virtual void endVisit(QtDeclareFlagsDeclarationAST *) { }
virtual void endVisit(ArrayAccessAST *) { }
virtual void endVisit(ArrayDeclaratorAST *) { }
virtual void endVisit(ArrayInitializerAST *) { }
diff --git a/src/shared/cplusplus/ASTfwd.h b/src/shared/cplusplus/ASTfwd.h
index 77864ca457..d2a1d317d8 100644
--- a/src/shared/cplusplus/ASTfwd.h
+++ b/src/shared/cplusplus/ASTfwd.h
@@ -163,7 +163,6 @@ class PostfixAST;
class PostfixDeclaratorAST;
class PostfixExpressionAST;
class PtrOperatorAST;
-class QtDeclareFlagsDeclarationAST;
class QtEnumDeclarationAST;
class QtFlagsDeclarationAST;
class QtMemberDeclarationAST;
diff --git a/src/shared/cplusplus/CheckDeclaration.cpp b/src/shared/cplusplus/CheckDeclaration.cpp
index 7ad7662af3..5d3646e324 100644
--- a/src/shared/cplusplus/CheckDeclaration.cpp
+++ b/src/shared/cplusplus/CheckDeclaration.cpp
@@ -802,15 +802,6 @@ bool CheckDeclaration::visit(ObjCPropertyDeclarationAST *ast)
return false;
}
-bool CheckDeclaration::visit(QtDeclareFlagsDeclarationAST *ast)
-{
- if (ast->flags_name)
- semantic()->check(ast->flags_name, _scope);
- if (ast->enum_name)
- semantic()->check(ast->enum_name, _scope);
- return false;
-}
-
bool CheckDeclaration::visit(QtEnumDeclarationAST *ast)
{
for (NameListAST *iter = ast->enumerator_list; iter; iter = iter->next)
diff --git a/src/shared/cplusplus/CheckDeclaration.h b/src/shared/cplusplus/CheckDeclaration.h
index 03661bc68e..6d06d42b9b 100644
--- a/src/shared/cplusplus/CheckDeclaration.h
+++ b/src/shared/cplusplus/CheckDeclaration.h
@@ -80,7 +80,6 @@ protected:
virtual bool visit(QtPropertyDeclarationAST *ast);
virtual bool visit(QtEnumDeclarationAST *ast);
virtual bool visit(QtFlagsDeclarationAST *ast);
- virtual bool visit(QtDeclareFlagsDeclarationAST *ast);
virtual bool visit(AsmDefinitionAST *ast);
virtual bool visit(ExceptionDeclarationAST *ast);
virtual bool visit(FunctionDefinitionAST *ast);
diff --git a/src/shared/cplusplus/Keywords.cpp b/src/shared/cplusplus/Keywords.cpp
index 414221efa6..e1e45373ea 100644
--- a/src/shared/cplusplus/Keywords.cpp
+++ b/src/shared/cplusplus/Keywords.cpp
@@ -1283,41 +1283,6 @@ static inline int classify13(const char *s, bool) {
return T_IDENTIFIER;
}
-static inline int classify15(const char *s, bool) {
- if (s[0] == 'Q') {
- if (s[1] == '_') {
- if (s[2] == 'D') {
- if (s[3] == 'E') {
- if (s[4] == 'C') {
- if (s[5] == 'L') {
- if (s[6] == 'A') {
- if (s[7] == 'R') {
- if (s[8] == 'E') {
- if (s[9] == '_') {
- if (s[10] == 'F') {
- if (s[11] == 'L') {
- if (s[12] == 'A') {
- if (s[13] == 'G') {
- if (s[14] == 'S') {
- return T_Q_DECLARE_FLAGS;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return T_IDENTIFIER;
-}
-
static inline int classify16(const char *s, bool) {
if (s[0] == 'r') {
if (s[1] == 'e') {
@@ -1369,7 +1334,6 @@ int Lexer::classify(const char *s, int n, bool q) {
case 11: return classify11(s, q);
case 12: return classify12(s, q);
case 13: return classify13(s, q);
- case 15: return classify15(s, q);
case 16: return classify16(s, q);
default: return T_IDENTIFIER;
} // switch
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index 86fb18dd2c..a9fd9f0d50 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -1920,29 +1920,6 @@ bool Parser::parseQtFlags(DeclarationAST *&node)
return true;
}
-// q-declare-flags ::= 'Q_DECLARE_FLAGS' '(' q-flags-name ',' q-enum-name ')'
-// q-flags-name ::= T_IDENTIFIER
-// q-enum-name ::= T_IDENTIFIER
-bool Parser::parseQtDeclareFlags(DeclarationAST *&node)
-{
- /*Q_DECLARE_FLAGS(flag enum)*/
- DEBUG_THIS_RULE();
- if (LA() != T_Q_DECLARE_FLAGS)
- return false;
-
- QtDeclareFlagsDeclarationAST *ast = new (_pool) QtDeclareFlagsDeclarationAST;
- ast->declareflags_specifier_token = consumeToken();
- match(T_LPAREN, &ast->lparen_token);
- ast->flags_name = new (_pool) SimpleNameAST;
- match(T_IDENTIFIER, &ast->flags_name->identifier_token);
- match(T_COMMA, &ast->comma_token);
- ast->enum_name = new (_pool) SimpleNameAST;
- match(T_IDENTIFIER, &ast->enum_name->identifier_token);
- match(T_RPAREN, &ast->rparen_token);
- node = ast;
- return true;
-}
-
bool Parser::parseMemberSpecification(DeclarationAST *&node)
{
DEBUG_THIS_RULE();
@@ -1972,9 +1949,6 @@ bool Parser::parseMemberSpecification(DeclarationAST *&node)
case T_Q_FLAGS:
return parseQtFlags(node);
- case T_Q_DECLARE_FLAGS:
- return parseQtDeclareFlags(node);
-
default:
return parseSimpleDeclaration(node, /*acceptStructDeclarator=*/true);
} // switch
diff --git a/src/shared/cplusplus/Parser.h b/src/shared/cplusplus/Parser.h
index 07f80cdc33..ab4449ee74 100644
--- a/src/shared/cplusplus/Parser.h
+++ b/src/shared/cplusplus/Parser.h
@@ -81,7 +81,6 @@ public:
bool parseQtPropertyDeclaration(DeclarationAST *&node);
bool parseQtEnumDeclaration(DeclarationAST *&node);
bool parseQtFlags(DeclarationAST *&node);
- bool parseQtDeclareFlags(DeclarationAST *&node);
bool parseAdditiveExpression(ExpressionAST *&node);
bool parseAndExpression(ExpressionAST *&node);
bool parseAsmDefinition(DeclarationAST *&node);
diff --git a/src/shared/cplusplus/Token.cpp b/src/shared/cplusplus/Token.cpp
index f071d21d87..e86038271f 100644
--- a/src/shared/cplusplus/Token.cpp
+++ b/src/shared/cplusplus/Token.cpp
@@ -93,7 +93,7 @@ static const char *token_names[] = {
("SIGNAL"), ("SLOT"), ("Q_SIGNAL"), ("Q_SLOT"), ("signals"), ("slots"),
("Q_FOREACH"), ("Q_D"), ("Q_Q"),
- ("Q_INVOKABLE"), ("Q_PROPERTY"), ("Q_ENUMS"), ("Q_FLAGS"), ("Q_DECLARE_FLAGS")
+ ("Q_INVOKABLE"), ("Q_PROPERTY"), ("Q_ENUMS"), ("Q_FLAGS")
};
Token::Token() :
diff --git a/src/shared/cplusplus/Token.h b/src/shared/cplusplus/Token.h
index c915e31f4e..d139584bdd 100644
--- a/src/shared/cplusplus/Token.h
+++ b/src/shared/cplusplus/Token.h
@@ -242,8 +242,7 @@ enum Kind {
T_Q_PROPERTY,
T_Q_ENUMS,
T_Q_FLAGS,
- T_Q_DECLARE_FLAGS,
- T_LAST_KEYWORD = T_Q_DECLARE_FLAGS,
+ T_LAST_KEYWORD = T_Q_FLAGS,
// aliases
T_OR = T_PIPE_PIPE,