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

@ -2493,49 +2493,53 @@ 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))
{ {
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(); ExpectSpace();
QueueVisitChild(fieldDeclaration->mProtectionSpecifier); QueueVisitChild(fieldDeclaration->mNameNode);
ExpectSpace(); }
QueueVisitChild(fieldDeclaration->mConstSpecifier); else
ExpectSpace(); {
QueueVisitChild(fieldDeclaration->mReadOnlySpecifier); if (!isEnumDecl)
ExpectSpace(); ExpectNewLine();
QueueVisitChild(fieldDeclaration->mVolatileSpecifier); if (fieldDeclaration->mAttributes != NULL)
ExpectSpace(); {
QueueVisitChild(fieldDeclaration->mNewSpecifier); QueueVisitChild(fieldDeclaration->mAttributes);
ExpectSpace(); ExpectNewLine();
QueueVisitChild(fieldDeclaration->mStaticSpecifier); }
ExpectSpace(); ExpectSpace();
QueueVisitChild(fieldDeclaration->mPrecedingComma); QueueVisitChild(fieldDeclaration->mProtectionSpecifier);
ExpectSpace(); ExpectSpace();
if (isEnumDecl) QueueVisitChild(fieldDeclaration->mConstSpecifier);
mNextStateModify.mExpectingSpace = false; ExpectSpace();
QueueVisitChild(fieldDeclaration->mTypeRef); QueueVisitChild(fieldDeclaration->mReadOnlySpecifier);
ExpectSpace(); ExpectSpace();
QueueVisitChild(fieldDeclaration->mNameNode); 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) if (fieldDeclaration->mEqualsNode != NULL)
{ {
ExpectSpace(); ExpectSpace();
@ -2556,7 +2560,7 @@ void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
QueueVisitChild(fieldDtor->mBody); QueueVisitChild(fieldDtor->mBody);
fieldDtor = fieldDtor->mNextFieldDtor; fieldDtor = fieldDtor->mNextFieldDtor;
} }
mNextStateModify.mExpectingSpace = false; mNextStateModify.mExpectingSpace = false;
FlushVisitChild(); FlushVisitChild();
} }