Author: jonpryor
Date: 2008-02-13 16:01:03 -0500 (Wed, 13 Feb 2008)
New Revision: 95597

Modified:
   trunk/monodoc/tools/ChangeLog
   trunk/monodoc/tools/DocTest-v1.cs
   
trunk/monodoc/tools/DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml
   
trunk/monodoc/tools/DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml
   trunk/monodoc/tools/DocTest/en.expected.since/Mono.DocTest/Widget.xml
   trunk/monodoc/tools/DocTest/en.expected/Mono.DocTest/Widget.xml
   trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html
   trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html
   trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest/UseLists.html
   trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest/Widget.html
   trunk/monodoc/tools/DocTest/html.expected/System/Array.html
   trunk/monodoc/tools/stylesheet.xsl
Log:
        * DocTest-v1.cs: Add/fix doc comments; add a
          Widget(Converter<string,string>) constructor for testing.
        * stylesheet.xsl: Fix display issues:
          - Generic types should have GetTypeDisplayName() on their constituent
            parts, so System.Converter<System.String,System.String>
            gets converted into the nicer Converter<string, string>.
          - Generic types within method argument lists should be supported.
          - Permit constructor references to contain arguments, so that 
            "C:My.Full.Type(Type1,Type2)" actually works.
          - Fix remote type references so 
            <see 
cref="M:System.Collections.Generic.List{System.Int32}.Remove(`0)"/>
            properly reference the remote uri 
            System.Collections.Generic.List`1.Remove(`0).
        * DocTest/en.expected/Mono.DocTest/Widget.xml,
          DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
          DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
          DocTest/en.expected.since/Mono.DocTest/Widget.xml,
          DocTest/html.expected/System/Array.html,
          DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
          DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
          DocTest/html.expected/Mono.DocTest/Widget.html,
          DocTest/html.expected/Mono.DocTest/UseLists.html: Flush.


Modified: trunk/monodoc/tools/ChangeLog
===================================================================
--- trunk/monodoc/tools/ChangeLog       2008-02-13 20:48:27 UTC (rev 95596)
+++ trunk/monodoc/tools/ChangeLog       2008-02-13 21:01:03 UTC (rev 95597)
@@ -1,5 +1,30 @@
-2008-01-08  Jonathan Pryor <[EMAIL PROTECTED]>
+2008-02-13  Jonathan Pryor <[EMAIL PROTECTED]>
 
+       * DocTest-v1.cs: Add/fix doc comments; add a
+         Widget(Converter<string,string>) constructor for testing.
+       * stylesheet.xsl: Fix display issues:
+         - Generic types should have GetTypeDisplayName() on their constituent
+           parts, so System.Converter<System.String,System.String>
+           gets converted into the nicer Converter<string, string>.
+         - Generic types within method argument lists should be supported.
+         - Permit constructor references to contain arguments, so that 
+           "C:My.Full.Type(Type1,Type2)" actually works.
+         - Fix remote type references so 
+           <see 
cref="M:System.Collections.Generic.List{System.Int32}.Remove(`0)"/>
+           properly reference the remote uri 
+           System.Collections.Generic.List`1.Remove(`0).
+       * DocTest/en.expected/Mono.DocTest/Widget.xml,
+         DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
+         DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
+         DocTest/en.expected.since/Mono.DocTest/Widget.xml,
+         DocTest/html.expected/System/Array.html,
+         DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
+         DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
+         DocTest/html.expected/Mono.DocTest/Widget.html,
+         DocTest/html.expected/Mono.DocTest/UseLists.html: Flush.
+
+2008-02-08  Jonathan Pryor <[EMAIL PROTECTED]>
+
        * stylesheet.xsl: Allow use of both <see cref="GenericType{A}" /> and 
          <see cref="GenericType&lt;A&gt;" /> to be consistent wrt each other.
          - Canonicalize generic types within link targets so that {} is used, 
as 

Modified: trunk/monodoc/tools/DocTest/en.expected/Mono.DocTest/Widget.xml
===================================================================
--- trunk/monodoc/tools/DocTest/en.expected/Mono.DocTest/Widget.xml     
2008-02-13 20:48:27 UTC (rev 95596)
+++ trunk/monodoc/tools/DocTest/en.expected/Mono.DocTest/Widget.xml     
2008-02-13 21:01:03 UTC (rev 95597)
@@ -35,6 +35,21 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public Widget 
(Converter&lt;string,string&gt; c);" />
+      <MemberType>Constructor</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <Parameters>
+        <Parameter Name="c" 
Type="System.Converter&lt;System.String,System.String&gt;" />
+      </Parameters>
+      <Docs>
+        <param name="c">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
       <MemberSignature Language="C#" Value="public Widget (string s);" />
       <MemberType>Constructor</MemberType>
       <AssemblyInfo>

Modified: 
trunk/monodoc/tools/DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml
===================================================================
--- 
trunk/monodoc/tools/DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml
    2008-02-13 20:48:27 UTC (rev 95596)
+++ 
trunk/monodoc/tools/DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml
    2008-02-13 21:01:03 UTC (rev 95597)
@@ -42,7 +42,7 @@
         <typeparam name="T">Something</typeparam>
         <param name="value">A <c>T</c>.</param>
         <summary>To be added.</summary>
-        <returns>A &lt;see cref="T:Generic.MyList`1" /&gt; instance.</returns>
+        <returns>A <see cref="T:Mono.DocTest.Generic.MyList`1" /> 
instance.</returns>
         <remarks>
           <c>M:Mono.DocTest.UseLists.GetValues``1(``0)</c>.</remarks>
       </Docs>
@@ -60,7 +60,7 @@
         <Parameter Name="list" 
Type="Mono.DocTest.Generic.MyList&lt;System.Int32&gt;" />
       </Parameters>
       <Docs>
-        <param name="list">A &lt;see 
cref="T:Mono.DocTest.Generic.MyList{System.Int32}" /&gt;.</param>
+        <param name="list">A <see 
cref="T:Mono.DocTest.Generic.MyList{System.Int32}" />.</param>
         <summary>To be added.</summary>
         <remarks>
           
<c>M:Mono.DocTest.UseLists.Process(Mono.DocTest.MyList{System.Int32})</c>.</remarks>
@@ -79,10 +79,15 @@
         <Parameter Name="list" 
Type="System.Collections.Generic.List&lt;System.Int32&gt;" />
       </Parameters>
       <Docs>
-        <param name="list">Another &lt;see 
cref="T:Mono.DocTest.Generic.MyList{System.Int32}" /&gt;.</param>
+        <param name="list">Another <see 
cref="T:Mono.DocTest.Generic.MyList{System.Int32}" />.</param>
         <summary>To be added.</summary>
         <remarks>
-          
<c>M:Mono.DocTest.UseLists.Process(System.Collections.Generic.List{System.Int32})</c>.</remarks>
+          <para>
+            
<c>M:Mono.DocTest.UseLists.Process(System.Collections.Generic.List{System.Int32})</c>.</para>
+          <para>
+            <see 
cref="M:System.Collections.Generic.List{System.Int32}.Remove(`0)" />
+          </para>
+        </remarks>
       </Docs>
     </Member>
     <Member MemberName="Process">
@@ -98,7 +103,7 @@
         <Parameter Name="list" 
Type="System.Collections.Generic.List&lt;System.Predicate&lt;System.Int32&gt;&gt;"
 />
       </Parameters>
       <Docs>
-        <param name="list">A &lt;see 
cref="T:Mono.DocTest.Generic.MyList{System.Predicate{System.Int32}}" 
/&gt;.</param>
+        <param name="list">A <see 
cref="T:Mono.DocTest.Generic.MyList{System.Predicate{System.Int32}}" />.</param>
         <summary>To be added.</summary>
         <remarks>
           
<c>M:Mono.DocTest.UseLists.Process(System.Collections.Generic.List{System.Predicate{System.Int32}})</c>.</remarks>
@@ -118,7 +123,7 @@
       </Parameters>
       <Docs>
         <typeparam name="T">Something Else</typeparam>
-        <param name="list">A &lt;see 
cref="T:Mono.DocTest.Generic.MyList{System.Predicate{``0}}" /&gt;.</param>
+        <param name="list">A <see 
cref="T:Mono.DocTest.Generic.MyList{System.Predicate{``0}}" />.</param>
         <summary>To be added.</summary>
         <remarks>
           
<c>M:Mono.DocTest.UseLists.Process``1(System.Collections.Generic.List{System.Predicate{``0}})</c>.</remarks>

Modified: 
trunk/monodoc/tools/DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml
===================================================================
--- 
trunk/monodoc/tools/DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml  
    2008-02-13 20:48:27 UTC (rev 95596)
+++ 
trunk/monodoc/tools/DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml  
    2008-02-13 21:01:03 UTC (rev 95597)
@@ -39,10 +39,34 @@
             <c>C:Mono.DocTest.Widget</c>.</para>
           <para>
             <c>M:Mono.DocTest.Widget.#ctor</c>.</para>
+          <para>
+            <see cref="C:Mono.DocTest.Widget(System.String)" />
+          </para>
+          <para>
+            <see 
cref="C:Mono.DocTest.Widget(System.Converter{System.String,System.String})" />
+          </para>
         </remarks>
       </Docs>
     </Member>
     <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public Widget 
(Converter&lt;string,string&gt; c);" />
+      <MemberType>Constructor</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <Parameters>
+        <Parameter Name="c" 
Type="System.Converter&lt;System.String,System.String&gt;" />
+      </Parameters>
+      <Docs>
+        <param name="c">A <see 
cref="T:System.Converter{System.String,System.String}" />.</param>
+        <summary>To be added.</summary>
+        <remarks>
+          <para>
+            
<c>C:Mono.DocTest.Widget(System.Converter{System.String,System.String})</c>.</para>
+        </remarks>
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
       <MemberSignature Language="C#" Value="public Widget (string s);" />
       <MemberType>Constructor</MemberType>
       <AssemblyInfo>

Modified: trunk/monodoc/tools/DocTest/en.expected.since/Mono.DocTest/Widget.xml
===================================================================
--- trunk/monodoc/tools/DocTest/en.expected.since/Mono.DocTest/Widget.xml       
2008-02-13 20:48:27 UTC (rev 95596)
+++ trunk/monodoc/tools/DocTest/en.expected.since/Mono.DocTest/Widget.xml       
2008-02-13 21:01:03 UTC (rev 95597)
@@ -37,6 +37,22 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public Widget 
(Converter&lt;string,string&gt; c);" />
+      <MemberType>Constructor</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+        <AssemblyVersion>2.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <Parameters>
+        <Parameter Name="c" 
Type="System.Converter&lt;System.String,System.String&gt;" />
+      </Parameters>
+      <Docs>
+        <param name="c">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
       <MemberSignature Language="C#" Value="public Widget (string s);" />
       <MemberType>Constructor</MemberType>
       <AssemblyInfo>

Modified: trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest/UseLists.html
===================================================================
--- trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest/UseLists.html        
2008-02-13 20:48:27 UTC (rev 95596)
+++ trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest/UseLists.html        
2008-02-13 21:01:03 UTC (rev 95597)
@@ -98,7 +98,7 @@
               <td>
                 <b>
                   <a 
href="#M:Mono.DocTest.UseLists.Process(Mono.DocTest.Generic.MyList{System.Int32})">Process</a>
-                </b>(<a 
href="../Mono.DocTest.Generic/MyList`1.html">Mono.DocTest.Generic.MyList&lt;System.Int32&gt;</a>)<div>To
 be added.</div></td>
+                </b>(<a 
href="../Mono.DocTest.Generic/MyList`1.html">Mono.DocTest.Generic.MyList&lt;int&gt;</a>)<div>To
 be added.</div></td>
             </tr>
             <tr valign="top">
               <td>
@@ -106,7 +106,7 @@
               <td>
                 <b>
                   <a 
href="#M:Mono.DocTest.UseLists.Process(System.Collections.Generic.List{System.Int32})">Process</a>
-                </b>(<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.List`1";>System.Collections.Generic.List&lt;System.Int32&gt;</a>)<div>To
 be added.</div></td>
+                </b>(<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.List`1";>System.Collections.Generic.List&lt;int&gt;</a>)<div>To
 be added.</div></td>
             </tr>
             <tr valign="top">
               <td>
@@ -114,7 +114,7 @@
               <td>
                 <b>
                   <a 
href="#M:Mono.DocTest.UseLists.Process(System.Collections.Generic.List{System.Predicate{System.Int32}})">Process</a>
-                </b>(<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.List`1";>System.Collections.Generic.List&lt;System.Predicate&lt;System.Int32&gt;&gt;</a>)<div>To
 be added.</div></td>
+                </b>(<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.List`1";>System.Collections.Generic.List&lt;Predicate&lt;int&gt;&gt;</a>)<div>To
 be added.</div></td>
             </tr>
             <tr valign="top">
               <td>
@@ -122,7 +122,7 @@
               <td>
                 <b>
                   <a 
href="#M:Mono.DocTest.UseLists.Process``1(System.Collections.Generic.List{System.Predicate{``0}})">Process&lt;T&gt;</a>
-                </b>(<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.List`1";>System.Collections.Generic.List&lt;System.Predicate&lt;T&gt;&gt;</a>)<div>To
 be added.</div></td>
+                </b>(<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.List`1";>System.Collections.Generic.List&lt;Predicate&lt;T&gt;&gt;</a>)<div>To
 be added.</div></td>
             </tr>
             <tr valign="top">
               <td>
@@ -130,7 +130,7 @@
               <td>
                 <b>
                   <a 
href="#M:Mono.DocTest.UseLists.UseHelper``3(Mono.DocTest.Generic.MyList{``0}.Helper{``1,``2})">UseHelper&lt;T,U,V&gt;</a>
-                </b>(<a 
href="../Mono.DocTest.Generic/MyList`1+Helper`2.html">Mono.DocTest.Generic.MyList&lt;T&gt;.Helper&lt;U,V&gt;</a>)<div>To
 be added.</div></td>
+                </b>(<a 
href="../Mono.DocTest.Generic/MyList`1+Helper`2.html">Mono.DocTest.Generic.MyList&lt;T&gt;.Helper&lt;U,
 V&gt;</a>)<div>To be added.</div></td>
             </tr>
           </table>
         </div>
@@ -175,7 +175,7 @@
             </dl>
           </div>
           <h4 class="Subsection">Returns</h4>
-          <div class="SubsectionBox">A &lt;see cref="T:Generic.MyList`1" /&gt; 
instance.</div>
+          <div class="SubsectionBox">A <a 
href="../Mono.DocTest.Generic/MyList`1.html">Mono.DocTest.Generic.MyList`1</a> 
instance.</div>
           <h4 class="Subsection">Remarks</h4>
           <div class="SubsectionBox">
             <tt>
@@ -189,7 +189,7 @@
           </hr>
         </div>
         <h3 
id="M:Mono.DocTest.UseLists.Process(Mono.DocTest.Generic.MyList{System.Int32})" 
class="MemberName">Process Method</h3>
-        <div class="MemberSignature">public <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void";>void</a> 
<b>Process</b> (<a 
href="../Mono.DocTest.Generic/MyList`1.html">Mono.DocTest.Generic.MyList&lt;System.Int32&gt;</a>
 list)</div>
+        <div class="MemberSignature">public <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void";>void</a> 
<b>Process</b> (<a 
href="../Mono.DocTest.Generic/MyList`1.html">Mono.DocTest.Generic.MyList&lt;int&gt;</a>
 list)</div>
         <div class="MemberBox">
           <p>To be added.</p>
           <h4 class="Subsection">Parameters</h4>
@@ -198,7 +198,7 @@
               <dt>
                 <i>list</i>
               </dt>
-              <dd>A &lt;see cref="T:Mono.DocTest.Generic.MyList{System.Int32}" 
/&gt;.</dd>
+              <dd>A <a 
href="../Mono.DocTest.Generic/MyList`1.html">Mono.DocTest.Generic.MyList&lt;int&gt;</a>.</dd>
             </dl>
           </div>
           <h4 class="Subsection">Remarks</h4>
@@ -214,7 +214,7 @@
           </hr>
         </div>
         <h3 
id="M:Mono.DocTest.UseLists.Process(System.Collections.Generic.List{System.Int32})"
 class="MemberName">Process Method</h3>
-        <div class="MemberSignature">public <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void";>void</a> 
<b>Process</b> (<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.List`1";>System.Collections.Generic.List&lt;System.Int32&gt;</a>
 list)</div>
+        <div class="MemberSignature">public <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void";>void</a> 
<b>Process</b> (<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.List`1";>System.Collections.Generic.List&lt;int&gt;</a>
 list)</div>
         <div class="MemberBox">
           <p>To be added.</p>
           <h4 class="Subsection">Parameters</h4>
@@ -223,14 +223,19 @@
               <dt>
                 <i>list</i>
               </dt>
-              <dd>Another &lt;see 
cref="T:Mono.DocTest.Generic.MyList{System.Int32}" /&gt;.</dd>
+              <dd>Another <a 
href="../Mono.DocTest.Generic/MyList`1.html">Mono.DocTest.Generic.MyList&lt;int&gt;</a>.</dd>
             </dl>
           </div>
           <h4 class="Subsection">Remarks</h4>
           <div class="SubsectionBox">
-            <tt>
-              <font 
size="-1">M:Mono.DocTest.UseLists.Process(System.Collections.Generic.List{System.Int32})</font>
-            </tt>.</div>
+            <p>
+              <tt>
+                <font 
size="-1">M:Mono.DocTest.UseLists.Process(System.Collections.Generic.List{System.Int32})</font>
+              </tt>.</p>
+            <p>
+              <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=M:System.Collections.Generic.List`1.Remove(`0)">System.Collections.Generic.List&lt;int&gt;.Remove(`0)</a>
+            </p>
+          </div>
           <h4 class="Subsection">Required Assembly Versions:</h4>
           <ul>
             <li>DocTest 0.0.0.0</li>
@@ -239,7 +244,7 @@
           </hr>
         </div>
         <h3 
id="M:Mono.DocTest.UseLists.Process(System.Collections.Generic.List{System.Predicate{System.Int32}})"
 class="MemberName">Process Method</h3>
-        <div class="MemberSignature">public <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void";>void</a> 
<b>Process</b> (<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.List`1";>System.Collections.Generic.List&lt;System.Predicate&lt;System.Int32&gt;&gt;</a>
 list)</div>
+        <div class="MemberSignature">public <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void";>void</a> 
<b>Process</b> (<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.List`1";>System.Collections.Generic.List&lt;Predicate&lt;int&gt;&gt;</a>
 list)</div>
         <div class="MemberBox">
           <p>To be added.</p>
           <h4 class="Subsection">Parameters</h4>
@@ -248,7 +253,7 @@
               <dt>
                 <i>list</i>
               </dt>
-              <dd>A &lt;see 
cref="T:Mono.DocTest.Generic.MyList{System.Predicate{System.Int32}}" /&gt;.</dd>
+              <dd>A <a 
href="../Mono.DocTest.Generic/MyList`1.html">Mono.DocTest.Generic.MyList&lt;Predicate&lt;int&gt;&gt;</a>.</dd>
             </dl>
           </div>
           <h4 class="Subsection">Remarks</h4>
@@ -264,7 +269,7 @@
           </hr>
         </div>
         <h3 
id="M:Mono.DocTest.UseLists.Process``1(System.Collections.Generic.List{System.Predicate{``0}})"
 class="MemberName">Process&lt;T&gt; Generic Method</h3>
-        <div class="MemberSignature">public <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void";>void</a> 
<b>Process&lt;T&gt;</b> (<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.List`1";>System.Collections.Generic.List&lt;System.Predicate&lt;T&gt;&gt;</a>
 list)</div>
+        <div class="MemberSignature">public <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void";>void</a> 
<b>Process&lt;T&gt;</b> (<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.List`1";>System.Collections.Generic.List&lt;Predicate&lt;T&gt;&gt;</a>
 list)</div>
         <div class="MemberBox">
           <p>To be added.</p>
           <h4 class="Subsection">Type Parameters</h4>
@@ -282,7 +287,7 @@
               <dt>
                 <i>list</i>
               </dt>
-              <dd>A &lt;see 
cref="T:Mono.DocTest.Generic.MyList{System.Predicate{``0}}" /&gt;.</dd>
+              <dd>A <a 
href="../Mono.DocTest.Generic/MyList`1.html">Mono.DocTest.Generic.MyList&lt;Predicate&lt;``0&gt;&gt;</a>.</dd>
             </dl>
           </div>
           <h4 class="Subsection">Remarks</h4>
@@ -298,7 +303,7 @@
           </hr>
         </div>
         <h3 
id="M:Mono.DocTest.UseLists.UseHelper``3(Mono.DocTest.Generic.MyList{``0}.Helper{``1,``2})"
 class="MemberName">UseHelper&lt;T,U,V&gt; Generic Method</h3>
-        <div class="MemberSignature">public <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void";>void</a> 
<b>UseHelper&lt;T,U,V&gt;</b> (<a 
href="../Mono.DocTest.Generic/MyList`1+Helper`2.html">Mono.DocTest.Generic.MyList&lt;T&gt;.Helper&lt;U,V&gt;</a>
 helper)</div>
+        <div class="MemberSignature">public <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void";>void</a> 
<b>UseHelper&lt;T,U,V&gt;</b> (<a 
href="../Mono.DocTest.Generic/MyList`1+Helper`2.html">Mono.DocTest.Generic.MyList&lt;T&gt;.Helper&lt;U,
 V&gt;</a> helper)</div>
         <div class="MemberBox">
           <p>To be added.</p>
           <h4 class="Subsection">Type Parameters</h4>

Modified: trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest/Widget.html
===================================================================
--- trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest/Widget.html  
2008-02-13 20:48:27 UTC (rev 95596)
+++ trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest/Widget.html  
2008-02-13 21:01:03 UTC (rev 95597)
@@ -92,6 +92,13 @@
               <td>
                 <div>
                   <b>
+                    <a 
href="#C:Mono.DocTest.Widget(System.Converter{System.String,System.String})">Widget</a>
+                  </b>(<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Converter`2";>Converter&lt;string,
 string&gt;</a>)</div>To be added.</td>
+            </tr>
+            <tr valign="top">
+              <td>
+                <div>
+                  <b>
                     <a href="#C:Mono.DocTest.Widget(System.String)">Widget</a>
                   </b>(<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.String";>string</a>)</div>To
 be added.</td>
             </tr>
@@ -430,6 +437,12 @@
               <tt>
                 <font size="-1">M:Mono.DocTest.Widget.#ctor</font>
               </tt>.</p>
+            <p>
+              <a 
href="../Mono.DocTest/Widget.html#C:Mono.DocTest.Widget(System.String)">Widget(string)</a>
+            </p>
+            <p>
+              <a 
href="../Mono.DocTest/Widget.html#C:Mono.DocTest.Widget(System.Converter{System.String,System.String})">Widget(Converter&lt;string,
 string&gt;)</a>
+            </p>
           </div>
           <h4 class="Subsection">Required Assembly Versions:</h4>
           <ul>
@@ -438,6 +451,31 @@
           <hr size="1">
           </hr>
         </div>
+        <h3 
id="C:Mono.DocTest.Widget(System.Converter{System.String,System.String})" 
class="MemberName">Widget Constructor</h3>
+        <div class="MemberSignature">public  <b>Widget</b> (<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Converter`2";>Converter&lt;string,
 string&gt;</a> c)</div>
+        <div class="MemberBox">
+          <p>To be added.</p>
+          <h4 class="Subsection">Parameters</h4>
+          <div class="SubsectionBox">
+            <dl>
+              <dt>
+                <i>c</i>
+              </dt>
+              <dd>A <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Converter`2";>Converter&lt;string,
 string&gt;</a>.</dd>
+            </dl>
+          </div>
+          <h4 class="Subsection">Remarks</h4>
+          <div class="SubsectionBox">
+            <tt>
+              <font 
size="-1">C:Mono.DocTest.Widget(System.Converter{System.String,System.String})</font>
+            </tt>.</div>
+          <h4 class="Subsection">Required Assembly Versions:</h4>
+          <ul>
+            <li>DocTest 0.0.0.0</li>
+          </ul>
+          <hr size="1">
+          </hr>
+        </div>
         <h3 id="C:Mono.DocTest.Widget(System.String)" 
class="MemberName">Widget Constructor</h3>
         <div class="MemberSignature">public  <b>Widget</b> (<a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.String";>string</a> 
s)</div>
         <div class="MemberBox">

Modified: 
trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html
===================================================================
--- 
trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html    
    2008-02-13 20:48:27 UTC (rev 95596)
+++ 
trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html    
    2008-02-13 21:01:03 UTC (rev 95597)
@@ -109,7 +109,7 @@
               <td>
                 <b>
                   <a 
href="#M:Mono.DocTest.Generic.MyList`1.GetHelper``2">GetHelper&lt;U,V&gt;</a>
-                </b>()<nobr> : <a 
href="../Mono.DocTest.Generic/MyList`1+Helper`2.html">MyList&lt;T&gt;.Helper&lt;U,V&gt;</a></nobr><div>To
 be added.</div></td>
+                </b>()<nobr> : <a 
href="../Mono.DocTest.Generic/MyList`1+Helper`2.html">MyList&lt;T&gt;.Helper&lt;U,
 V&gt;</a></nobr><div>To be added.</div></td>
             </tr>
             <tr valign="top">
               <td>
@@ -141,7 +141,7 @@
               <td>
                 <b>
                   <a 
href="#M:Mono.DocTest.Generic.MyList`1.UseHelper``2(Mono.DocTest.Generic.MyList{`0}.Helper{``0,``1})">UseHelper&lt;U,V&gt;</a>
-                </b>(<a 
href="../Mono.DocTest.Generic/MyList`1+Helper`2.html">MyList&lt;T&gt;.Helper&lt;U,V&gt;</a>)<div>To
 be added.</div></td>
+                </b>(<a 
href="../Mono.DocTest.Generic/MyList`1+Helper`2.html">MyList&lt;T&gt;.Helper&lt;U,
 V&gt;</a>)<div>To be added.</div></td>
             </tr>
           </table>
         </div>
@@ -164,7 +164,7 @@
           </hr>
         </div>
         <h3 id="M:Mono.DocTest.Generic.MyList`1.GetHelper``2" 
class="MemberName">GetHelper&lt;U,V&gt; Generic Method</h3>
-        <div class="MemberSignature">public <a 
href="../Mono.DocTest.Generic/MyList`1+Helper`2.html">MyList&lt;T&gt;.Helper&lt;U,V&gt;</a>
 <b>GetHelper&lt;U,V&gt;</b> ()</div>
+        <div class="MemberSignature">public <a 
href="../Mono.DocTest.Generic/MyList`1+Helper`2.html">MyList&lt;T&gt;.Helper&lt;U,
 V&gt;</a> <b>GetHelper&lt;U,V&gt;</b> ()</div>
         <div class="MemberBox">
           <p>To be added.</p>
           <h4 class="Subsection">Type Parameters</h4>
@@ -294,7 +294,7 @@
           </hr>
         </div>
         <h3 
id="M:Mono.DocTest.Generic.MyList`1.UseHelper``2(Mono.DocTest.Generic.MyList{`0}.Helper{``0,``1})"
 class="MemberName">UseHelper&lt;U,V&gt; Generic Method</h3>
-        <div class="MemberSignature">public <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void";>void</a> 
<b>UseHelper&lt;U,V&gt;</b> (<a 
href="../Mono.DocTest.Generic/MyList`1+Helper`2.html">MyList&lt;T&gt;.Helper&lt;U,V&gt;</a>
 helper)</div>
+        <div class="MemberSignature">public <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void";>void</a> 
<b>UseHelper&lt;U,V&gt;</b> (<a 
href="../Mono.DocTest.Generic/MyList`1+Helper`2.html">MyList&lt;T&gt;.Helper&lt;U,
 V&gt;</a> helper)</div>
         <div class="MemberBox">
           <p>To be added.</p>
           <h4 class="Subsection">Type Parameters</h4>

Modified: 
trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html
===================================================================
--- 
trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html    
    2008-02-13 20:48:27 UTC (rev 95596)
+++ 
trunk/monodoc/tools/DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html    
    2008-02-13 21:01:03 UTC (rev 95597)
@@ -50,7 +50,7 @@
               <tr>
                 <td>public class  <b>MyList&lt;A,B&gt;</b> :
                
-                                                               <a 
href="../Mono.DocTest.Generic/GenericBase`1.html">Mono.DocTest.Generic.GenericBase&lt;System.Collections.Generic.Dictionary&lt;A,B&gt;&gt;</a>,
      <a href="../Mono.DocTest.Generic/IFoo`1.html">IFoo&lt;A&gt;</a>, <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.ICollection`1";>System.Collections.Generic.ICollection&lt;A&gt;</a>,
 <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerator`1";>System.Collections.Generic.IEnumerator&lt;A&gt;</a></td>
+                                                               <a 
href="../Mono.DocTest.Generic/GenericBase`1.html">GenericBase&lt;System.Collections.Generic.Dictionary&lt;A,
 B&gt;&gt;</a>,  <a 
href="../Mono.DocTest.Generic/IFoo`1.html">IFoo&lt;A&gt;</a>, <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.ICollection`1";>System.Collections.Generic.ICollection&lt;A&gt;</a>,
 <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerator`1";>System.Collections.Generic.IEnumerator&lt;A&gt;</a></td>
               </tr>
             </table>
           </td>
@@ -82,7 +82,7 @@
       <div class="SectionBox">
         <p>
                                                See Also: Inherited members from
-                                               <a 
href="../Mono.DocTest.Generic/GenericBase`1.html">Mono.DocTest.Generic.GenericBase&lt;System.Collections.Generic.Dictionary&lt;A,B&gt;&gt;</a>.
+                                               <a 
href="../Mono.DocTest.Generic/GenericBase`1.html">GenericBase&lt;System.Collections.Generic.Dictionary&lt;A,
 B&gt;&gt;</a>.
                                        </p>
         <h3>Constructors</h3>
         <div class="SubsectionBox">
@@ -178,7 +178,7 @@
               <td>
                 <b>
                   <a 
href="../Mono.DocTest.Generic/GenericBase`1.html#M:Mono.DocTest.Generic.GenericBase`1.BaseMethod``1(``0)">BaseMethod&lt;S&gt;</a>
-                </b>(<i title="Insert more text here.">S</i>)<nobr> : <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.Dictionary`2";>System.Collections.Generic.Dictionary&lt;A,B&gt;</a></nobr><div>To
 be added. (<i>Inherited from <a 
href="../Mono.DocTest.Generic/GenericBase`1.html">GenericBase&lt;U&gt;</a>.</i>)</div></td>
+                </b>(<i title="Insert more text here.">S</i>)<nobr> : <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.Dictionary`2";>System.Collections.Generic.Dictionary&lt;A,
 B&gt;</a></nobr><div>To be added. (<i>Inherited from <a 
href="../Mono.DocTest.Generic/GenericBase`1.html">GenericBase&lt;U&gt;</a>.</i>)</div></td>
             </tr>
             <tr valign="top">
               <td>

Modified: trunk/monodoc/tools/DocTest/html.expected/System/Array.html
===================================================================
--- trunk/monodoc/tools/DocTest/html.expected/System/Array.html 2008-02-13 
20:48:27 UTC (rev 95596)
+++ trunk/monodoc/tools/DocTest/html.expected/System/Array.html 2008-02-13 
21:01:03 UTC (rev 95597)
@@ -93,7 +93,7 @@
               <td>
                 <b>
                   <a 
href="#M:System.Array.ConvertAll``2(``0[],System.Converter{``0,``1})">ConvertAll&lt;TInput,TOutput&gt;</a>
-                </b>(<i title="To be added.">TInput</i>[], <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Converter`2";>Converter&lt;TInput,TOutput&gt;</a>)<nobr>
 : <i title="To be added.">TOutput</i>[]</nobr><div>To be added.</div></td>
+                </b>(<i title="To be added.">TInput</i>[], <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Converter`2";>Converter&lt;TInput,
 TOutput&gt;</a>)<nobr> : <i title="To be added.">TOutput</i>[]</nobr><div>To 
be added.</div></td>
             </tr>
             <tr valign="top">
               <td>static </td>
@@ -156,7 +156,7 @@
           </hr>
         </div>
         <h3 id="M:System.Array.ConvertAll``2(``0[],System.Converter{``0,``1})" 
class="MemberName">ConvertAll&lt;TInput,TOutput&gt; Generic Method</h3>
-        <div class="MemberSignature">public static <i title="To be 
added.">TOutput</i>[] <b>ConvertAll&lt;TInput,TOutput&gt;</b> (<i title="To be 
added.">TInput</i>[] array, <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Converter`2";>Converter&lt;TInput,TOutput&gt;</a>
 converter)</div>
