mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-09 20:12:21 +02:00
Fixed void skipcall boxed methods
This commit is contained in:
parent
4b2256d41e
commit
91b5ab36ca
2 changed files with 15 additions and 2 deletions
|
@ -12225,8 +12225,18 @@ bool BfModule::IsInGeneric()
|
|||
return (mCurMethodInstance->GetNumGenericArguments() != 0) || (mCurTypeInstance->IsGenericTypeInstance());
|
||||
}
|
||||
|
||||
bool BfModule::IsInSpecializedGeneric()
|
||||
bool BfModule::InDefinitionSection()
|
||||
{
|
||||
if (mCurTypeInstance != NULL)
|
||||
{
|
||||
if (mCurTypeInstance->IsUnspecializedTypeVariation())
|
||||
return false;
|
||||
}
|
||||
return !IsInSpecializedSection();
|
||||
}
|
||||
|
||||
bool BfModule::IsInSpecializedGeneric()
|
||||
{
|
||||
if ((mCurMethodInstance == NULL) || (mCurMethodInstance->mIsUnspecialized))
|
||||
return false;
|
||||
return (mCurMethodInstance->GetNumGenericArguments() != 0) || (mCurTypeInstance->IsGenericTypeInstance());
|
||||
|
@ -16991,7 +17001,7 @@ void BfModule::ProcessMethod(BfMethodInstance* methodInstance, bool isInlineDup)
|
|||
skipEndChecks = true;
|
||||
|
||||
if (HasCompiledOutput())
|
||||
{
|
||||
{
|
||||
// Clear out DebugLoc - to mark the ".addr" code as part of prologue
|
||||
mBfIRBuilder->ClearDebugLocation();
|
||||
|
||||
|
@ -17016,6 +17026,8 @@ void BfModule::ProcessMethod(BfMethodInstance* methodInstance, bool isInlineDup)
|
|||
auto retVal = GetDefaultValue(methodInstance->mReturnType);
|
||||
CreateReturn(retVal);
|
||||
}
|
||||
else
|
||||
mBfIRBuilder->CreateRetVoid();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1537,6 +1537,7 @@ public:
|
|||
BfTypedValue GetThis();
|
||||
BfLocalVariable* GetThisVariable();
|
||||
bool IsInGeneric();
|
||||
bool InDefinitionSection();
|
||||
bool IsInSpecializedGeneric();
|
||||
bool IsInSpecializedSection(); // Either a specialized generic or an injected mixin
|
||||
bool IsInUnspecializedGeneric();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue