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

Added ability to lookup types with 'using static'

This commit is contained in:
Brian Fiete 2020-07-07 10:46:53 -07:00
parent 4ac56a2432
commit a02de171ef
5 changed files with 204 additions and 48 deletions

View file

@ -2328,6 +2328,7 @@ public:
BfModule* mModule;
BfTypeReference* mRootTypeRef;
BfTypeDef* mRootTypeDef;
BfTypeInstance* mRootOuterTypeInstance;
BfType* mResolvedType;
BfResolveTypeRefFlags mResolveFlags;
bool mFailed;
@ -2336,7 +2337,8 @@ public:
LookupContext()
{
mRootTypeRef = NULL;
mRootTypeDef = NULL;
mRootTypeDef = NULL;
mRootOuterTypeInstance = NULL;
mModule = NULL;
mResolvedType = NULL;
mFailed = false;
@ -2348,6 +2350,7 @@ public:
};
public:
static BfTypeDef* FindRootCommonOuterType(BfTypeDef* outerType, LookupContext* ctx, BfTypeInstance*& outCheckTypeInstance);
static BfVariant EvaluateToVariant(LookupContext* ctx, BfExpression* expr, BfType*& constGenericParam);
static bool GenericTypeEquals(BfTypeInstance* lhsGenericType, BfTypeVector* lhsTypeGenericArguments, BfTypeReference* rhs, LookupContext* ctx, int& genericParamOffset);
static bool GenericTypeEquals(BfTypeInstance* lhsGenericType, BfTypeVector* typeGenericArguments, BfTypeReference* rhs, BfTypeDef* rhsTypeDef, LookupContext* ctx);