+        <div class="MemberSignature">public static <i title="To be 
added.">TOutput</i>[] <b>ConvertAll&lt;TInput,TOutput&gt;</b> (<i title="To be 
added.">TInput</i>[] array, <a 
href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Converter`2";>Converter&lt;TInput,
 TOutput&gt;</a> converter)</div>
         <div class="MemberBox">
           <p>To be added.</p>
           <h4 class="Subsection">Type Parameters</h4>

Modified: trunk/monodoc/tools/DocTest-v1.cs
===================================================================
--- trunk/monodoc/tools/DocTest-v1.cs   2008-02-13 20:48:27 UTC (rev 95596)
+++ trunk/monodoc/tools/DocTest-v1.cs   2008-02-13 21:01:03 UTC (rev 95597)
@@ -166,6 +166,8 @@
                /// <remarks>
                ///  <para><c>C:Mono.DocTest.Widget</c>.</para>
                ///  <para><c>M:Mono.DocTest.Widget.#ctor</c>.</para>
+               ///  <para><see cref="C:Mono.DocTest.Widget(System.String)" 
/></para>
+               ///  <para><see 
cref="C:Mono.DocTest.Widget(System.Converter{System.String,System.String})" 
/></para>
                /// </remarks>
                public Widget () {}
 
@@ -176,6 +178,12 @@
                /// </remarks>
                public Widget (string s) {}
 
+               /// <param name="c">A <see 
cref="T:System.Converter{System.String,System.String}" />.</param>
+               /// <remarks>
+               ///  
<para><c>C:Mono.DocTest.Widget(System.Converter{System.String,System.String})</c>.</para>
+               /// </remarks>
+               public Widget (Converter<string,string> c) {}
+
                /// <remarks><c>M:Mono.DocTest.Widget.M0</c>.</remarks>
                public static void M0 () {}
 
@@ -272,30 +280,33 @@
        /// <remarks><c>T:Mono.DocTest.UseLists</c>.</remarks>
        public class UseLists
        {
-               /// <param name="list">A &lt;see 
cref="T:Mono.DocTest.Generic.MyList{System.Int32}" />.</param>
+               /// <param name="list">A <see 
cref="T:Mono.DocTest.Generic.MyList{System.Int32}" />.</param>
                /// 
<remarks><c>M:Mono.DocTest.UseLists.Process(Mono.DocTest.MyList{System.Int32})</c>.</remarks>
                public void Process (Generic.MyList<int> list) {}
 
                /// <param name="value">A <c>T</c>.</param>
                /// <typeparam name="T">Something</typeparam>
                /// 
<remarks><c>M:Mono.DocTest.UseLists.GetValues``1(``0)</c>.</remarks>
-               /// <returns>A &lt;see cref="T:Generic.MyList`1" /> 
instance.</returns>
+               /// <returns>A <see cref="T:Mono.DocTest.Generic.MyList`1" /> 
instance.</returns>
                public Generic.MyList<T> GetValues <T> (T value) {return null;}
 
