public ClassificationTypeCreator(ClassificationTypeRegistryService owner, IEnumerable <Lazy <ClassificationTypeDefinition, IClassificationTypeDefinitionMetadata> > classificationTypeDefinitions) { this.owner = owner; rawClassificationTypes = new Dictionary <string, RawClassificationType>(); foreach (var md in classificationTypeDefinitions.Select(a => a.Metadata)) { var type = md.Name; Debug.Assert(type != null); if (type == null) { continue; } Debug.Assert(!rawClassificationTypes.ContainsKey(type)); if (rawClassificationTypes.ContainsKey(type)) { continue; } var baseTypes = (md.BaseDefinition ?? Array.Empty <string>()).ToArray(); var rawCt = new RawClassificationType(type, baseTypes); rawClassificationTypes.Add(rawCt.Type, rawCt); } var list = rawClassificationTypes.Values.Select(a => a.Type).ToArray(); foreach (var type in list) { TryCreate(type, 0); } }
public ClassificationTypeCreator(ClassificationTypeRegistryService owner, IEnumerable<Lazy<ClassificationTypeDefinition, IClassificationTypeDefinitionMetadata>> classificationTypeDefinitions) { this.owner = owner; rawClassificationTypes = new Dictionary<string, RawClassificationType>(); foreach (var md in classificationTypeDefinitions.Select(a => a.Metadata)) { var type = md.Name; Debug.Assert(type != null); if (type == null) continue; Debug.Assert(!rawClassificationTypes.ContainsKey(type)); if (rawClassificationTypes.ContainsKey(type)) continue; var baseTypes = (md.BaseDefinition ?? Array.Empty<string>()).ToArray(); var rawCt = new RawClassificationType(type, baseTypes); rawClassificationTypes.Add(rawCt.Type, rawCt); } var list = rawClassificationTypes.Values.Select(a => a.Type).ToArray(); foreach (var type in list) TryCreate(type, 0); }