1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 12:02:21 +02:00

Fixed formatting of comma-separated fields with initializers

This commit is contained in:
Brian Fiete 2020-11-09 08:54:40 -08:00
parent 6cb13900b0
commit cd2561b68e

View file

@ -2494,14 +2494,6 @@ void BfPrinter::Visit(BfIndexerDeclaration* indexerDeclaration)
void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration) void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
{ {
if (fieldDeclaration->mPrecedingComma != NULL)
{
VisitChild(fieldDeclaration->mPrecedingComma);
ExpectSpace();
VisitChild(fieldDeclaration->mNameNode);
return;
}
bool isEnumDecl = false; bool isEnumDecl = false;
if (auto enumEntry = BfNodeDynCast<BfEnumEntryDeclaration>(fieldDeclaration)) if (auto enumEntry = BfNodeDynCast<BfEnumEntryDeclaration>(fieldDeclaration))
@ -2509,33 +2501,45 @@ void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
isEnumDecl = true; isEnumDecl = true;
} }
if (!isEnumDecl) if (fieldDeclaration->mPrecedingComma != NULL)
ExpectNewLine();
if (fieldDeclaration->mAttributes != NULL)
{ {
QueueVisitChild(fieldDeclaration->mAttributes); mVirtualNewLineIdx = mNextStateModify.mWantNewLineIdx;
ExpectNewLine();
QueueVisitChild(fieldDeclaration->mPrecedingComma);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mNameNode);
} }
ExpectSpace(); else
QueueVisitChild(fieldDeclaration->mProtectionSpecifier); {
ExpectSpace(); if (!isEnumDecl)
QueueVisitChild(fieldDeclaration->mConstSpecifier); ExpectNewLine();
ExpectSpace(); if (fieldDeclaration->mAttributes != NULL)
QueueVisitChild(fieldDeclaration->mReadOnlySpecifier); {
ExpectSpace(); QueueVisitChild(fieldDeclaration->mAttributes);
QueueVisitChild(fieldDeclaration->mVolatileSpecifier); ExpectNewLine();
ExpectSpace(); }
QueueVisitChild(fieldDeclaration->mNewSpecifier); ExpectSpace();
ExpectSpace(); QueueVisitChild(fieldDeclaration->mProtectionSpecifier);
QueueVisitChild(fieldDeclaration->mStaticSpecifier); ExpectSpace();
ExpectSpace(); QueueVisitChild(fieldDeclaration->mConstSpecifier);
QueueVisitChild(fieldDeclaration->mPrecedingComma); ExpectSpace();
ExpectSpace(); QueueVisitChild(fieldDeclaration->mReadOnlySpecifier);
if (isEnumDecl) ExpectSpace();
mNextStateModify.mExpectingSpace = false; QueueVisitChild(fieldDeclaration->mVolatileSpecifier);
QueueVisitChild(fieldDeclaration->mTypeRef); ExpectSpace();
ExpectSpace(); QueueVisitChild(fieldDeclaration->mNewSpecifier);
QueueVisitChild(fieldDeclaration->mNameNode); ExpectSpace();
QueueVisitChild(fieldDeclaration->mStaticSpecifier);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mPrecedingComma);
ExpectSpace();
if (isEnumDecl)
mNextStateModify.mExpectingSpace = false;
QueueVisitChild(fieldDeclaration->mTypeRef);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mNameNode);
}
if (fieldDeclaration->mEqualsNode != NULL) if (fieldDeclaration->mEqualsNode != NULL)
{ {
ExpectSpace(); ExpectSpace();