-               /// <param name="list">Another &lt;see 
cref="T:Mono.DocTest.Generic.MyList{System.Int32}" />.</param>
-               /// 
<remarks><c>M:Mono.DocTest.UseLists.Process(System.Collections.Generic.List{System.Int32})</c>.</remarks>
+               /// <param name="list">Another <see 
cref="T:Mono.DocTest.Generic.MyList{System.Int32}" />.</param>
+               /// <remarks>
+               ///  
<para><c>M:Mono.DocTest.UseLists.Process(System.Collections.Generic.List{System.Int32})</c>.</para>
+               /// <para><see 
cref="M:System.Collections.Generic.List{System.Int32}.Remove(`0)" /></para>
+               /// </remarks>
                public void Process (List<int> list) {}
 
-               /// <param name="list">A &lt;see 
cref="T:Mono.DocTest.Generic.MyList{System.Predicate{System.Int32}}" />.</param>
+               /// <param name="list">A <see 
cref="T:Mono.DocTest.Generic.MyList{System.Predicate{System.Int32}}" />.</param>
                /// 
<remarks><c>M:Mono.DocTest.UseLists.Process(System.Collections.Generic.List{System.Predicate{System.Int32}})</c>.</remarks>
                public void Process (List<Predicate<int>> list) {}
 
