OnGenerateDocComment() private method

private OnGenerateDocComment ( Object intermediateNode ) : void
intermediateNode System.Object
return void
Esempio n. 1
0
        //
        // Generates xml doc comments (if any), and if required,
        // handle warning report.
        //
        internal void GenerateDocumentationForMember(MemberCore mc)
        {
            string name = mc.GetDocCommentName();

            XmlNode n = GetDocCommentNode(mc, name);

            XmlElement el = n as XmlElement;

            if (el != null)
            {
                mc.OnGenerateDocComment(el);

                // FIXME: it could be done with XmlReader
                XmlNodeList nl = n.SelectNodes(".//include");
                if (nl.Count > 0)
                {
                    // It could result in current node removal, so prepare another list to iterate.
                    var al = new List <XmlNode> (nl.Count);
                    foreach (XmlNode inc in nl)
                    {
                        al.Add(inc);
                    }
                    foreach (XmlElement inc in al)
                    {
                        if (!HandleInclude(mc, inc))
                        {
                            inc.ParentNode.RemoveChild(inc);
                        }
                    }
                }

                // FIXME: it could be done with XmlReader
                DeclSpace ds_target = mc as DeclSpace;
                if (ds_target == null)
                {
                    ds_target = mc.Parent;
                }

                foreach (XmlElement see in n.SelectNodes(".//see"))
                {
                    HandleSee(mc, ds_target, see);
                }
                foreach (XmlElement seealso in n.SelectNodes(".//seealso"))
                {
                    HandleSeeAlso(mc, ds_target, seealso);
                }
                foreach (XmlElement see in n.SelectNodes(".//exception"))
                {
                    HandleException(mc, ds_target, see);
                }
            }

            n.WriteTo(XmlCommentOutput);
        }
Esempio n. 2
0
File: doc.cs Progetto: speier/shake
        //
        // Generates xml doc comments (if any), and if required,
        // handle warning report.
        //
        internal static void GenerateDocComment(MemberCore mc,
            DeclSpace ds, Report Report)
        {
            if (mc.DocComment != null) {
                string name = mc.GetDocCommentName (ds);

                XmlNode n = GetDocCommentNode (mc, name, Report);

                XmlElement el = n as XmlElement;
                if (el != null) {
                    mc.OnGenerateDocComment (el);

                    // FIXME: it could be done with XmlReader
                    XmlNodeList nl = n.SelectNodes (".//include");
                    if (nl.Count > 0) {
                        // It could result in current node removal, so prepare another list to iterate.
                        var al = new List<XmlNode> (nl.Count);
                        foreach (XmlNode inc in nl)
                            al.Add (inc);
                        foreach (XmlElement inc in al)
                            if (!HandleInclude (mc, inc, Report))
                                inc.ParentNode.RemoveChild (inc);
                    }

                    // FIXME: it could be done with XmlReader
                    DeclSpace ds_target = mc as DeclSpace;
                    if (ds_target == null)
                        ds_target = ds;

                    foreach (XmlElement see in n.SelectNodes (".//see"))
                        HandleSee (mc, ds_target, see, Report);
                    foreach (XmlElement seealso in n.SelectNodes (".//seealso"))
                        HandleSeeAlso (mc, ds_target, seealso ,Report);
                    foreach (XmlElement see in n.SelectNodes (".//exception"))
                        HandleException (mc, ds_target, see, Report);
                }

                n.WriteTo (RootContext.Documentation.XmlCommentOutput);
            }
            else if (mc.IsExposedFromAssembly ()) {
                Constructor c = mc as Constructor;
                if (c == null || !c.IsDefault ())
                    Report.Warning (1591, 4, mc.Location,
                        "Missing XML comment for publicly visible type or member `{0}'", mc.GetSignatureForError ());
            }
        }
Esempio n. 3
0
        //
        // Generates xml doc comments (if any), and if required,
        // handle warning report.
        //
        internal static void GenerateDocComment(MemberCore mc,
                                                DeclSpace ds, Report Report)
        {
            if (mc.DocComment != null)
            {
                string name = mc.GetDocCommentName(ds);

                XmlNode n = GetDocCommentNode(mc, name, Report);

                XmlElement el = n as XmlElement;
                if (el != null)
                {
                    mc.OnGenerateDocComment(el);

                    // FIXME: it could be done with XmlReader
                    XmlNodeList nl = n.SelectNodes(".//include");
                    if (nl.Count > 0)
                    {
                        // It could result in current node removal, so prepare another list to iterate.
                        var al = new List <XmlNode> (nl.Count);
                        foreach (XmlNode inc in nl)
                        {
                            al.Add(inc);
                        }
                        foreach (XmlElement inc in al)
                        {
                            if (!HandleInclude(mc, inc, Report))
                            {
                                inc.ParentNode.RemoveChild(inc);
                            }
                        }
                    }

                    // FIXME: it could be done with XmlReader
                    DeclSpace ds_target = mc as DeclSpace;
                    if (ds_target == null)
                    {
                        ds_target = ds;
                    }

                    foreach (XmlElement see in n.SelectNodes(".//see"))
                    {
                        HandleSee(mc, ds_target, see, Report);
                    }
                    foreach (XmlElement seealso in n.SelectNodes(".//seealso"))
                    {
                        HandleSeeAlso(mc, ds_target, seealso, Report);
                    }
                    foreach (XmlElement see in n.SelectNodes(".//exception"))
                    {
                        HandleException(mc, ds_target, see, Report);
                    }
                }

                n.WriteTo(RootContext.Documentation.XmlCommentOutput);
            }
            else if (mc.IsExposedFromAssembly())
            {
                Constructor c = mc as Constructor;
                if (c == null || !c.IsDefault())
                {
                    Report.Warning(1591, 4, mc.Location,
                                   "Missing XML comment for publicly visible type or member `{0}'", mc.GetSignatureForError());
                }
            }
        }
Esempio n. 4
0
File: doc.cs Progetto: saga/mono
		//
		// Generates xml doc comments (if any), and if required,
		// handle warning report.
		//
		internal void GenerateDocumentationForMember (MemberCore mc)
		{
			string name = mc.GetDocCommentName ();

			XmlNode n = GetDocCommentNode (mc, name);

			XmlElement el = n as XmlElement;
			if (el != null) {
				mc.OnGenerateDocComment (el);

				// FIXME: it could be done with XmlReader
				XmlNodeList nl = n.SelectNodes (".//include");
				if (nl.Count > 0) {
					// It could result in current node removal, so prepare another list to iterate.
					var al = new List<XmlNode> (nl.Count);
					foreach (XmlNode inc in nl)
						al.Add (inc);
					foreach (XmlElement inc in al)
						if (!HandleInclude (mc, inc))
							inc.ParentNode.RemoveChild (inc);
				}

				// FIXME: it could be done with XmlReader
				DeclSpace ds_target = mc as DeclSpace;
				if (ds_target == null)
					ds_target = mc.Parent;

				foreach (XmlElement see in n.SelectNodes (".//see"))
					HandleSee (mc, ds_target, see);
				foreach (XmlElement seealso in n.SelectNodes (".//seealso"))
					HandleSeeAlso (mc, ds_target, seealso);
				foreach (XmlElement see in n.SelectNodes (".//exception"))
					HandleException (mc, ds_target, see);
			}

			n.WriteTo (XmlCommentOutput);
		}