1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-24 02:28:01 +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,7 +2159,15 @@ void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
return; return;
} }
ExpectNewLine(); bool isEnumDecl = false;
if (auto enumEntry = BfNodeDynCast<BfEnumEntryDeclaration>(fieldDeclaration))
{
isEnumDecl = true;
}
if (!isEnumDecl)
ExpectNewLine();
if (fieldDeclaration->mAttributes != NULL) if (fieldDeclaration->mAttributes != NULL)
{ {
QueueVisitChild(fieldDeclaration->mAttributes); QueueVisitChild(fieldDeclaration->mAttributes);
@ -2180,14 +2188,22 @@ void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
QueueVisitChild(fieldDeclaration->mStaticSpecifier); QueueVisitChild(fieldDeclaration->mStaticSpecifier);
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);
ExpectSpace(); if (fieldDeclaration->mEqualsNode != NULL)
QueueVisitChild(fieldDeclaration->mEqualsNode); {
ExpectSpace(); ExpectSpace();
QueueVisitChild(fieldDeclaration->mInitializer); QueueVisitChild(fieldDeclaration->mEqualsNode);
}
if (fieldDeclaration->mInitializer != NULL)
{
ExpectSpace();
QueueVisitChild(fieldDeclaration->mInitializer);
}
auto fieldDtor = fieldDeclaration->mFieldDtor; auto fieldDtor = fieldDeclaration->mFieldDtor;
while (fieldDtor != NULL) while (fieldDtor != NULL)
@ -2205,7 +2221,9 @@ void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
void BfPrinter::Visit(BfEnumCaseDeclaration* enumCaseDeclaration) void BfPrinter::Visit(BfEnumCaseDeclaration* enumCaseDeclaration)
{ {
Visit(enumCaseDeclaration->ToBase()); ExpectNewLine();
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();