-               /// <param name="list">A &lt;see 
cref="T:Mono.DocTest.Generic.MyList{System.Predicate{``0}}" />.</param>
+               /// <param name="list">A <see 
cref="T:Mono.DocTest.Generic.MyList{System.Predicate{``0}}" />.</param>
                /// <typeparam name="T">Something Else</typeparam>
                /// 
<remarks><c>M:Mono.DocTest.UseLists.Process``1(System.Collections.Generic.List{System.Predicate{``0}})</c>.</remarks>
                public void Process<T> (List<Predicate<T>> list) {}
 
-               /// <param name="helper">A &lt;see 
cref="T:Mono.DocTest.Generic.MyList{``0}.Helper{``1,``2}" />.</param>
+               /// <param name="helper">A <see 
cref="T:Mono.DocTest.Generic.MyList{``0}.Helper{``1,``2}" />.</param>
                /// <typeparam name="T"><c>T</c></typeparam>
                /// <typeparam name="U"><c>U</c></typeparam>
                /// <typeparam name="V"><c>V</c></typeparam>

Modified: trunk/monodoc/tools/stylesheet.xsl
===================================================================
--- trunk/monodoc/tools/stylesheet.xsl  2008-02-13 20:48:27 UTC (rev 95596)
+++ trunk/monodoc/tools/stylesheet.xsl  2008-02-13 21:01:03 UTC (rev 95597)
@@ -721,6 +721,12 @@
        <xsl:template name="maketypelink">
                <xsl:param name="type"/>
                <xsl:param name="wrt" select="'notset'"/>
