mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-12 13:24:09 +02:00
Fixed CreateValueTypeEqualsMethod
This commit is contained in:
parent
378d514d0a
commit
44c8da4eb3
1 changed files with 13 additions and 13 deletions
|
@ -4188,8 +4188,19 @@ void BfModule::CreateValueTypeEqualsMethod(bool strictEquals)
|
||||||
if (mBfIRBuilder->mIgnoreWrites)
|
if (mBfIRBuilder->mIgnoreWrites)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
BF_ASSERT(!mCurTypeInstance->IsBoxed());
|
||||||
|
|
||||||
|
auto compareType = mCurMethodInstance->mParams[0].mResolvedType;
|
||||||
|
bool isValid = true;
|
||||||
|
|
||||||
auto boolType = GetPrimitiveType(BfTypeCode_Boolean);
|
auto boolType = GetPrimitiveType(BfTypeCode_Boolean);
|
||||||
if (mCurTypeInstance->IsTypedPrimitive())
|
if (compareType->IsValuelessType())
|
||||||
|
{
|
||||||
|
mBfIRBuilder->CreateRet(GetDefaultValue(boolType));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (compareType->IsTypedPrimitive())
|
||||||
{
|
{
|
||||||
BfExprEvaluator exprEvaluator(this);
|
BfExprEvaluator exprEvaluator(this);
|
||||||
BfTypedValue leftTypedVal = LoadValue(exprEvaluator.LoadLocal(mCurMethodState->mLocals[0]));
|
BfTypedValue leftTypedVal = LoadValue(exprEvaluator.LoadLocal(mCurMethodState->mLocals[0]));
|
||||||
|
@ -4199,17 +4210,6 @@ void BfModule::CreateValueTypeEqualsMethod(bool strictEquals)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
BF_ASSERT(!mCurTypeInstance->IsBoxed());
|
|
||||||
|
|
||||||
auto compareType = mCurMethodInstance->mParams[0].mResolvedType;
|
|
||||||
bool isValid = true;
|
|
||||||
|
|
||||||
if (compareType->IsValuelessType())
|
|
||||||
{
|
|
||||||
mBfIRBuilder->CreateRet(GetDefaultValue(boolType));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto compareDType = compareType->ToDependedType();
|
auto compareDType = compareType->ToDependedType();
|
||||||
BfTypeInstance* compareTypeInst = compareType->ToTypeInstance();
|
BfTypeInstance* compareTypeInst = compareType->ToTypeInstance();
|
||||||
if (compareTypeInst != NULL)
|
if (compareTypeInst != NULL)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue