-------------------------------------------------------------------------
| 73 | |
| 74 | //------------------------------------------------------------------------- |
| 75 | void ReleaseCoverageFilter::UpdateCachesIfExpired( |
| 76 | const ModuleInfo& moduleInfo, |
| 77 | const FileInfo& fileInfo) |
| 78 | { |
| 79 | auto modulePath = moduleInfo.path_; |
| 80 | auto filePath = fileInfo.filePath_; |
| 81 | |
| 82 | if (!mModuleData_ || mModuleData_->path_ != modulePath) |
| 83 | { |
| 84 | mModuleData_ = std::make_unique<ModuleData>(); |
| 85 | mModuleData_->path_ = modulePath; |
| 86 | mModuleData_->relocations_ = relocationsExtractor_->Extract( |
| 87 | moduleInfo.hProcess_, |
| 88 | reinterpret_cast<DWORD64>(moduleInfo.baseOfImage_)); |
| 89 | } |
| 90 | |
| 91 | if (!mModuleData_->fileData_ || mModuleData_->fileData_->path_ != filePath) |
| 92 | mModuleData_->fileData_ = UpdateLineDataCaches(filePath, fileInfo.lineInfoColllection_); |
| 93 | } |
| 94 | |
| 95 | //------------------------------------------------------------------------- |
| 96 | std::unique_ptr<ReleaseCoverageFilter::FileData> |