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

Method IsStepFiltered

IDEHelper/WinDebugger.cpp:3139–3204  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3137}
3138
3139bool WinDebugger::IsStepFiltered(DbgSubprogram* dbgSubprogram, DbgLineData* dbgLineData)
3140{
3141 if (mIsStepIntoSpecific)
3142 return false;
3143
3144 if (dbgSubprogram->mStepFilterVersion != mDebugManager->mStepFilterVersion)
3145 {
3146 String filterName;
3147 CreateFilterName(filterName, dbgSubprogram);
3148 dbgSubprogram->PopulateSubprogram();
3149
3150 bool doDefault = false;
3151
3152 StepFilter* stepFilterPtr;
3153 if (mDebugManager->mStepFilters.TryGetValue(filterName, &stepFilterPtr))
3154 {
3155 switch (stepFilterPtr->mFilterKind)
3156 {
3157 case BfStepFilterKind_Default:
3158 doDefault = true;
3159 break;
3160 case BfStepFilterKind_Filtered:
3161 dbgSubprogram->mIsStepFiltered = true;
3162 break;
3163 case BfStepFilterKind_NotFiltered:
3164 dbgSubprogram->mIsStepFiltered = false;
3165 break;
3166 }
3167 }
3168 else
3169 {
3170 doDefault = true;
3171 }
3172
3173 if (doDefault)
3174 {
3175 dbgSubprogram->mIsStepFiltered = dbgSubprogram->mIsStepFilteredDefault;
3176 }
3177
3178 dbgSubprogram->mStepFilterVersion = mDebugManager->mStepFilterVersion;
3179 }
3180
3181 if (!dbgSubprogram->mIsStepFiltered)
3182 {
3183 if (dbgLineData != NULL)
3184 {
3185 auto dbgSrcFile = dbgSubprogram->GetLineSrcFile(*dbgLineData);
3186 if (dbgSrcFile->mStepFilterVersion != mDebugManager->mStepFilterVersion)
3187 {
3188 dbgSrcFile->mFileExistKind = dbgSubprogram->mCompileUnit->mDbgModule->CheckSourceFileExist(dbgSrcFile->GetLocalPath());
3189 dbgSrcFile->mStepFilterVersion = mDebugManager->mStepFilterVersion;
3190 }
3191
3192 switch (dbgSrcFile->mFileExistKind)
3193 {
3194 case DbgFileExistKind_NotFound:
3195 return true;
3196 case DbgFileExistKind_HasOldSourceCommand:

Callers

nothing calls this directly

Calls 5

CreateFilterNameFunction · 0.85
TryGetValueMethod · 0.80
GetLineSrcFileMethod · 0.80
CheckSourceFileExistMethod · 0.80
PopulateSubprogramMethod · 0.45

Tested by

no test coverage detected