mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-25 02:58:02 +02:00
Formatting fixes - lambda dtor, space before comments
This commit is contained in:
parent
bc996ca471
commit
d57e790a9a
2 changed files with 42 additions and 13 deletions
|
@ -300,6 +300,11 @@ int BfPrinter::CalcOrigLineSpacing(BfAstNode* bfAstNode, int* lineStartIdx)
|
|||
|
||||
void BfPrinter::WriteIgnoredNode(BfAstNode* node)
|
||||
{
|
||||
if ((!mOutString.IsEmpty()) && (!isspace((uint8)mOutString[mOutString.mLength - 1])))
|
||||
{
|
||||
Write(" ");
|
||||
}
|
||||
|
||||
bool wasExpectingNewLine = mExpectingNewLine;
|
||||
|
||||
mTriviaIdx = std::max(mTriviaIdx, node->GetTriviaStart());
|
||||
|
@ -1762,6 +1767,11 @@ void BfPrinter::Visit(BfLambdaBindExpression* lambdaBindExpr)
|
|||
VisitChild(lambdaBindExpr->mBody);
|
||||
}
|
||||
}
|
||||
VisitChild(lambdaBindExpr->mDtor);
|
||||
mNextStateModify.mExpectingSpace = false;
|
||||
mVirtualNewLineIdx = mNextStateModify.mWantNewLineIdx;
|
||||
mCurIndentLevel = mNextStateModify.mWantVirtualIndent;
|
||||
mVirtualIndentLevel = mNextStateModify.mWantVirtualIndent;
|
||||
}
|
||||
|
||||
void BfPrinter::Visit(BfObjectCreateExpression* newExpr)
|
||||
|
@ -2703,18 +2713,10 @@ void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
|
|||
QueueVisitChild(fieldDeclaration->mInitializer);
|
||||
}
|
||||
|
||||
auto fieldDtor = fieldDeclaration->mFieldDtor;
|
||||
while (fieldDtor != NULL)
|
||||
{
|
||||
ExpectSpace();
|
||||
QueueVisitChild(fieldDtor->mTildeToken);
|
||||
ExpectSpace();
|
||||
QueueVisitChild(fieldDtor->mBody);
|
||||
fieldDtor = fieldDtor->mNextFieldDtor;
|
||||
}
|
||||
|
||||
mNextStateModify.mExpectingSpace = false;
|
||||
FlushVisitChild();
|
||||
VisitChild(fieldDeclaration->mFieldDtor);
|
||||
mNextStateModify.mExpectingSpace = false;
|
||||
}
|
||||
|
||||
void BfPrinter::Visit(BfEnumCaseDeclaration* enumCaseDeclaration)
|
||||
|
@ -2763,6 +2765,32 @@ void BfPrinter::Visit(BfTypeAliasDeclaration* typeDeclaration)
|
|||
VisitChild(typeDeclaration->mEndSemicolon);
|
||||
}
|
||||
|
||||
void BfPrinter::Visit(BfFieldDtorDeclaration* fieldDtorDeclaration)
|
||||
{
|
||||
ExpectSpace();
|
||||
if (fieldDtorDeclaration->mBody != NULL)
|
||||
{
|
||||
if (fieldDtorDeclaration->mBody->IsA<BfBlock>())
|
||||
{
|
||||
ExpectNewLine();
|
||||
ExpectIndent();
|
||||
VisitChild(fieldDtorDeclaration->mTildeToken);
|
||||
VisitChild(fieldDtorDeclaration->mBody);
|
||||
ExpectUnindent();
|
||||
}
|
||||
else
|
||||
{
|
||||
VisitChild(fieldDtorDeclaration->mTildeToken);
|
||||
ExpectSpace();
|
||||
VisitChild(fieldDtorDeclaration->mBody);
|
||||
}
|
||||
}
|
||||
else
|
||||
VisitChild(fieldDtorDeclaration->mTildeToken);
|
||||
|
||||
VisitChild(fieldDtorDeclaration->mNextFieldDtor);
|
||||
}
|
||||
|
||||
void BfPrinter::Visit(BfTypeDeclaration* typeDeclaration)
|
||||
{
|
||||
SetAndRestoreValue<BfTypeDeclaration*> prevTypeDecl(mCurTypeDecl, typeDeclaration);
|
||||
|
|
|
@ -220,6 +220,7 @@ public:
|
|||
virtual void Visit(BfFieldDeclaration* fieldDeclaration) override;
|
||||
virtual void Visit(BfEnumCaseDeclaration* enumCaseDeclaration) override;
|
||||
virtual void Visit(BfTypeAliasDeclaration* typeDeclaration) override;
|
||||
virtual void Visit(BfFieldDtorDeclaration* fieldDtorDeclaration) override;
|
||||
virtual void Visit(BfTypeDeclaration* typeDeclaration) override;
|
||||
virtual void Visit(BfUsingDirective* usingDirective) override;
|
||||
virtual void Visit(BfUsingModDirective* usingDirective) override;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue