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

Early code generation support

This commit is contained in:
Brian Fiete 2021-01-11 09:41:43 -08:00
parent 0b48a60592
commit 71d4dd0e90
26 changed files with 2422 additions and 1576 deletions

View file

@ -41,6 +41,7 @@ class BfSystem;
class BfTypeReference;
class BfCompiler;
class BfProject;
class BfTypeDef;
struct BfTypeDefMapFuncs;
typedef MultiHashSet<BfTypeDef*, BfTypeDefMapFuncs> BfTypeDefMap;
@ -794,6 +795,7 @@ public:
bool mIsExtern;
bool mIsNoDiscard;
bool mHasExplicitThis;
bool mAddedAfterEmit;
BfCommutableKind mCommutableKind;
BfCheckedKind mCheckedKind;
BfImportKind mImportKind;
@ -823,6 +825,7 @@ public:
mIsExtern = false;
mIsNoDiscard = false;
mHasExplicitThis = false;
mAddedAfterEmit = false;
mBody = NULL;
mExplicitInterface = NULL;
mReturnTypeRef = NULL;
@ -1054,6 +1057,7 @@ public:
int GetSelfGenericParamCount();
String ToString();
BfMethodDef* GetMethodByName(const StringImpl& name, int paramCount = -1);
BfFieldDef* GetFieldByName(const StringImpl& name);
bool HasAutoProperty(BfPropertyDeclaration* propertyDeclaration);
String GetAutoPropertyName(BfPropertyDeclaration* propertyDeclaration);
BfAstNode* GetRefNode();