+
+               <xsl:param name="btype">
+                       <xsl:call-template name="ToBrackets">
+                               <xsl:with-param name="s" select="$type" />
+                       </xsl:call-template>
+               </xsl:param>
                
                <xsl:choose>
 
@@ -774,15 +780,10 @@
                <xsl:otherwise>
                        <xsl:variable name="escaped-type">
                                <xsl:call-template name="GetEscapedTypeName">
-                                       <xsl:with-param name="typename">
-                                               <xsl:call-template 
name="ToBrackets">
-                                                       <xsl:with-param 
name="s" select="$type" />
-                                               </xsl:call-template>
-                                       </xsl:with-param>
+                                       <xsl:with-param name="typename" 
select="$btype" />
                                </xsl:call-template>
                        </xsl:variable>
-                       <xsl:variable name="T" select="$type"/>
-                       <xsl:variable name="typeentry" 
select="$Index/Overview/Types/Namespace/Type[concat(parent::Namespace/@Name,'.',@Name)
 = $T]" />
+                       <xsl:variable name="typeentry" 
select="$Index/Overview/Types/Namespace/Type[concat(parent::Namespace/@Name,'.',@Name)
 = $btype]" />
                        <xsl:for-each 
select="$Index/Overview/Types/Namespace/Type[concat(parent::Namespace/@Name, 
'.', @Name)]">
                        </xsl:for-each>
                        <a>
@@ -799,7 +800,7 @@
                                </xsl:attribute>
        
                                <xsl:call-template name="GetTypeDisplayName">
-                                       <xsl:with-param name="T" select="$T"/>
+                                       <xsl:with-param name="T" 
select="$btype"/>
                                        <xsl:with-param name="wrt" 
select="$wrt"/>
                                </xsl:call-template>
                        </a>
@@ -810,7 +811,7 @@
        <xsl:template name="GetTypeDisplayName">
                <xsl:param name="T"/>
                <xsl:param name="wrt"/>
-               
+
                                <!-- use C#-style names -->
                                <xsl:choose>
                                        <xsl:when 
test="$T='System.Object'">object</xsl:when>
@@ -829,6 +830,19 @@
                                        <xsl:when 
test="$T='System.UInt32'">uint</xsl:when>
                                        <xsl:when 
test="$T='System.UInt64'">ulong</xsl:when>
                                        <xsl:when 
test="$T='System.Void'">void</xsl:when>
+
+                                       <xsl:when test="contains($T, '&lt;')">
+                                               <xsl:call-template 
name="GetTypeDisplayName">
+                                                       <xsl:with-param 
name="T" select="substring-before ($T, '&lt;')" />
+                                                       <xsl:with-param 
name="wrt" select="$wrt" />
+                                               </xsl:call-template>
+                                               <xsl:text>&lt;</xsl:text>
+                                               <xsl:call-template 
name="GetMemberArgList">
+                                                       <xsl:with-param 
name="arglist" select="substring-after ($T, '&lt;')" />
+                                                       <xsl:with-param 
name="wrt" select="$wrt" />
+                                               </xsl:call-template>
+                                               <!-- don't need to append &gt; 
as GetMemberArgList (eventually) appends it -->
+                                       </xsl:when>
        
                                        <!-- if the type is in the wrt 
namespace, omit the namespace name -->
                                        <xsl:when test="not($wrt='') and 
starts-with($T, concat($wrt,'.')) and 
not(contains(substring-after($T,concat($wrt,'.')), '.'))">
@@ -846,9 +860,7 @@
                                        </xsl:when>
 
                                        <xsl:otherwise>
-                                               <xsl:call-template 
name="ToBrackets">
-                                                       <xsl:with-param 
name="s" select="translate ($T, '+', '.')" />
-                                               </xsl:call-template>
+                                               <xsl:value-of select="translate 
($T, '+', '.')" />
                                        </xsl:otherwise>
                                </xsl:choose>
        </xsl:template>
@@ -910,14 +922,27 @@
        <xsl:template name="makememberlink">
                <xsl:param name="cref"/>
 
+               <xsl:variable name="bcref">
+                       <xsl:call-template name="ToBrackets">
+                               <xsl:with-param name="s" select="$cref" />
+                       </xsl:call-template>
+               </xsl:variable>
+
                <xsl:variable name="fullname">
                        <xsl:choose>
-                               <xsl:when test="starts-with($cref, 'C:') or 
starts-with($cref, 'T:')">
-                                       <xsl:value-of select="substring($cref, 
3)" />
+                               <xsl:when test="starts-with($bcref, 'C:') or 
starts-with($bcref, 'T:')">
+                                       <xsl:choose>
+                                               <xsl:when 
test="contains($bcref, '(')">
+                                                       <xsl:value-of 
select="substring (substring-before ($bcref, '('), 3)" />
+                                               </xsl:when>
+                                               <xsl:otherwise>
+                                                       <xsl:value-of 
select="substring($bcref, 3)" />
+                                               </xsl:otherwise>
+                                       </xsl:choose>
                                </xsl:when>
                                <xsl:otherwise>
                                        <xsl:call-template name="GetTypeName">
-                                               <xsl:with-param name="type" 
select="substring($cref, 3)"/>
+                                               <xsl:with-param name="type" 
select="substring($bcref, 3)"/>
                                        </xsl:call-template>
                                </xsl:otherwise>
                        </xsl:choose>
@@ -925,13 +950,22 @@
 
                <xsl:variable name="memberName">
                        <xsl:choose>
