1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 20:42:21 +02:00

Generic constructors

This commit is contained in:
Brian Fiete 2024-11-06 07:31:55 -05:00
parent 64d646e130
commit 04ea8a6634
13 changed files with 267 additions and 37 deletions

View file

@ -337,6 +337,7 @@ class BfScopeNode;
class BfNewNode;
class BfLabeledBlock;
class BfGenericArgumentsNode;
class BfCtorExplicitNode;
class BfStatement;
class BfLabelableStatement;
class BfExpression;
@ -529,6 +530,7 @@ public:
virtual void Visit(BfGenericOperatorConstraint* genericConstraints);
virtual void Visit(BfGenericConstraintsDeclaration* genericConstraints);
virtual void Visit(BfGenericArgumentsNode* genericArgumentsNode);
virtual void Visit(BfCtorExplicitNode* genericArgumentsNode);
virtual void Visit(BfEmptyStatement* emptyStmt);
virtual void Visit(BfTokenNode* tokenNode);
@ -2911,6 +2913,16 @@ public:
BfAstNode* mStatement;
}; BF_AST_DECL(BfAttributedStatement, BfStatement);
class BfCtorExplicitNode : public BfAstNode
{
public:
BF_AST_TYPE(BfCtorExplicitNode, BfAstNode);
BfAstNode* mDotToken;
BfTokenNode* mThisToken;
BfGenericArgumentsNode* mGenericArgs;
}; BF_AST_DECL(BfCtorExplicitNode, BfAstNode);
class BfObjectCreateExpression : public BfMethodBoundExpression
{
public:
@ -2919,6 +2931,7 @@ public:
BfAstNode* mNewNode;
BfTokenNode* mStarToken;
BfTypeReference* mTypeRef;
BfCtorExplicitNode* mCtorExplicit;
BfTokenNode* mOpenToken;
BfTokenNode* mCloseToken;
BfSizedArray<BfExpression*> mArguments;