1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 03:52:19 +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)
{
if (fieldDeclaration->mPrecedingComma != NULL)
{
VisitChild(fieldDeclaration->mPrecedingComma);
ExpectSpace();
VisitChild(fieldDeclaration->mNameNode);
return;
}
bool isEnumDecl = false;
if (auto enumEntry = BfNodeDynCast<BfEnumEntryDeclaration>(fieldDeclaration))
@ -2509,33 +2501,45 @@ void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
isEnumDecl = true;
}
if (!isEnumDecl)
ExpectNewLine();
if (fieldDeclaration->mAttributes != NULL)
if (fieldDeclaration->mPrecedingComma != NULL)
{
QueueVisitChild(fieldDeclaration->mAttributes);
ExpectNewLine();
mVirtualNewLineIdx = mNextStateModify.mWantNewLineIdx;
QueueVisitChild(fieldDeclaration->mPrecedingComma);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mNameNode);
}
ExpectSpace();
QueueVisitChild(fieldDeclaration->mProtectionSpecifier);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mConstSpecifier);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mReadOnlySpecifier);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mVolatileSpecifier);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mNewSpecifier);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mStaticSpecifier);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mPrecedingComma);
ExpectSpace();
if (isEnumDecl)
mNextStateModify.mExpectingSpace = false;
QueueVisitChild(fieldDeclaration->mTypeRef);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mNameNode);
else
{
if (!isEnumDecl)
ExpectNewLine();
if (fieldDeclaration->mAttributes != NULL)
{
QueueVisitChild(fieldDeclaration->mAttributes);
ExpectNewLine();
}
ExpectSpace();
QueueVisitChild(fieldDeclaration->mProtectionSpecifier);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mConstSpecifier);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mReadOnlySpecifier);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mVolatileSpecifier);
ExpectSpace();
QueueVisitChild(fieldDeclaration->mNewSpecifier);
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)
{
ExpectSpace();