/// <summary> /// Transfer concurrent data from scan to analyze result with sorted, simplier types for callers /// </summary> public void PrepareReport() { Metadata.CPUTargets = CPUTargets.ToImmutableSortedDictionary().Keys.ToList(); Metadata.AppTypes = AppTypes.ToImmutableSortedDictionary().Keys.ToList(); Metadata.OSTargets = OSTargets.ToImmutableSortedDictionary().Keys.ToList(); Metadata.UniqueDependencies = UniqueDependencies.ToImmutableSortedDictionary().Keys.ToList(); Metadata.UniqueTags = UniqueTags.ToImmutableSortedDictionary().Keys.ToList(); Metadata.CloudTargets = CloudTargets.ToImmutableSortedDictionary().Keys.ToList(); Metadata.PackageTypes = PackageTypes.ToImmutableSortedDictionary().Keys.ToList(); Metadata.FileExtensions = FileExtensions.ToImmutableSortedDictionary().Keys.ToList(); Metadata.Outputs = Outputs.ToImmutableSortedDictionary().Keys.ToList(); Metadata.Targets = Targets.ToImmutableSortedDictionary().Keys.ToList(); Metadata.Languages = Languages.ToImmutableSortedDictionary(); foreach (MetricTagCounter metricTagCounter in TagCounters.Values) { Metadata?.TagCounters?.Add(metricTagCounter); } }