/// <summary> /// Adds a concrete template to the state collection /// </summary> public TemplateInfo AddConcrete(ITemplateInfo item) { var templateInfo = new TemplateInfo(item, _parameters.ItemNamespace); templateInfo.FullName = _templateNovelizer.GetNovelFullTypeName(item.Name, item.FullPath); _templateLookup.Add(item.TemplateId, templateInfo); _templates.Add(templateInfo); return(templateInfo); }
/// <summary> /// Adds a interface template to the state collection /// </summary> public TemplateInfo AddInterface(ITemplateInfo item, string interfaceSuffix) { if (_friendInterfaceLookup.ContainsKey(item.TemplateId)) { throw new InvalidOperationException("The template " + item.FullPath + " is already added as a friend interface and cannot be added again."); } var templateInfo = new TemplateInfo(item, _parameters.InterfaceNamespace); string interfaceName = "I" + item.Name.AsIdentifier() + interfaceSuffix; string interfaceFullPath = item.FullPath.Substring(0, item.FullPath.LastIndexOf('/') + 1) + interfaceName; templateInfo.FullName = _interfaceNovelizer.GetNovelFullTypeName(interfaceName, interfaceFullPath); _interfaceLookup.Add(item.TemplateId, templateInfo); _interfaces.Add(templateInfo); return(templateInfo); }