mail-archives/mono-bugs/2008-September/079261.html

308 строки
6.0 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-bugs] [Bug 425898] New: [gmcs] Generated XML documentation //member/@ name is wrong for methods w/ delegate arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:mono-bugs%40lists.ximian.com?Subject=%5BMono-bugs%5D%20%5BBug%20425898%5D%20New%3A%20%5Bgmcs%5D%20Generated%20XML%20documentation%0A%20//member/%40%20name%20is%20wrong%20for%20methods%20w/%20delegate%20arguments&In-Reply-To=">
<META NAME="robots" CONTENT="index,nofollow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
<LINK REL="Previous" HREF="079250.html">
<LINK REL="Next" HREF="079240.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-bugs] [Bug 425898] New: [gmcs] Generated XML documentation //member/@ name is wrong for methods w/ delegate arguments</H1>
<B>bugzilla_noreply at novell.com</B>
<A HREF="mailto:mono-bugs%40lists.ximian.com?Subject=%5BMono-bugs%5D%20%5BBug%20425898%5D%20New%3A%20%5Bgmcs%5D%20Generated%20XML%20documentation%0A%20//member/%40%20name%20is%20wrong%20for%20methods%20w/%20delegate%20arguments&In-Reply-To="
TITLE="[Mono-bugs] [Bug 425898] New: [gmcs] Generated XML documentation //member/@ name is wrong for methods w/ delegate arguments">bugzilla_noreply at novell.com
</A><BR>
<I>Fri Sep 12 10:52:42 EDT 2008</I>
<P><UL>
<LI>Previous message: <A HREF="079250.html">[Mono-bugs] [Bug 425527] System.IndexOutOfRangeException when compiling Unity
</A></li>
<LI>Next message: <A HREF="079240.html">[Mono-bugs] [Bug 425647] resgen2 fails to compile resx without a working X display
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#79261">[ date ]</a>
<a href="thread.html#79261">[ thread ]</a>
<a href="subject.html#79261">[ subject ]</a>
<a href="author.html#79261">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE><A HREF="https://bugzilla.novell.com/show_bug.cgi?id=425898">https://bugzilla.novell.com/show_bug.cgi?id=425898</A>
Summary: [gmcs] Generated XML documentation //member/@name is
wrong for methods w/ delegate arguments
Product: Mono: Compilers
Version: SVN
Platform: x86-64
OS/Version: openSUSE 11.0
Status: NEW
Severity: Normal
Priority: P5 - None
Component: C#
AssignedTo: <A HREF="http://lists.ximian.com/mailman/listinfo/mono-bugs">mono-bugs at lists.ximian.com</A>
ReportedBy: <A HREF="http://lists.ximian.com/mailman/listinfo/mono-bugs">jpryor at novell.com</A>
QAContact: <A HREF="http://lists.ximian.com/mailman/listinfo/mono-bugs">mono-bugs at lists.ximian.com</A>
Found By: ---
When using `gmcs -xml:foo.xml ...`, the //member/@name is wrong for methods
taking delegates which use type parameters.
To reproduce, take the following code:
// XML documentation is generated wrong...
using System;
struct Maybe&lt;T&gt;
{public readonly bool HasValue;
private T value;
public T Value
{get {
if (!HasValue) throw new InvalidOperationException ();
return value;}}
public Maybe (T value)
{this.value = value;
HasValue = true;}}
struct Tuple&lt;T1,T2&gt;
{public readonly T1 _1;
public readonly T2 _2;
public Tuple(T1 a, T2 b)
{_1 = a;
_2 = b;}
/// &lt;summary&gt;
/// Converts a &lt;see cref=&quot;T:Tuple{T1,T2}&quot; /&gt; into a
/// &lt;typeparamref name=&quot;TResult&quot; /&gt;.
/// &lt;/summary&gt;
public TResult Match&lt;TResult&gt;(params Func&lt;T1,T2,Maybe&lt;TResult&gt;&gt;[] ms)
{if (ms == null) throw new ArgumentNullException();
foreach (var m in ms)
{var r=m(_1,_2);
if(r.HasValue) return r.Value;}
throw new InvalidOperationException();}}
Compile it:
gmcs -t:library -doc:gmcs-xml-bug.xml gmcs-xml-bug.cs
Then view the resulting gmcs-xml-bug.xml file:
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;doc&gt;
&lt;assembly&gt;
&lt;name&gt;gmcs-xml-bug&lt;/name&gt;
&lt;/assembly&gt;
&lt;members&gt;
&lt;member name=&quot;M:Tuple`2.Match``1(System.Func`3[T1,T2,[Maybe`1[[TResult]],
gmcs-xml-bug, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]][])&quot;&gt;
&lt;summary&gt;
Converts a &lt;see cref=&quot;T:Tuple{T1,T2}&quot; /&gt; into a
&lt;typeparamref name=&quot;TResult&quot; /&gt;.
&lt;/summary&gt;
&lt;/member&gt;
&lt;/members&gt;
&lt;/doc&gt;
The //member/@name attribute is obviously wrong; it should be:
M:Tuple`2.Match``1(System.Func{`0,`1,Maybe{``0}}[])
This breaks monodocer XML documentation import of the above XML documentation
(i.e. the above member isn't imported with monodocer).
--
Configure bugmail: <A HREF="https://bugzilla.novell.com/userprefs.cgi?tab=email">https://bugzilla.novell.com/userprefs.cgi?tab=email</A>
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI>Previous message: <A HREF="079250.html">[Mono-bugs] [Bug 425527] System.IndexOutOfRangeException when compiling Unity
</A></li>
<LI>Next message: <A HREF="079240.html">[Mono-bugs] [Bug 425647] resgen2 fails to compile resx without a working X display
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#79261">[ date ]</a>
<a href="thread.html#79261">[ thread ]</a>
<a href="subject.html#79261">[ subject ]</a>
<a href="author.html#79261">[ author ]</a>
</LI>
</UL>
<hr>
<a href="http://lists.ximian.com/mailman/listinfo/mono-bugs">More information about the mono-bugs
mailing list</a><br>
</body></html>