1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 11:38:21 +02:00

Bug fixes, installer, [Export]

Fixed a bunch of bugs in aggregate const initializers
Fixed ZIP bugs
Fixed a compilation case where we change protection while reifying a type
Added another project kind - Dynamic Library
Added [Export] for DLL method exporting
Fixed some issues of things being  generated as __NOINLINE incorrectly
Fixed an issue with module extensions with not-yet-demanded on-demand methods
Started adding Installer
This commit is contained in:
Brian Fiete 2019-08-27 08:04:41 -07:00
parent efa22e51fb
commit 09016c8dc0
135 changed files with 3615 additions and 2337 deletions

View file

@ -3434,6 +3434,8 @@ void BfModule::DoTypeInstanceMethodProcessing(BfTypeInstance* typeInstance)
if (typeRefName == "AlwaysInclude")
implRequired = true;
else if (typeRefName == "Export")
implRequired = true;
else if (typeRefName == "Test")
implRequired = true;
else
@ -4086,7 +4088,7 @@ void BfModule::AddMethodToWorkList(BfMethodInstance* methodInstance)
auto module = GetOrCreateMethodModule(methodInstance);
methodInstance->mDeclModule = module;
BfIRValue func = CreateFunctionFrom(methodInstance);
BfIRValue func = CreateFunctionFrom(methodInstance, false, methodInstance->mAlwaysInline);
methodInstance->mIRFunction = func;
module->mFuncReferences[methodInstance] = func;
@ -4892,8 +4894,10 @@ BfType* BfModule::ResolveInnerType(BfType* outerType, BfTypeReference* typeRef,
while (checkOuterType != NULL)
{
for (auto checkType : checkOuterType->mTypeDef->mNestedTypes)
{
if ((!isFailurePass) && (!CheckProtection(checkType->mProtection, allowProtected, allowPrivate)))
{
auto latestCheckType = checkType->GetLatest();
if ((!isFailurePass) && (!CheckProtection(latestCheckType->mProtection, allowProtected, allowPrivate)))
continue;
if (checkType->mName->mString == findName)