1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 03:52:19 +02:00

Fixed formatting of function/delegate types

This commit is contained in:
Brian Fiete 2020-01-31 16:10:23 -08:00
parent d91483ed83
commit 87ac9e65cf
2 changed files with 31 additions and 8 deletions

View file

@ -1098,9 +1098,31 @@ void BfPrinter::Visit(BfTupleTypeRef* typeRef)
VisitChild(typeRef->mCloseParen); VisitChild(typeRef->mCloseParen);
} }
void BfPrinter::Visit(BfDelegateTypeRef* typeRef)
{
Visit((BfAstNode*)typeRef);
VisitChild(typeRef->mTypeToken);
ExpectSpace();
VisitChild(typeRef->mReturnType);
VisitChild(typeRef->mAttributes);
VisitChild(typeRef->mOpenParen);
for (int i = 0; i < (int)typeRef->mParams.size(); i++)
{
if (i > 0)
{
VisitChild(typeRef->mCommas[i - 1]);
ExpectSpace();
}
VisitChild(typeRef->mParams[i]);
}
VisitChild(typeRef->mCloseParen);
}
void BfPrinter::Visit(BfPointerTypeRef* ptrType) void BfPrinter::Visit(BfPointerTypeRef* ptrType)
{ {
Visit((BfAstNode*) ptrType); Visit((BfAstNode*)ptrType);
VisitChild(ptrType->mElementType); VisitChild(ptrType->mElementType);
VisitChild(ptrType->mStarNode); VisitChild(ptrType->mStarNode);
@ -1281,12 +1303,6 @@ void BfPrinter::Visit(BfObjectCreateExpression* newExpr)
VisitChild(newExpr->mNewNode); VisitChild(newExpr->mNewNode);
ExpectSpace(); ExpectSpace();
if (newExpr->mStarToken != NULL)
{
VisitChild(newExpr->mStarToken);
ExpectSpace();
}
VisitChild(newExpr->mTypeRef); VisitChild(newExpr->mTypeRef);
VisitChild(newExpr->mOpenToken); VisitChild(newExpr->mOpenToken);
@ -1300,6 +1316,12 @@ void BfPrinter::Visit(BfObjectCreateExpression* newExpr)
VisitChild(newExpr->mArguments[i]); VisitChild(newExpr->mArguments[i]);
} }
VisitChild(newExpr->mCloseToken); VisitChild(newExpr->mCloseToken);
if (newExpr->mStarToken != NULL)
{
VisitChild(newExpr->mStarToken);
ExpectSpace();
}
} }
void BfPrinter::Visit(BfBoxExpression* boxExpr) void BfPrinter::Visit(BfBoxExpression* boxExpr)

View file

@ -140,6 +140,7 @@ public:
virtual void Visit(BfArrayTypeRef* typeRef) override; virtual void Visit(BfArrayTypeRef* typeRef) override;
virtual void Visit(BfGenericInstanceTypeRef* typeRef) override; virtual void Visit(BfGenericInstanceTypeRef* typeRef) override;
virtual void Visit(BfTupleTypeRef * typeRef) override; virtual void Visit(BfTupleTypeRef * typeRef) override;
virtual void Visit(BfDelegateTypeRef* typeRef) override;
virtual void Visit(BfPointerTypeRef* typeRef) override; virtual void Visit(BfPointerTypeRef* typeRef) override;
virtual void Visit(BfNullableTypeRef* typeRef) override; virtual void Visit(BfNullableTypeRef* typeRef) override;
virtual void Visit(BfVariableDeclaration* varDecl) override; virtual void Visit(BfVariableDeclaration* varDecl) override;