mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
GetActiveTypeDef fix with non-applicable mCurTypeState
This commit is contained in:
parent
dae452da47
commit
6514416908
1 changed files with 15 additions and 7 deletions
|
@ -10178,8 +10178,16 @@ BfTypeDef* BfModule::GetActiveTypeDef(BfTypeInstance* typeInstanceOverride, bool
|
|||
{
|
||||
BfTypeDef* useTypeDef = NULL;
|
||||
BfTypeInstance* typeInstance = (typeInstanceOverride != NULL) ? typeInstanceOverride : mCurTypeInstance;
|
||||
if ((mContext->mCurTypeState != NULL) && (mContext->mCurTypeState->mForceActiveTypeDef != NULL))
|
||||
return mContext->mCurTypeState->mForceActiveTypeDef;
|
||||
|
||||
auto curTypeState = mContext->mCurTypeState;
|
||||
if (curTypeState != NULL)
|
||||
{
|
||||
if ((curTypeState->mType != NULL) && (curTypeState->mType != typeInstance))
|
||||
curTypeState = NULL;
|
||||
}
|
||||
|
||||
if ((curTypeState != NULL) && (curTypeState->mForceActiveTypeDef != NULL))
|
||||
return curTypeState->mForceActiveTypeDef;
|
||||
if (typeInstance != NULL)
|
||||
useTypeDef = typeInstance->mTypeDef->GetDefinition();
|
||||
if ((mCurMethodState != NULL) && (mCurMethodState->mMixinState != NULL) && (useMixinDecl))
|
||||
|
@ -10202,12 +10210,12 @@ BfTypeDef* BfModule::GetActiveTypeDef(BfTypeInstance* typeInstanceOverride, bool
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (mContext->mCurTypeState != NULL)
|
||||
else if (curTypeState != NULL)
|
||||
{
|
||||
if ((mContext->mCurTypeState->mCurFieldDef != NULL) && (mContext->mCurTypeState->mCurFieldDef->mDeclaringType != NULL))
|
||||
useTypeDef = mContext->mCurTypeState->mCurFieldDef->mDeclaringType->GetDefinition(true);
|
||||
else if (mContext->mCurTypeState->mCurTypeDef != NULL)
|
||||
useTypeDef = mContext->mCurTypeState->mCurTypeDef->GetDefinition(true);
|
||||
if ((curTypeState->mCurFieldDef != NULL) && (curTypeState->mCurFieldDef->mDeclaringType != NULL))
|
||||
useTypeDef = curTypeState->mCurFieldDef->mDeclaringType->GetDefinition(true);
|
||||
else if (curTypeState->mCurTypeDef != NULL)
|
||||
useTypeDef = curTypeState->mCurTypeDef->GetDefinition(true);
|
||||
}
|
||||
|
||||
return useTypeDef;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue