From 74bbdbadbfd375ccca7874324b7b39c3b980f19e Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Thu, 17 Sep 2020 05:21:38 -0700 Subject: [PATCH] Equality fix --- IDEHelper/Compiler/BfModule.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index ca9dfb8e..c7524a03 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -4181,20 +4181,14 @@ void BfModule::CreateFakeCallerMethod(const String& funcName) } void BfModule::CreateValueTypeEqualsMethod(bool strictEquals) -{ +{ if (mCurMethodInstance->mIsUnspecialized) return; if (mBfIRBuilder->mIgnoreWrites) return; - auto boolType = GetPrimitiveType(BfTypeCode_Boolean); - if (mCurTypeInstance->IsValuelessType()) - { - mBfIRBuilder->CreateRet(GetDefaultValue(boolType)); - return; - } - + auto boolType = GetPrimitiveType(BfTypeCode_Boolean); if (mCurTypeInstance->IsTypedPrimitive()) { BfExprEvaluator exprEvaluator(this); @@ -4210,6 +4204,12 @@ void BfModule::CreateValueTypeEqualsMethod(bool strictEquals) auto compareType = mCurMethodInstance->mParams[0].mResolvedType; bool isValid = true; + if (compareType->IsValuelessType()) + { + mBfIRBuilder->CreateRet(GetDefaultValue(boolType)); + return; + } + auto compareDType = compareType->ToDependedType(); BfTypeInstance* compareTypeInst = compareType->ToTypeInstance(); if (compareTypeInst != NULL)