1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 04:22:20 +02:00

Support for matching interface conformance in distinct build options

This commit is contained in:
Brian Fiete 2020-09-16 04:37:28 -07:00
parent 6cb1235fd6
commit 0b20ef867b
6 changed files with 87 additions and 25 deletions

View file

@ -1978,10 +1978,11 @@ bool BfTypeInstance::IsTypeMemberAccessible(BfTypeDef* declaringTypeDef, BfProje
bool BfTypeInstance::WantsGCMarking()
{
BF_ASSERT(mTypeDef->mTypeCode != BfTypeCode_Extension);
if (IsObjectOrInterface())
return true;
if ((IsEnum()) && (!IsPayloadEnum()))
return false;
return false;
BF_ASSERT(mDefineState >= BfTypeDefineState_Defined);
return mWantsGCMarking;
}
@ -2198,13 +2199,14 @@ BfType* BfTypeInstance::GetUnderlyingType()
bool BfTypeInstance::IsValuelessType()
{
BF_ASSERT(mTypeDef->mTypeCode != BfTypeCode_Extension);
if ((mTypeDef->mTypeCode == BfTypeCode_Object) || (mTypeDef->mTypeCode == BfTypeCode_Interface))
{
return false;
}
if (mTypeDef->mIsOpaque)
return false;
return false;
BF_ASSERT(mDefineState >= BfTypeDefineState_Defined);
BF_ASSERT(mInstSize >= 0);
if (mInstSize == 0)