1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 03:28:20 +02:00

Fixed ce dependency issue with mCeInnerFunctionInfo

This commit is contained in:
Brian Fiete 2023-04-18 09:08:15 -07:00
parent 41ab77d22d
commit aabd84368d
2 changed files with 11 additions and 1 deletions

View file

@ -508,6 +508,15 @@ CeFunction::~CeFunction()
BfLogSys(mCeMachine->mCompiler->mSystem, "CeFunction::~CeFunction %p\n", this);
}
BfTypeInstance* CeFunction::GetOwner()
{
if (mCeFunctionInfo != NULL)
return mCeFunctionInfo->GetOwner();
if (mCeInnerFunctionInfo != NULL)
return mCeInnerFunctionInfo->mOwner->GetOwner();
return NULL;
}
void CeFunction::Print()
{
CeDumpContext dumpCtx;
@ -1422,7 +1431,7 @@ int CeBuilder::GetCallTableIdx(BeFunction* beFunction, CeOperand* outOperand)
if ((ceFunctionInfo != NULL) && (mCeFunction->mCeFunctionInfo != NULL))
{
auto callerType = mCeFunction->mCeFunctionInfo->GetOwner();
auto callerType = mCeFunction->GetOwner();
auto calleeType = ceFunctionInfo->GetOwner();
if ((callerType != NULL) && (calleeType != NULL))

View file

@ -685,6 +685,7 @@ public:
}
~CeFunction();
BfTypeInstance* GetOwner();
void Print();
void UnbindBreakpoints();
CeEmitEntry* FindEmitEntry(int loc, int* entryIdx = NULL);