/// <summary> /// Sets up exported file dummy /// </summary> /// <param name="fileName">File name</param> /// <returns>Exported file dummy</returns> public ExportedFile SetupExportedFile(string fileName = null) { if (fileName == _context.TargetFile) { fileName = null; } IEnumerable <Type> types = null; if (!string.IsNullOrEmpty(fileName)) { if (!_typesToFilesMap.ContainsKey(fileName)) { var allFiles = string.Join(", ", _typesToFilesMap.Keys); throw new Exception("Current configuration does not contain file " + fileName + ", only " + allFiles); } types = _typesToFilesMap[fileName]; } ExportedFile ef = new ExportedFile { References = GlobalReferences.Duplicate(), FileName = fileName, AllTypesIsSingleFile = !_context.Hierarchical, TypesToExport = _context.Hierarchical ? new HashSet <Type>(types) : _allTypesHash }; ef.TypeResolver = new TypeResolver(_context, ef, ReferenceInspector); ef.AddReferencesFromTypes(_context.Global.UseModules); return(ef); }