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)
|
void BfPrinter::WriteIgnoredNode(BfAstNode* node)
|
||||||
{
|
{
|
||||||
|
if ((!mOutString.IsEmpty()) && (!isspace((uint8)mOutString[mOutString.mLength - 1])))
|
||||||
|
{
|
||||||
|
Write(" ");
|
||||||
|
}
|
||||||
|
|
||||||
bool wasExpectingNewLine = mExpectingNewLine;
|
bool wasExpectingNewLine = mExpectingNewLine;
|
||||||
|
|
||||||
mTriviaIdx = std::max(mTriviaIdx, node->GetTriviaStart());
|
mTriviaIdx = std::max(mTriviaIdx, node->GetTriviaStart());
|
||||||
|
@ -1759,9 +1764,14 @@ void BfPrinter::Visit(BfLambdaBindExpression* lambdaBindExpr)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ExpectSpace();
|
ExpectSpace();
|
||||||
VisitChild(lambdaBindExpr->mBody);
|
VisitChild(lambdaBindExpr->mBody);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
VisitChild(lambdaBindExpr->mDtor);
|
||||||
|
mNextStateModify.mExpectingSpace = false;
|
||||||
|
mVirtualNewLineIdx = mNextStateModify.mWantNewLineIdx;
|
||||||
|
mCurIndentLevel = mNextStateModify.mWantVirtualIndent;
|
||||||
|
mVirtualIndentLevel = mNextStateModify.mWantVirtualIndent;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BfPrinter::Visit(BfObjectCreateExpression* newExpr)
|
void BfPrinter::Visit(BfObjectCreateExpression* newExpr)
|
||||||
|
@ -2643,7 +2653,7 @@ void BfPrinter::Visit(BfIndexerDeclaration* indexerDeclaration)
|
||||||
}
|
}
|
||||||
|
|
||||||
void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
|
void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
|
||||||
{
|
{
|
||||||
bool isEnumDecl = false;
|
bool isEnumDecl = false;
|
||||||
|
|
||||||
if (auto enumEntry = BfNodeDynCast<BfEnumEntryDeclaration>(fieldDeclaration))
|
if (auto enumEntry = BfNodeDynCast<BfEnumEntryDeclaration>(fieldDeclaration))
|
||||||
|
@ -2703,18 +2713,10 @@ void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
|
||||||
QueueVisitChild(fieldDeclaration->mInitializer);
|
QueueVisitChild(fieldDeclaration->mInitializer);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto fieldDtor = fieldDeclaration->mFieldDtor;
|
|
||||||
while (fieldDtor != NULL)
|
|
||||||
{
|
|
||||||
ExpectSpace();
|
|
||||||
QueueVisitChild(fieldDtor->mTildeToken);
|
|
||||||
ExpectSpace();
|
|
||||||
QueueVisitChild(fieldDtor->mBody);
|
|
||||||
fieldDtor = fieldDtor->mNextFieldDtor;
|
|
||||||
}
|
|
||||||
|
|
||||||
mNextStateModify.mExpectingSpace = false;
|
mNextStateModify.mExpectingSpace = false;
|
||||||
FlushVisitChild();
|
FlushVisitChild();
|
||||||
|
VisitChild(fieldDeclaration->mFieldDtor);
|
||||||
|
mNextStateModify.mExpectingSpace = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BfPrinter::Visit(BfEnumCaseDeclaration* enumCaseDeclaration)
|
void BfPrinter::Visit(BfEnumCaseDeclaration* enumCaseDeclaration)
|
||||||
|
@ -2763,6 +2765,32 @@ void BfPrinter::Visit(BfTypeAliasDeclaration* typeDeclaration)
|
||||||
VisitChild(typeDeclaration->mEndSemicolon);
|
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)
|
void BfPrinter::Visit(BfTypeDeclaration* typeDeclaration)
|
||||||
{
|
{
|
||||||
SetAndRestoreValue<BfTypeDeclaration*> prevTypeDecl(mCurTypeDecl, typeDeclaration);
|
SetAndRestoreValue<BfTypeDeclaration*> prevTypeDecl(mCurTypeDecl, typeDeclaration);
|
||||||
|
|
|
@ -220,6 +220,7 @@ public:
|
||||||
virtual void Visit(BfFieldDeclaration* fieldDeclaration) override;
|
virtual void Visit(BfFieldDeclaration* fieldDeclaration) override;
|
||||||
virtual void Visit(BfEnumCaseDeclaration* enumCaseDeclaration) override;
|
virtual void Visit(BfEnumCaseDeclaration* enumCaseDeclaration) override;
|
||||||
virtual void Visit(BfTypeAliasDeclaration* typeDeclaration) override;
|
virtual void Visit(BfTypeAliasDeclaration* typeDeclaration) override;
|
||||||
|
virtual void Visit(BfFieldDtorDeclaration* fieldDtorDeclaration) override;
|
||||||
virtual void Visit(BfTypeDeclaration* typeDeclaration) override;
|
virtual void Visit(BfTypeDeclaration* typeDeclaration) override;
|
||||||
virtual void Visit(BfUsingDirective* usingDirective) override;
|
virtual void Visit(BfUsingDirective* usingDirective) override;
|
||||||
virtual void Visit(BfUsingModDirective* usingDirective) override;
|
virtual void Visit(BfUsingModDirective* usingDirective) override;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue