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

Fixed reification on delegate invocations

This commit is contained in:
Brian Fiete 2022-06-13 11:50:13 -07:00
parent 500a42b054
commit 80d9b11166
2 changed files with 8 additions and 2 deletions

View file

@ -15927,6 +15927,12 @@ BfModuleMethodInstance BfExprEvaluator::GetSelectedMethod(BfAstNode* targetSrc,
{ {
bool failed = false; bool failed = false;
if ((mModule->mIsReified) && (!curTypeInst->mIsReified))
{
// Make sure target type gets reified
mModule->PopulateType(curTypeInst);
}
BfTypeVector resolvedGenericArguments; BfTypeVector resolvedGenericArguments;
BfMethodState* rootMethodState = NULL; BfMethodState* rootMethodState = NULL;
if (mModule->mCurMethodState != NULL) if (mModule->mCurMethodState != NULL)

View file

@ -8806,7 +8806,7 @@ BfTypedValue BfModule::CreateValueFromExpression(BfExprEvaluator& exprEvaluator,
if ((!typedVal.mType->IsComposite()) && (!typedVal.mType->IsGenericParam())) // Load non-structs by default if ((!typedVal.mType->IsComposite()) && (!typedVal.mType->IsGenericParam())) // Load non-structs by default
{ {
if ((!mBfIRBuilder->mIgnoreWrites) && (!typedVal.mType->IsValuelessType()) && (!typedVal.mType->IsVar())) if ((!mBfIRBuilder->mIgnoreWrites) && (!typedVal.mType->IsDataIncomplete()) && (!typedVal.mType->IsValuelessType()) && (!typedVal.mType->IsVar()))
{ {
BF_ASSERT(!typedVal.mValue.IsFake()); BF_ASSERT(!typedVal.mValue.IsFake());
} }