mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
Tightened std type lookup requirements, fixed reified redecl issue
This commit is contained in:
parent
fbe9a906e4
commit
85b4afcd94
3 changed files with 26 additions and 12 deletions
|
@ -11448,8 +11448,9 @@ bool BfModule::IsCompatibleInterfaceMethod(BfMethodInstance* iMethodInst, BfMeth
|
|||
}
|
||||
|
||||
void BfModule::AddMethodReference(const BfMethodRef& methodRef, BfGetMethodInstanceFlags flags)
|
||||
{
|
||||
{
|
||||
BfMethodInstance* methodInstance = methodRef;
|
||||
|
||||
if ((mCurTypeInstance != NULL) && (!mCompiler->IsAutocomplete()))
|
||||
{
|
||||
auto methodInstanceGroup = methodInstance->mMethodInstanceGroup;
|
||||
|
@ -11665,7 +11666,7 @@ BfModule* BfModule::GetOrCreateMethodModule(BfMethodInstance* methodInstance)
|
|||
}
|
||||
|
||||
BfModuleMethodInstance BfModule::GetMethodInstance(BfTypeInstance* typeInst, BfMethodDef* methodDef, const BfTypeVector& methodGenericArguments, BfGetMethodInstanceFlags flags, BfTypeInstance* foreignType)
|
||||
{
|
||||
{
|
||||
if (((flags & BfGetMethodInstanceFlag_ForceInline) != 0) && (mCompiler->mIsResolveOnly))
|
||||
{
|
||||
// Don't bother inlining for resolve-only
|
||||
|
@ -12300,6 +12301,8 @@ BfModuleMethodInstance BfModule::GetMethodInstance(BfTypeInstance* typeInst, BfM
|
|||
}
|
||||
|
||||
BfModule* declareModule = GetOrCreateMethodModule(methodInstance);
|
||||
if ((doingRedeclare) && (methodInstance->mDeclModule != mContext->mUnreifiedModule))
|
||||
declareModule = methodInstance->mDeclModule;
|
||||
|
||||
BF_ASSERT(typeInst == methodInstance->GetOwner());
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue