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

Method RemoveOldData

IDEHelper/Compiler/BfSystem.cpp:4013–4054  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4011}
4012
4013void BfSystem::RemoveOldData()
4014{
4015 {
4016 AutoCrit autoCrit(mDataLock);
4017
4018 for (int i = 0; i < (int)mTypeDefDeleteQueue.size(); i++)
4019 {
4020 auto typeDef = mTypeDefDeleteQueue[i];
4021 mTypeDefDeleteQueue[i] = NULL;
4022 BfLogSys(this, "RemoveOldData deleting from mTypeDefDeleteQueue %p\n", typeDef);
4023 delete typeDef;
4024 }
4025 mTypeDefDeleteQueue.Clear();
4026
4027 if (!mProjectDeleteQueue.IsEmpty())
4028 {
4029 for (auto project : mProjectDeleteQueue)
4030 project->mDeleteStage = BfProject::DeleteStage_AwaitingRefs;
4031
4032 for (auto typeDef : mTypeDefs)
4033 if (typeDef->mProject->mDeleteStage == BfProject::DeleteStage_AwaitingRefs)
4034 typeDef->mProject->mDeleteStage = BfProject::DeleteStage_Queued;
4035
4036 for (auto parser : mParsers)
4037 if ((parser->mProject != NULL) && (parser->mProject->mDeleteStage == BfProject::DeleteStage_AwaitingRefs))
4038 parser->mProject->mDeleteStage = BfProject::DeleteStage_Queued;
4039
4040 for (int projectIdx = 0; projectIdx < (int)mProjectDeleteQueue.size(); projectIdx++)
4041 {
4042 auto project = mProjectDeleteQueue[projectIdx];
4043 if (project->mDeleteStage == BfProject::DeleteStage_AwaitingRefs)
4044 {
4045 mProjectDeleteQueue.RemoveAtFast(projectIdx);
4046 delete project;
4047 projectIdx--;
4048 }
4049 }
4050 }
4051 }
4052
4053 RemoveOldParsers();
4054}
4055
4056void BfSystem::VerifyTypeDef(BfTypeDef* typeDef)
4057{

Callers 1

BfSystem_RemoveOldDataFunction · 0.80

Calls 4

sizeMethod · 0.45
ClearMethod · 0.45
IsEmptyMethod · 0.45
RemoveAtFastMethod · 0.45

Tested by

no test coverage detected