mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-09 03:52:19 +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());
|
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))
|
if ((mCurMethodInstance == NULL) || (mCurMethodInstance->mIsUnspecialized))
|
||||||
return false;
|
return false;
|
||||||
return (mCurMethodInstance->GetNumGenericArguments() != 0) || (mCurTypeInstance->IsGenericTypeInstance());
|
return (mCurMethodInstance->GetNumGenericArguments() != 0) || (mCurTypeInstance->IsGenericTypeInstance());
|
||||||
|
@ -16991,7 +17001,7 @@ void BfModule::ProcessMethod(BfMethodInstance* methodInstance, bool isInlineDup)
|
||||||
skipEndChecks = true;
|
skipEndChecks = true;
|
||||||
|
|
||||||
if (HasCompiledOutput())
|
if (HasCompiledOutput())
|
||||||
{
|
{
|
||||||
// Clear out DebugLoc - to mark the ".addr" code as part of prologue
|
// Clear out DebugLoc - to mark the ".addr" code as part of prologue
|
||||||
mBfIRBuilder->ClearDebugLocation();
|
mBfIRBuilder->ClearDebugLocation();
|
||||||
|
|
||||||
|
@ -17016,6 +17026,8 @@ void BfModule::ProcessMethod(BfMethodInstance* methodInstance, bool isInlineDup)
|
||||||
auto retVal = GetDefaultValue(methodInstance->mReturnType);
|
auto retVal = GetDefaultValue(methodInstance->mReturnType);
|
||||||
CreateReturn(retVal);
|
CreateReturn(retVal);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
mBfIRBuilder->CreateRetVoid();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1537,6 +1537,7 @@ public:
|
||||||
BfTypedValue GetThis();
|
BfTypedValue GetThis();
|
||||||
BfLocalVariable* GetThisVariable();
|
BfLocalVariable* GetThisVariable();
|
||||||
bool IsInGeneric();
|
bool IsInGeneric();
|
||||||
|
bool InDefinitionSection();
|
||||||
bool IsInSpecializedGeneric();
|
bool IsInSpecializedGeneric();
|
||||||
bool IsInSpecializedSection(); // Either a specialized generic or an injected mixin
|
bool IsInSpecializedSection(); // Either a specialized generic or an injected mixin
|
||||||
bool IsInUnspecializedGeneric();
|
bool IsInUnspecializedGeneric();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue