public override void UpdateMemberExceptions(XElement mdoc, bool clean) { if (exception_node == null) { return; } XElement mdDocs = mdoc.Element("Docs"); if (clean) { foreach (XElement e in mdDocs.Elements("exception").ToList()) { e.Remove(); } } foreach (XElement jdp in exception_node.ElementsAfterSelf().TakeWhile(e => e.Name.LocalName == "dd")) { XElement type = jdp.Descendants("a").FirstOrDefault(); if (type != null) { mdDocs.Add(new XElement("exception", new XAttribute("cref", Mdoc.CrefFromHref(type.Attribute("href").Value)), Mdoc.FromHtml(ExceptionDocs(type)))); } } }
public override void UpdateEnumField(XElement dest, string member, string java) { XElement jd = Element; var div = jd.Descendants("div").Where(d => Application.HasHtmlClass(d, "api") && d.Elements("h3").Any(h3 => h3.LastNode.ToString().Trim() == java)).FirstOrDefault(); if (div == null) { return; } var srcDoc = div.Descendants("p"); if (srcDoc == null) { return; } var dSummary = dest.Descendants("Member").Where(d => d.Attribute("MemberName").Value == member).Descendants("summary").FirstOrDefault(); if (dSummary == null) { return; } dSummary.Value = ""; dSummary.Add(Mdoc.FromHtml(srcDoc)); Application.FixupMdoc(dSummary); }
public override void UpdateMemberReturns(XElement mdoc, bool clean) { bool firstPass = clean; if (firstPass) { return; } XElement jd = Section; XElement jdReturns = GetJavaDocSection(jd, "Returns"); if (jdReturns == null) { return; } XElement mdReturns = mdoc.Element("Docs").Element("returns") ?? mdoc.Element("Docs").Element("value"); if (mdReturns == null) { return; } if (clean) { mdReturns.Value = ""; } mdReturns.Add(Mdoc.FromHtml(jdReturns.ElementsAfterSelf("ul").First())); Application.FixupMdoc(mdReturns); }
public override void UpdateMemberReturns(XElement mdoc, bool clean) { XElement jd = Section; XElement jdReturns = GetJavaDocSectionTable(jd, "Returns"); if (jdReturns == null) { return; } XElement mdReturns = mdoc.Element("Docs").Element("returns") ?? mdoc.Element("Docs").Element("value"); if (mdReturns == null) { return; } XElement jdr = jdReturns.Elements("tr").Last(); string name = jdr.Elements().First().Value.Trim(); var nodes = Mdoc.FromHtml(jdr.Elements().Last().Nodes()); if (clean) { mdReturns.Value = ""; } mdReturns.Add(Mdoc.FromHtml(jdr.Elements().Last())); Application.FixupMdoc(mdReturns); }
public void UpdateTypeDocs(XElement mdoc, RegisterAttribute tregister) { var jd = Element; var mdRemarks = mdoc.XPathSelectElement("Docs/remarks"); mdRemarks.Value = ""; var nodes = GetTypeSummaryNodes(jd); mdRemarks.Add(Mdoc.FromHtml(nodes)); Application.FixupMdoc(mdRemarks); Application.AddAndroidDocUrlWithOptionalContent(mdRemarks, tregister, null); UpdateSince(mdRemarks); Application.SetSummaryFromRemarks(mdoc.Element("Docs")); }
public override void UpdateMemberParameters(XElement mdoc) { if (params_node == null) { return; } foreach (XElement pe in params_node.ElementsAfterSelf().TakeWhile(e => e.Name.LocalName == "dd")) { var code = pe.Element(XName.Get("code")); string name = code.Value; if (name == "event") { name = "e"; } var nodes = Mdoc.FromHtml(code.NodesAfterSelf()); UpdateParameter(name, nodes, mdoc); } }
public override void UpdateMemberReturns(XElement mdoc, bool clean) { XElement mdReturns = mdoc.Element("Docs").Element("returns") ?? mdoc.Element("Docs").Element("value"); if (mdReturns == null) { return; } if (clean) { mdReturns.Value = ""; } if (returns_node == null) { return; } mdReturns.Add(Mdoc.FromHtml(returns_node.ElementsAfterSelf("dd").First().Nodes())); Application.FixupMdoc(mdReturns); }
public void UpdateMemberSection(MemberInfo member, RegisterAttribute tregister, XElement dest, string prefix, bool firstPass) { //XElement jdSummaryDiv = section.SummaryDiv; string anchor = Anchor; var mdRemarks = dest.XPathSelectElement("Docs/remarks"); if (firstPass) { mdRemarks.Value = ""; } if (prefix != null) { Application.AddAndroidDocUrlWithOptionalContent(mdRemarks, tregister, anchor, prefix + " method documentation", Mdoc.FromHtml(GetSummaryNodes())); } else { mdRemarks.Add(Mdoc.FromHtml(GetSummaryNodes())); Application.AddAndroidDocUrlWithOptionalContent(mdRemarks, tregister, anchor); } Application.FixupMdoc(mdRemarks); if (firstPass) { UpdateSince(mdRemarks); Application.SetSummaryFromRemarks(dest.Element("Docs"), prefix, firstPass); } // if method.IsSpecialName is true, then it's probably a property, in // which case the parameter names will NOT match. var method = member as MethodInfo; if (method != null && !method.IsSpecialName) { UpdateMemberParameters(dest); } UpdateMemberExceptions(dest, firstPass); UpdateMemberReturns(dest, firstPass); UpdateMemberSeeAlso(dest, firstPass); }
public override void UpdateMemberExceptions(XElement mdoc, bool clean) { XElement jd = Section; XElement jdThrows = GetJavaDocSectionTable(jd, "Throws"); if (jdThrows == null) { return; } XElement mdDocs = mdoc.Element("Docs"); if (clean) { foreach (XElement e in mdDocs.Elements("exception").ToList()) { e.Remove(); } } foreach (XElement jdp in jdThrows.Elements("tr").Elements("th")) { XElement type = jdp.Element("a"); if (type != null) { mdDocs.Add(new XElement("exception", new XAttribute("cref", Mdoc.CrefFromHref(type.Attribute("href").Value)), Mdoc.FromHtml(ExceptionDocs(type)))); } else if ((type = jdp.Element("td")) != null) { mdDocs.Add(new XElement("exception", new XAttribute("cref", Mdoc.CrefFromJavaType(type.Value.Trim())), Mdoc.FromHtml(ExceptionDocs(type)))); } } }
public override void UpdateMemberParameters(XElement mdoc) { XElement jd = Section; XElement jdParameters = GetJavaDocSectionTable(jd, "Parameters"); if (jdParameters == null) { return; } foreach (XElement jdp in jdParameters.Elements("tr").Elements("th")) { string name = jdp.FirstNode.ToString().Trim(); if (name == "event") { name = "e"; } var nodes = Mdoc.FromHtml(jdp.Element("td").Nodes()); UpdateParameter(name, nodes, mdoc); } }