public static SummaryVisitor Collect(this ISummary summary) { var visitor = new SummaryVisitor(); summary.Visit(visitor); return(visitor); }
public static void Generate(string assemblyFile, string docdir) { if (assemblyFile == null) { throw new ArgumentNullException("assemblyFile"); } if (assemblyFile.Length == 0) { throw new ArgumentException("assemblyFile is empty."); } if (docdir == null) { throw new ArgumentNullException("docdir"); } if (docdir.Length == 0) { throw new ArgumentException("docdir is empty."); } var directory = Path.GetFullPath(docdir); assemblyFile = Path.GetFullPath(assemblyFile); Directory.SetCurrentDirectory(Path.GetDirectoryName(assemblyFile)); if (!File.Exists(assemblyFile)) { // Exit early, not found return; } var assembly = Assembly.LoadFrom(assemblyFile); Directory.CreateDirectory(directory); try { var members = DocReader.Read(assembly); var oldWriter = Console.Out; var visitor = new TypeVisitor(directory); members.Accept(visitor); visitor.Finish(); using ( var writer = new StreamWriter( Path.Combine(directory, "APIDocs.md"), false, Encoding.UTF8)) { var visitor2 = new SummaryVisitor(writer); members.Accept(visitor2); visitor2.Finish(); } } catch (IOException ex) { Console.WriteLine(ex.Message); return; } }
public void accept(SummaryVisitor collector) { if (classname.Contains(".Book")) { collector.bookCount++; collector.bookStock += this.itemcount; } else if (classname.Contains(".EBook")) { collector.eBookCount++; } else if (classname.Contains(".Video")) { if (this.isFile) { collector.videoDCount++; } else { collector.videoPCount++; collector.videoPStock += this.itemcount; } } else if (classname.Contains(".Audio")) { if (this.isFile) { collector.audioDCount++; } else { collector.audioPCount++; collector.audioPStock += this.itemcount; } } return; }
public Summary(SummaryVisitor summary) { InitializeComponent(); this.summary = summary; initTable(); }