public void LoadDoc(ELanguage language = ELanguage.English) { string docContent = string.Empty; string fileName = string.Empty; try { fileName = GetFileName(language); docContent = File.Exists(fileName) ? File.ReadAllText(fileName) : string.Empty; } catch (Exception ex) { Console.WriteLine("Attempting to load doc for {0}, exception {1}", fileName, ex); } LoadDoc(docContent, language); }
public MemDocModel LoadDoc(string memFileContent, ELanguage language = ELanguage.English, bool updateMemberSignaturesAndFlags = true, bool assignDocToMemberItem = true) { bool translated = language != ELanguage.English; // Create new MemDocModel MemDocModel memDocModel = new MemDocModel(memFileContent) { Language = language, AssemblyKind = ItemType }; InitializeDocSignaturesIfNone(memDocModel); if (assignDocToMemberItem) { if (translated) { DocModelTranslated = memDocModel; } else { DocModel = memDocModel; } } if (updateMemberSignaturesAndFlags) { // Remove old (possibly outdated) doc info from member signature list for (int i = m_SignatureList.Count - 1; i >= 0; i--) { if (translated) { m_SignatureList[i].InDocTranslated = false; } else { m_SignatureList[i].InDoc = false; } if (!m_SignatureList[i].InAsm && !m_SignatureList[i].InDoc && !m_SignatureList[i].InDocTranslated) { m_SignatureList.RemoveAt(i); } } // Populate member signature list with signatures from (updated) doc foreach (string signature in memDocModel.SignatureListFromAllBlocks) { if (!m_SignatureList.Any(e => (e.Name == signature))) { m_SignatureList.Add(new SignatureEntry(signature)); } SignatureEntry signatureEntry = m_SignatureList.First(e => e.Name == signature); var subSection = memDocModel.SubSectionOfSignature(signature); if (subSection != null) { subSection.SignatureEntryList.Add(signatureEntry); } if (translated) { signatureEntry.InDocTranslated = true; } else { signatureEntry.InDoc = true; } //if (signatureEntry.InAsm && signatureEntry.Asm.Private) // System.Console.WriteLine ("Private documented signature "+signature+" in member "+ItemName); } UpdateFlags(); } // Add assembly information to MemberDocModel memDocModel.ProcessAsm(this); return(memDocModel); }
public string GetFileName(ELanguage language = ELanguage.English) { return(DirectoryWithLangUtil.GetPathFromMemberNameAndDir(ItemName, DirectoryUtil.MemberDocsDirFullPath, language)); }