/// <summary> /// This method completely deletes all previous counters /// and imports the new profiling result. /// </summary> /// <param name="sfc">the new profiling results</param> internal ArrayList ImportCounters(ProfilingResult sfc) { ArrayList changedFiles = new ArrayList(); foreach (Project project in projects) { foreach (SourceFile file in project.Files) { CounterCollection cc = sfc[file.FileName]; if (cc == null) { continue; } if (File.GetLastWriteTime(file.FileName) < sfc[file.FileName].LastParseTime) { file.SetCounters(sfc[file.FileName]); } else { sfc.RemoveCounters(file.FileName); changedFiles.Add(file.FileName); } } } this.sfc = sfc; sfc.CalculateStatisticalValues(); return(changedFiles); }
internal void ResetCounters() { foreach (Project project in projects) { project.ResetCounters(); } if (sfc != null) { sfc.CalculateStatisticalValues(); } }
internal void UpdateProfilingResult() { sfc = new ProfilingResult(); sfc.LastModification = DateTime.Now; foreach (Project project in projects) { foreach (SourceFile file in project.Files) { if (file.Profile && file.Counters != null) { sfc.Add(file.Counters); } } } sfc.CalculateStatisticalValues(); }