Commit 9394b4df authored by Roberto Raggi's avatar Roberto Raggi
Browse files

Fixed the parsing of class-specifiers when nested in a function definition.

parent 4c4602b7
...@@ -1191,6 +1191,11 @@ bool Parser::parseClassSpecifier(SpecifierAST *&node) ...@@ -1191,6 +1191,11 @@ bool Parser::parseClassSpecifier(SpecifierAST *&node)
NameAST *name = 0; NameAST *name = 0;
parseName(name); parseName(name);
bool parsed = false;
const bool previousInFunctionBody = _inFunctionBody;
_inFunctionBody = false;
if (LA() == T_COLON || LA() == T_LBRACE) { if (LA() == T_COLON || LA() == T_LBRACE) {
BaseSpecifierAST *base_clause = 0; BaseSpecifierAST *base_clause = 0;
if (LA() == T_COLON) { if (LA() == T_COLON) {
...@@ -1233,9 +1238,12 @@ bool Parser::parseClassSpecifier(SpecifierAST *&node) ...@@ -1233,9 +1238,12 @@ bool Parser::parseClassSpecifier(SpecifierAST *&node)
} }
} }
node = ast; node = ast;
return true; parsed = true;
} }
return false;
_inFunctionBody = previousInFunctionBody;
return parsed;
} }
bool Parser::parseAccessSpecifier(SpecifierAST *&node) bool Parser::parseAccessSpecifier(SpecifierAST *&node)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment