/// <summary> /// Create a query object around a collected compatibility profile. /// </summary> /// <param name="compatibilityProfileData">The collected compatibility profile data.</param> public CompatibilityProfileData(CompatibilityProfileDataMut compatibilityProfileData) { Runtime = new RuntimeData(compatibilityProfileData.Runtime); Id = compatibilityProfileData.Id; if (compatibilityProfileData.ConstituentProfiles != null) { // This is intended to be case-sensitive ConstituentProfiles = new HashSet <string>(compatibilityProfileData.ConstituentProfiles); } // This should only be null in the case of the anyplatform_union profile if (compatibilityProfileData.Platform != null) { Platform = new PlatformData(compatibilityProfileData.Platform); } }
internal void SetAliasTable( RuntimeData runtimeData, IReadOnlyDictionary <string, string> aliases) { if (aliases == null || aliases.Count == 0) { return; } var aliasTable = new Dictionary <string, IReadOnlyList <CommandData> >(StringComparer.OrdinalIgnoreCase); foreach (KeyValuePair <string, string> alias in aliases) { if (runtimeData.Aliases.TryGetValue(alias.Key, out IReadOnlyList <CommandData> aliasedCommands)) { aliasTable[alias.Key] = aliasedCommands; } } Aliases = aliasTable; }