Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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"));
        }
Exemplo n.º 6
0
        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);
            }
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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))));
                }
            }
        }
Exemplo n.º 10
0
        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);
            }
        }