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

Handled comptime reflection over NoDecl_AwaitingReference methods

This commit is contained in:
Brian Fiete 2022-01-06 10:30:25 -05:00
parent 35d82fd599
commit 6d014575f1

View file

@ -8185,6 +8185,14 @@ CeTypeInfo* CeMachine::GetTypeInfo(BfType* type)
ceTypeInfo->mRevision = typeInstance->mRevision; ceTypeInfo->mRevision = typeInstance->mRevision;
for (auto& methodGroup : typeInstance->mMethodInstanceGroups) for (auto& methodGroup : typeInstance->mMethodInstanceGroups)
{ {
if (methodGroup.mOnDemandKind == BfMethodOnDemandKind_NoDecl_AwaitingReference)
{
auto methodDef = typeInstance->mTypeDef->mMethods[methodGroup.mMethodIdx];
auto flags = ((methodDef->mGenericParams.size() != 0) || (typeInstance->IsUnspecializedType())) ? BfGetMethodInstanceFlag_UnspecializedPass : BfGetMethodInstanceFlag_None;
flags = (BfGetMethodInstanceFlags)(flags | BfGetMethodInstanceFlag_MethodInstanceOnly);
mCeModule->GetMethodInstance(typeInstance, methodDef, BfTypeVector(), flags);
}
if (methodGroup.mDefault != NULL) if (methodGroup.mDefault != NULL)
{ {
mMethodInstanceSet.Add(methodGroup.mDefault); mMethodInstanceSet.Add(methodGroup.mDefault);