1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-07-04 23:36:00 +02:00

Added expression bodies for properties

This commit is contained in:
Brian Fiete 2019-09-30 12:24:02 -07:00
parent 69e3bf94f7
commit 85648cda63
8 changed files with 102 additions and 54 deletions

View file

@ -322,6 +322,7 @@ class BfQualifiedTypeReference;
class BfUsingDirective;
class BfUsingStaticDirective;
class BfPropertyMethodDeclaration;
class BfPropertyBodyExpression;
class BfPropertyDeclaration;
class BfIndexerDeclaration;
class BfPreprocesorIgnoredSectionNode;
@ -500,6 +501,7 @@ public:
virtual void Visit(BfMethodDeclaration* methodDeclaration);
virtual void Visit(BfOperatorDeclaration* operatorDeclaration);
virtual void Visit(BfPropertyMethodDeclaration* propertyMethodDeclaration);
virtual void Visit(BfPropertyBodyExpression* propertyBodyExpression);
virtual void Visit(BfPropertyDeclaration* propertyDeclaration);
virtual void Visit(BfIndexerDeclaration* indexerDeclaration);
virtual void Visit(BfFieldDeclaration* fieldDeclaration);
@ -2895,11 +2897,18 @@ public:
BfPropertyDeclaration* mPropertyDeclaration;
BfAttributeDirective* mAttributes;
BfTokenNode* mProtectionSpecifier;
BfTokenNode* mMutSpecifier;
BfTokenNode* mMutSpecifier;
BfIdentifierNode* mNameNode;
BfAstNode* mBody;
BfAstNode* mBody;
}; BF_AST_DECL(BfPropertyMethodDeclaration, BfAstNode);
class BfPropertyBodyExpression : public BfAstNode
{
public:
BF_AST_TYPE(BfPropertyBodyExpression, BfAstNode);
BfTokenNode* mFatTokenArrow;
}; BF_AST_DECL(BfPropertyBodyExpression, BfAstNode);
class BfPropertyDeclaration : public BfFieldDeclaration
{
public:
@ -2907,8 +2916,8 @@ public:
BfTokenNode* mVirtualSpecifier; // either 'virtual', 'override', or 'abstract'
BfTypeReference* mExplicitInterface;
BfTokenNode* mExplicitInterfaceDotToken;
BfBlock* mDefinitionBlock;
BfTokenNode* mExplicitInterfaceDotToken;
BfAstNode* mDefinitionBlock;
BfSizedArray<BfPropertyMethodDeclaration*> mMethods;