-                               <xsl:when test="starts-with($cref, 'C:') or 
starts-with($cref, 'T:')"></xsl:when>
+                               <xsl:when test="starts-with($bcref, 'T:')" />
+                               <xsl:when test="starts-with($bcref, 'C:') and 
not(contains($bcref, '('))" />
+                               <xsl:when test="starts-with($bcref, 'C:') and 
contains($bcref, '(')">
+                                       <xsl:text>(</xsl:text>
+                                       <xsl:call-template 
name="GetMemberArgList">
+                                               <xsl:with-param name="arglist" 
select="substring-before(substring-after($bcref, '('), ')')" />
+                                               <xsl:with-param name="wrt" 
select="$TypeNamespace" />
+                                       </xsl:call-template>
+                                       <xsl:text>)</xsl:text>
+                               </xsl:when>
                                <xsl:otherwise>
                                        <xsl:text>.</xsl:text>
                                        <xsl:call-template name="GetMemberName">
-                                               <xsl:with-param name="type" 
select="substring($cref, 3)" />
+                                               <xsl:with-param name="type" 
select="substring($bcref, 3)" />
                                                <xsl:with-param name="wrt" 
select="$fullname"/>
-                                               <xsl:with-param 
name="isproperty" select="starts-with($cref, 'P:')"/>
+                                               <xsl:with-param 
name="isproperty" select="starts-with($bcref, 'P:')"/>
                                        </xsl:call-template>
                                </xsl:otherwise>
                        </xsl:choose>
@@ -939,7 +973,11 @@
 
                <xsl:variable name="escaped-type">
                        <xsl:call-template name="GetEscapedTypeName">
-                               <xsl:with-param name="typename" 
select="$fullname" />
+                               <xsl:with-param name="typename">
+                                       <xsl:call-template name="ToBrackets">
+                                               <xsl:with-param name="s" 
select="$fullname" />
+                                       </xsl:call-template>
+                               </xsl:with-param>
                        </xsl:call-template>
                </xsl:variable>
                <xsl:variable name="displayname">
@@ -960,7 +998,9 @@
                                        </xsl:with-param>
                                        <xsl:with-param name="remote">
                                                <xsl:value-of 
select="$mono-docs" />
-                                               <xsl:value-of select="$cref" />
+                                               <xsl:value-of 
select="substring($cref, 1, 2)" />
+                                               <xsl:value-of 
select="$escaped-type" />
+                                               <xsl:value-of 
select="$memberName" />
                                        </xsl:with-param>
                                </xsl:call-template>
                        </xsl:attribute>
@@ -1024,11 +1064,24 @@
        <xsl:template name="GetMemberArgList">
                <xsl:param name="arglist" />
                <xsl:param name="wrt" select="''"/>
+
+               <xsl:variable name="c"  select="substring-before ($arglist, 
',')" />
+               <xsl:variable name="lt" select="substring-before ($arglist, 
'&lt;')" />
+               <xsl:variable name="gt" select="substring-before ($arglist, 
'&gt;')" />
+
                <xsl:choose>
-                       <xsl:when test="contains($arglist, ',')">
-                               <xsl:call-template name="GetMemberArgList">
-                                       <xsl:with-param name="arglist" 
select="substring-before($arglist, ',')" />
-                                       <xsl:with-param name="wrt" 
select="$wrt" />
+                       <xsl:when test="
+                                       ($c != '' and $lt != '' and $gt != '' 
and 
+                                        string-length ($c) &lt; string-length 
($lt) and 
+                                        string-length ($c) &lt; string-length 
($gt)) or
+                                       ($c != '' and $lt != '' and $gt = '' and
+                                        string-length ($c) &lt; string-length 
($lt)) or
+                                       ($c != '' and $lt = '' and $gt != '' and
+                                        string-length ($c) &lt; string-length 
($gt)) or
+                                       ($c != '' and $lt = '' and $gt = '')">
+                               <xsl:call-template name="GetTypeDisplayName">
+                                       <xsl:with-param name="T" select="$c"/>
+                                       <xsl:with-param name="wrt" 
select="$wrt"/>
                                </xsl:call-template>
                                <xsl:text>, </xsl:text>
                                <xsl:call-template name="GetMemberArgList">
@@ -1036,6 +1089,44 @@
                                        <xsl:with-param name="wrt" 
select="$wrt" />
                                </xsl:call-template>
                        </xsl:when>
+                       <xsl:when test="
+                                       ($c != '' and $lt != '' and $gt != '' 
and 
+                                        string-length ($lt) &lt; string-length 
($c) and 
+                                        string-length ($lt) &lt; string-length 
($gt)) or
+                                       ($c != '' and $lt != '' and $gt = '' and
+                                        string-length ($lt) &lt; string-length 
($c)) or
+                                       ($c = '' and $lt != '' and $gt != '' and
+                                        string-length ($lt) &lt; string-length 
($gt)) or
+                                       ($c = '' and $lt != '' and $gt = '')">
+                               <xsl:call-template name="GetTypeDisplayName">
+                                       <xsl:with-param name="T" select="$lt"/>
+                                       <xsl:with-param name="wrt" 
select="$wrt"/>
+                               </xsl:call-template>
+                               <xsl:text>&lt;</xsl:text>
+                               <xsl:call-template name="GetMemberArgList">
+                                       <xsl:with-param name="arglist" 
select="substring-after($arglist, '&lt;')" />
+                                       <xsl:with-param name="wrt" 
select="$wrt" />
+                               </xsl:call-template>
+                       </xsl:when>
+                       <xsl:when test="
+                                       ($c != '' and $lt != '' and $gt != '' 
and 
+                                        string-length ($gt) &lt; string-length 
($c) and 
+                                        string-length ($gt) &lt; string-length 
($lt)) or
+                                       ($c != '' and $lt = '' and $gt = '' and
+                                        string-length ($gt) &lt; string-length 
($c)) or
+                                       ($c = '' and $lt != '' and $gt = '' and
+                                        string-length ($gt) &lt; string-length 
($lt)) or
+                                       ($c = '' and $lt = '' and $gt != '')">
+                               <xsl:call-template name="GetTypeDisplayName">
+                                       <xsl:with-param name="T" select="$gt"/>
+                                       <xsl:with-param name="wrt" 
select="$wrt"/>
+                               </xsl:call-template>
+                               <xsl:text>&gt;</xsl:text>
+                               <xsl:call-template name="GetMemberArgList">
+                                       <xsl:with-param name="arglist" 
select="substring-after($arglist, '&gt;')" />
+                                       <xsl:with-param name="wrt" 
select="$wrt" />
+                               </xsl:call-template>
+                       </xsl:when>
                        <xsl:otherwise>
                                <xsl:call-template name="GetTypeDisplayName">
                                        <xsl:with-param name="T" 
select="$arglist"/>

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to