forked from qt-creator/qt-creator
Pass the enclosing ClassSpecifierAST node.
This commit is contained in:
@@ -1247,7 +1247,7 @@ bool Parser::parseDeclaratorOrAbstractDeclarator(DeclaratorAST *&node, Specifier
|
||||
return parseAbstractDeclarator(node, decl_specifier_list);
|
||||
}
|
||||
|
||||
bool Parser::parseCoreDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_specifier_list, bool declaringClass)
|
||||
bool Parser::parseCoreDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_specifier_list, ClassSpecifierAST *)
|
||||
{
|
||||
DEBUG_THIS_RULE();
|
||||
unsigned start = cursor();
|
||||
@@ -1304,7 +1304,7 @@ bool Parser::parseCoreDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_sp
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Parser::parseDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_specifier_list, bool declaringClass)
|
||||
bool Parser::parseDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_specifier_list, ClassSpecifierAST *declaringClass)
|
||||
{
|
||||
DEBUG_THIS_RULE();
|
||||
if (! parseCoreDeclarator(node, decl_specifier_list, declaringClass))
|
||||
@@ -2299,10 +2299,9 @@ bool Parser::parseEnumerator(EnumeratorListAST *&node)
|
||||
}
|
||||
|
||||
bool Parser::parseInitDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_specifier_list,
|
||||
bool declaringClass) // ### rewrite me
|
||||
ClassSpecifierAST *declaringClass) // ### rewrite me
|
||||
{
|
||||
DEBUG_THIS_RULE();
|
||||
unsigned start = cursor();
|
||||
|
||||
if (declaringClass && LA() == T_COLON) {
|
||||
// anonymous bit-field declaration.
|
||||
@@ -2318,17 +2317,6 @@ bool Parser::parseInitDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_sp
|
||||
consumeToken();
|
||||
}
|
||||
|
||||
#if 0
|
||||
if (declaringClass && node &&
|
||||
! node->postfix_declarator_list &&
|
||||
node->core_declarator &&
|
||||
node->core_declarator->asNestedDeclarator()) {
|
||||
_translationUnit->warning(cursor(), "got here");
|
||||
rewind(start);
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (declaringClass && LA() == T_COLON
|
||||
&& (! node || ! node->postfix_declarator_list)) {
|
||||
unsigned colon_token = consumeToken();
|
||||
|
||||
@@ -114,8 +114,8 @@ public:
|
||||
bool parseDeclaration(DeclarationAST *&node);
|
||||
bool parseSimpleDeclaration(DeclarationAST *&node, ClassSpecifierAST *declaringClass = 0);
|
||||
bool parseDeclarationStatement(StatementAST *&node);
|
||||
bool parseCoreDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_specifier_list, bool declaringClass);
|
||||
bool parseDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_specifier_list, bool declaringClass = false);
|
||||
bool parseCoreDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_specifier_list, ClassSpecifierAST *declaringClass);
|
||||
bool parseDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_specifier_list, ClassSpecifierAST *declaringClass = 0);
|
||||
bool parseDeleteExpression(ExpressionAST *&node);
|
||||
bool parseDoStatement(StatementAST *&node);
|
||||
bool parseElaboratedTypeSpecifier(SpecifierListAST *&node);
|
||||
@@ -134,7 +134,7 @@ public:
|
||||
bool parseFunctionBody(StatementAST *&node);
|
||||
bool parseIfStatement(StatementAST *&node);
|
||||
bool parseInclusiveOrExpression(ExpressionAST *&node);
|
||||
bool parseInitDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_specifier_list, bool declaringClass);
|
||||
bool parseInitDeclarator(DeclaratorAST *&node, SpecifierListAST *decl_specifier_list, ClassSpecifierAST *declaringClass);
|
||||
bool parseInitializerList(ExpressionListAST *&node);
|
||||
bool parseInitializer(ExpressionAST *&node, unsigned *equals_token);
|
||||
bool parseInitializerClause(ExpressionAST *&node);
|
||||
|
||||
Reference in New Issue
Block a user