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

Turn CreateValueFromExpression asset into InternalError

This commit is contained in:
Brian Fiete 2023-07-27 07:16:54 -07:00
parent 659aeefa61
commit 559ac2f39e
2 changed files with 10 additions and 2 deletions

View file

@ -8934,6 +8934,7 @@ BfTypedValue BfExprEvaluator::ResolveArgValue(BfResolvedArg& resolvedArg, BfType
} }
localVar->mResolvedType = variableType; localVar->mResolvedType = variableType;
mModule->PopulateType(variableType);
if (!variableType->IsValuelessType()) if (!variableType->IsValuelessType())
localVar->mAddr = mModule->CreateAlloca(variableType); localVar->mAddr = mModule->CreateAlloca(variableType);
localVar->mIsReadOnly = isLet; localVar->mIsReadOnly = isLet;

View file

@ -9062,7 +9062,11 @@ BfTypedValue BfModule::CreateValueFromExpression(BfExprEvaluator& exprEvaluator,
{ {
if ((!mBfIRBuilder->mIgnoreWrites) && (!typedVal.mType->IsDataIncomplete()) && (!typedVal.mType->IsValuelessType()) && (!typedVal.mType->IsVar())) if ((!mBfIRBuilder->mIgnoreWrites) && (!typedVal.mType->IsDataIncomplete()) && (!typedVal.mType->IsValuelessType()) && (!typedVal.mType->IsVar()))
{ {
BF_ASSERT(!typedVal.mValue.IsFake()); if (typedVal.mValue.IsFake())
{
InternalError("Unexpected fakeval in CreateValueFromExpression");
typedVal = GetDefaultTypedValue(typedVal.mType);
}
} }
typedVal = LoadValue(typedVal, 0, exprEvaluator.mIsVolatileReference); typedVal = LoadValue(typedVal, 0, exprEvaluator.mIsVolatileReference);
@ -16461,7 +16465,10 @@ void BfModule::AssertErrorState()
if (mCompiler->IsAutocomplete()) if (mCompiler->IsAutocomplete())
return; return;
BF_ASSERT(mCompiler->mPassInstance->HasFailed()); if (mCompiler->mPassInstance->HasFailed())
return;
InternalError("Compiler in invalid state but AssertErrorState failed to prior error");
} }
void BfModule::AssertParseErrorState() void BfModule::AssertParseErrorState()