MCPcopy Create free account
hub / github.com/beefytech/Beef / TryUnreifyModules

Method TryUnreifyModules

IDEHelper/Compiler/BfContext.cpp:3395–3425  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3393}
3394
3395void BfContext::TryUnreifyModules()
3396{
3397 BP_ZONE("BfContext::TryUnreifyModules");
3398
3399 for (auto module : mModules)
3400 {
3401 if (module->mIsSpecialModule)
3402 continue;
3403
3404 if (!module->mIsReified)
3405 continue;
3406
3407 if (module->mLastUsedRevision == mCompiler->mRevision)
3408 continue;
3409
3410 bool isRequired = false;
3411 for (auto typeInst : module->mOwnedTypeInstances)
3412 {
3413 if (typeInst->mTypeDef->IsGlobalsContainer())
3414 isRequired = true;
3415
3416 if (typeInst->IsAlwaysInclude())
3417 isRequired = true;
3418 }
3419
3420 if (isRequired)
3421 continue;
3422
3423 module->UnreifyModule();
3424 }
3425}
3426
3427void BfContext::MarkUsedModules(BfProject* project, BfModule* module)
3428{

Callers 1

DoCompileMethod · 0.80

Calls 3

IsAlwaysIncludeMethod · 0.80
UnreifyModuleMethod · 0.80
IsGlobalsContainerMethod · 0.45

Tested by

no test coverage detected