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:
parent
659aeefa61
commit
559ac2f39e
2 changed files with 10 additions and 2 deletions
|
@ -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;
|
||||||
|
|
|
@ -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()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue