add support for typed enums and deleted functions

This commit is contained in:
Günter Obiltschnig
2020-07-29 09:02:41 +02:00
parent 64101df736
commit 328d6a1a46
4 changed files with 58 additions and 2 deletions

View File

@@ -804,6 +804,7 @@ const Token* Parser::parseEnum(const Token* pNext)
{
poco_assert (isKeyword(pNext, IdentifierToken::KW_ENUM));
std::string baseType;
int flags = 0;
_pCurrentSymbol = 0;
int line = _istr.getCurrentLineNumber();
@@ -821,8 +822,15 @@ const Token* Parser::parseEnum(const Token* pNext)
name = pNext->tokenString();
pNext = next();
}
if (isOperator(pNext, OperatorToken::OP_COLON))
{
pNext = next();
pNext = parseIdentifier(pNext, baseType);
}
expectOperator(pNext, OperatorToken::OP_OPENBRACE, "{");
Enum* pEnum = new Enum(name, currentNameSpace(), flags);
Enum* pEnum = new Enum(name, currentNameSpace(), baseType, flags);
addSymbol(pEnum, line);
pNext = next();
while (pNext->is(Token::IDENTIFIER_TOKEN))