mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 04:22:20 +02:00
Overhaul generic type reference lookup
This commit is contained in:
parent
e5f280de32
commit
fefed0948e
5 changed files with 304 additions and 118 deletions
|
@ -1861,7 +1861,6 @@ class BfGenericTypeInfo
|
|||
public:
|
||||
typedef Array<BfGenericTypeParamInstance*> GenericParamsVector;
|
||||
|
||||
Array<BfAstNode*> mTypeGenericArgumentRefs;
|
||||
BfTypeVector mTypeGenericArguments;
|
||||
GenericParamsVector mGenericParams;
|
||||
BfGenericExtensionInfo* mGenericExtensionInfo;
|
||||
|
@ -2635,7 +2634,7 @@ public:
|
|||
public:
|
||||
static BfTypeDef* FindRootCommonOuterType(BfTypeDef* outerType, LookupContext* ctx, BfTypeInstance*& outCheckTypeInstance);
|
||||
static BfVariant EvaluateToVariant(LookupContext* ctx, BfExpression* expr, BfType*& outType);
|
||||
static bool GenericTypeEquals(BfTypeInstance* lhsGenericType, BfTypeVector* lhsTypeGenericArguments, BfTypeReference* rhs, LookupContext* ctx, int& genericParamOffset);
|
||||
static bool GenericTypeEquals(BfTypeInstance* lhsGenericType, BfTypeVector* lhsTypeGenericArguments, BfTypeReference* rhs, LookupContext* ctx, int& genericParamOffset, bool skipElement = false);
|
||||
static bool GenericTypeEquals(BfTypeInstance* lhsGenericType, BfTypeVector* typeGenericArguments, BfTypeReference* rhs, BfTypeDef* rhsTypeDef, LookupContext* ctx);
|
||||
static void HashGenericArguments(BfTypeReference* typeRef, LookupContext* ctx, int& hash, int hashSeed);
|
||||
static int DoHash(BfType* type, LookupContext* ctx, bool allowRef, int hashSeed);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue