mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-15 23:04:09 +02:00
Indexer formatting fix
This commit is contained in:
parent
e02b42d6f4
commit
9893cb9627
2 changed files with 22 additions and 11 deletions
|
@ -2385,7 +2385,7 @@ void BfPrinter::Visit(BfPropertyMethodDeclaration* propertyMethodDeclaration)
|
||||||
}
|
}
|
||||||
|
|
||||||
void BfPrinter::Visit(BfPropertyDeclaration* propertyDeclaration)
|
void BfPrinter::Visit(BfPropertyDeclaration* propertyDeclaration)
|
||||||
{
|
{
|
||||||
auto indexerDeclaration = BfNodeDynCast<BfIndexerDeclaration>(propertyDeclaration);
|
auto indexerDeclaration = BfNodeDynCast<BfIndexerDeclaration>(propertyDeclaration);
|
||||||
|
|
||||||
ExpectNewLine();
|
ExpectNewLine();
|
||||||
|
@ -2436,13 +2436,14 @@ void BfPrinter::Visit(BfPropertyDeclaration* propertyDeclaration)
|
||||||
if (auto block = BfNodeDynCast<BfBlock>(propertyDeclaration->mDefinitionBlock))
|
if (auto block = BfNodeDynCast<BfBlock>(propertyDeclaration->mDefinitionBlock))
|
||||||
{
|
{
|
||||||
bool doInlineBlock = false;
|
bool doInlineBlock = false;
|
||||||
DoBlockOpen(block, true, &doInlineBlock);
|
int indentStart = 0;
|
||||||
|
DoBlockOpen(block, true, &doInlineBlock, &indentStart);
|
||||||
for (auto method : propertyDeclaration->mMethods)
|
for (auto method : propertyDeclaration->mMethods)
|
||||||
{
|
{
|
||||||
Visit(method);
|
Visit(method);
|
||||||
}
|
}
|
||||||
FlushVisitChild();
|
FlushVisitChild();
|
||||||
DoBlockClose(block, true, doInlineBlock);
|
DoBlockClose(block, true, doInlineBlock, indentStart);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2461,6 +2462,11 @@ void BfPrinter::Visit(BfPropertyDeclaration* propertyDeclaration)
|
||||||
FlushVisitChild();
|
FlushVisitChild();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BfPrinter::Visit(BfIndexerDeclaration* indexerDeclaration)
|
||||||
|
{
|
||||||
|
Visit((BfPropertyDeclaration*)indexerDeclaration);
|
||||||
|
}
|
||||||
|
|
||||||
void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
|
void BfPrinter::Visit(BfFieldDeclaration* fieldDeclaration)
|
||||||
{
|
{
|
||||||
if (fieldDeclaration->mPrecedingComma != NULL)
|
if (fieldDeclaration->mPrecedingComma != NULL)
|
||||||
|
@ -2749,8 +2755,10 @@ void BfPrinter::Visit(BfNamespaceDeclaration* namespaceDeclaration)
|
||||||
VisitChild(namespaceDeclaration->mBlock);
|
VisitChild(namespaceDeclaration->mBlock);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BfPrinter::DoBlockOpen(BfBlock* block, bool queue, bool* outDoInlineBlock)
|
void BfPrinter::DoBlockOpen(BfBlock* block, bool queue, bool* outDoInlineBlock, int* outIdentStart)
|
||||||
{
|
{
|
||||||
|
*outIdentStart = mNextStateModify.mWantVirtualIndent;
|
||||||
|
|
||||||
bool doInlineBlock = true;
|
bool doInlineBlock = true;
|
||||||
if (block->mCloseBrace != NULL)
|
if (block->mCloseBrace != NULL)
|
||||||
{
|
{
|
||||||
|
@ -2781,11 +2789,12 @@ void BfPrinter::DoBlockOpen(BfBlock* block, bool queue, bool* outDoInlineBlock)
|
||||||
*outDoInlineBlock = doInlineBlock;
|
*outDoInlineBlock = doInlineBlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BfPrinter::DoBlockClose(BfBlock* block, bool queue, bool doInlineBlock)
|
void BfPrinter::DoBlockClose(BfBlock* block, bool queue, bool doInlineBlock, int indentStart)
|
||||||
{
|
{
|
||||||
if (!doInlineBlock)
|
if (!doInlineBlock)
|
||||||
{
|
{
|
||||||
ExpectUnindent();
|
ExpectUnindent();
|
||||||
|
mNextStateModify.mWantVirtualIndent = indentStart;
|
||||||
mNextStateModify.mDoingBlockClose = true;
|
mNextStateModify.mDoingBlockClose = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2799,7 +2808,8 @@ void BfPrinter::DoBlockClose(BfBlock* block, bool queue, bool doInlineBlock)
|
||||||
void BfPrinter::Visit(BfBlock* block)
|
void BfPrinter::Visit(BfBlock* block)
|
||||||
{
|
{
|
||||||
bool doInlineBlock;
|
bool doInlineBlock;
|
||||||
DoBlockOpen(block, false, &doInlineBlock);
|
int indentStart = 0;
|
||||||
|
DoBlockOpen(block, false, &doInlineBlock, &indentStart);
|
||||||
for (auto& childNodeRef : *block)
|
for (auto& childNodeRef : *block)
|
||||||
{
|
{
|
||||||
BfAstNode* child = childNodeRef;
|
BfAstNode* child = childNodeRef;
|
||||||
|
@ -2811,7 +2821,7 @@ void BfPrinter::Visit(BfBlock* block)
|
||||||
SetAndRestoreValue<BfAstNode*> prevBlockMember(mCurBlockMember, child);
|
SetAndRestoreValue<BfAstNode*> prevBlockMember(mCurBlockMember, child);
|
||||||
child->Accept(this);
|
child->Accept(this);
|
||||||
}
|
}
|
||||||
DoBlockClose(block, false, doInlineBlock);
|
DoBlockClose(block, false, doInlineBlock, indentStart);
|
||||||
|
|
||||||
ExpectNewLine();
|
ExpectNewLine();
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,11 +95,11 @@ public:
|
||||||
void ExpectIndent();
|
void ExpectIndent();
|
||||||
void ExpectUnindent();
|
void ExpectUnindent();
|
||||||
void VisitChildNextLine(BfAstNode* node);
|
void VisitChildNextLine(BfAstNode* node);
|
||||||
void DoBlockOpen(BfBlock* block, bool queue, bool* outDoInlineBlock);
|
void DoBlockOpen(BfBlock* block, bool queue, bool* outDoInlineBlock, int* outIdentStart);
|
||||||
void DoBlockClose(BfBlock* block, bool queue, bool doInlineBlock);
|
void DoBlockClose(BfBlock* block, bool queue, bool doInlineBlock, int identStart);
|
||||||
void QueueMethodDeclaration(BfMethodDeclaration* methodDeclaration);
|
void QueueMethodDeclaration(BfMethodDeclaration* methodDeclaration);
|
||||||
int CalcOrigLineSpacing(BfAstNode* bfAstNode, int* lineStartIdx);
|
int CalcOrigLineSpacing(BfAstNode* bfAstNode, int* lineStartIdx);
|
||||||
void WriteIgnoredNode(BfAstNode* node);
|
void WriteIgnoredNode(BfAstNode* node);
|
||||||
|
|
||||||
virtual void Visit(BfAstNode* bfAstNode) override;
|
virtual void Visit(BfAstNode* bfAstNode) override;
|
||||||
virtual void Visit(BfErrorNode* bfErrorNode) override;
|
virtual void Visit(BfErrorNode* bfErrorNode) override;
|
||||||
|
@ -197,6 +197,7 @@ public:
|
||||||
virtual void Visit(BfOperatorDeclaration* opreratorDeclaration) override;
|
virtual void Visit(BfOperatorDeclaration* opreratorDeclaration) override;
|
||||||
virtual void Visit(BfPropertyMethodDeclaration* propertyDeclaration) override;
|
virtual void Visit(BfPropertyMethodDeclaration* propertyDeclaration) override;
|
||||||
virtual void Visit(BfPropertyDeclaration* propertyDeclaration) override;
|
virtual void Visit(BfPropertyDeclaration* propertyDeclaration) override;
|
||||||
|
virtual void Visit(BfIndexerDeclaration* indexerDeclaration) override;
|
||||||
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;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue