internal override void Add(FileTreeEntry e) { e.Parent = this; if (e.IsDirectory) { m_Folders.Add(e as FileTreeFolder); } else { m_Files.Add(e); } }
private FileTreeEntry GetEntry(Dictionary <Entry, FileTreeEntry> mapping, Entry x) { if (x == null) { return(Root); } FileTreeEntry parentEntry; if (mapping.TryGetValue(x, out parentEntry)) { return(parentEntry); } FileTreeEntry fte = x.IsDirectory ? new FileTreeFolder(x) : new FileTreeEntry(x); mapping.Add(x, fte); GetEntry(mapping, x.Parent).Add(fte); return(fte); }
private void BuildTree() { Root = new FileTreeFolder(); Dictionary <Entry, FileTreeEntry> mapping = new Dictionary <Entry, FileTreeEntry>(); int files = 0; foreach (var x in Entries) { var fte = GetEntry(mapping, x); if (!fte.IsDirectory) { files++; } } foreach (var x in mapping) { x.Value.Initialize(); } Printer.PrintDiagnostics("Current working directory has {0} file{1} in {2} director{3}.", files, files == 1 ? "" : "s", Entries.Count - files, (Entries.Count - files) == 1 ? "y" : "ies"); }
internal virtual void Add(FileTreeEntry e) { throw new NotImplementedException(); }