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

Comptime can now run on unspecialized code

This commit is contained in:
Brian Fiete 2022-01-16 07:59:51 -05:00
parent a4a5d99fd0
commit 4e18517c03
13 changed files with 289 additions and 155 deletions

View file

@ -843,6 +843,7 @@ public:
bool mIsUnspecialized:1;
bool mIsUnspecializedVariation:1;
bool mIsReified:1;
bool mHasStartedDeclaration:1;
bool mHasBeenDeclared:1;
bool mHasBeenProcessed:1;
bool mHasFailed:1;
@ -885,6 +886,7 @@ public:
mIsUnspecialized = false;
mIsUnspecializedVariation = false;
mIsReified = true;
mHasStartedDeclaration = false;
mHasBeenDeclared = false;
mHasBeenProcessed = false;
mHasFailed = false;
@ -2640,7 +2642,7 @@ public:
static String TypeToString(BfAstNode* typeRef);
static String TypeToString(BfTypeDef* typeDef, BfTypeNameFlags typeNameFlags = BfTypeNameFlags_None);
static bool TypeToString(StringImpl& str, BfTypeDef* typeDef, BfTypeNameFlags typeNameFlags = BfTypeNameFlags_None);
static bool TypeEquals(BfType* typeA, BfType* typeB, BfType* selfType);
static bool TypeEquals(BfType* typeA, BfType* typeB, BfTypeInstance* selfType);
template <typename T>
static void GetProjectList(BfType* checkType, T* projectList, int immutableLength)