1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-24 10:38:02 +02:00

Fixed formatting for enums

This commit is contained in:
Brian Fiete 2020-02-06 16:45:53 -08:00
parent 2ed6a9a94b
commit 75afbd4a3e

View file

@ -2159,6 +2159,14 @@ void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
return; return;
} }
bool isEnumDecl = false;
if (auto enumEntry = BfNodeDynCast<BfEnumEntryDeclaration>(fieldDeclaration))
{
isEnumDecl = true;
}
if (!isEnumDecl)
ExpectNewLine(); ExpectNewLine();
if (fieldDeclaration->mAttributes != NULL) if (fieldDeclaration->mAttributes != NULL)
{ {
@ -2181,13 +2189,21 @@ void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
ExpectSpace(); ExpectSpace();
QueueVisitChild(fieldDeclaration->mPrecedingComma); QueueVisitChild(fieldDeclaration->mPrecedingComma);
ExpectSpace(); ExpectSpace();
if (isEnumDecl)
mNextStateModify.mExpectingSpace = false;
QueueVisitChild(fieldDeclaration->mTypeRef); QueueVisitChild(fieldDeclaration->mTypeRef);
ExpectSpace(); ExpectSpace();
QueueVisitChild(fieldDeclaration->mNameNode); QueueVisitChild(fieldDeclaration->mNameNode);
if (fieldDeclaration->mEqualsNode != NULL)
{
ExpectSpace(); ExpectSpace();
QueueVisitChild(fieldDeclaration->mEqualsNode); QueueVisitChild(fieldDeclaration->mEqualsNode);
}
if (fieldDeclaration->mInitializer != NULL)
{
ExpectSpace(); ExpectSpace();
QueueVisitChild(fieldDeclaration->mInitializer); QueueVisitChild(fieldDeclaration->mInitializer);
}
auto fieldDtor = fieldDeclaration->mFieldDtor; auto fieldDtor = fieldDeclaration->mFieldDtor;
while (fieldDtor != NULL) while (fieldDtor != NULL)
@ -2205,6 +2221,8 @@ void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
void BfPrinter::Visit(BfEnumCaseDeclaration* enumCaseDeclaration) void BfPrinter::Visit(BfEnumCaseDeclaration* enumCaseDeclaration)
{ {
ExpectNewLine();
Visit(enumCaseDeclaration->ToBase()); Visit(enumCaseDeclaration->ToBase());
if (mDocPrep) if (mDocPrep)
@ -2368,6 +2386,8 @@ void BfPrinter::Visit(BfTypeDeclaration* typeDeclaration)
for (auto member : defineBlock->mChildArr) for (auto member : defineBlock->mChildArr)
{ {
SetAndRestoreValue<BfAstNode*> prevBlockMember(mCurBlockMember, member); SetAndRestoreValue<BfAstNode*> prevBlockMember(mCurBlockMember, member);
if (auto fieldDecl = BfNodeDynCast<BfFieldDeclaration>(member))
ExpectNewLine();
VisitChild(member); VisitChild(member);
} }
ExpectUnindent(); ExpectUnindent();