* Makefile: Specify --exceptions=all in mdoc-update invocations.
[mono.git] / mcs / tools / mdoc / ChangeLog
1 2008-12-04  Jonathan Pryor <jpryor@novell.com>
2
3         * Makefile: Specify --exceptions=all in mdoc-update invocations.
4         * exceptions.cs: Add support for documenting a *subset* of all
5           possible exceptions.  Subsets include: the member itself, the member
6           and methods it calls that are in the same assembly, and all possible
7           methods across all assemblies.
8         * monodocer.cs: Allow --exceptions to take a SOURCES argument, to
9           control which location sources will be searched for exceptions.
10
11 2008-12-02  Jonathan Pryor <jpryor@novell.com>
12
13         * Makefile: Add --exceptions to `mdoc update` invocations to test
14           <exception/> generation.
15         * mdoc.exe.sources: Add Mono.Documentation/exceptions.cs to the build.
16         * Mono.Documentation/exceptions.cs: Added; searches through the
17           callgraph of an IMemberReference, recording which exception types
18           are created (and where they're created from).
19         * Mono.Documentation/monodocer.cs: Generate <exception/> elements.
20         * Test/DocTest-v1.cs: Modify some methods so that exceptions are
21           emitted (thus testing <exception/> generation).
22         * Test/DocTest-v2.patch: Update (so patch(1) doesn't complain).
23         * Test/en.expected.importecmadoc/System/Array.xml,
24           Test/en.expected.importecmadoc/System/Environment.xml,
25           Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
26           Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
27           Test/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
28           Test/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
29           Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
30           Test/en.expected.importslashdoc/System/Array.xml,
31           Test/en.expected.importslashdoc/System/Environment.xml,
32           Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
33           Test/en.expected.since/Mono.DocTest/DocAttribute.xml,
34           Test/en.expected.since/Mono.DocTest/DocValueType.xml,
35           Test/en.expected.since/Mono.DocTest/UseLists.xml,
36           Test/en.expected.since/Mono.DocTest/Widget.xml,
37           Test/en.expected.since/System/Array.xml,
38           Test/en.expected.since/System/Environment.xml,
39           Test/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
40           Test/en.expected/Mono.DocTest/DocAttribute.xml,
41           Test/en.expected/Mono.DocTest/DocValueType.xml,
42           Test/en.expected/Mono.DocTest/UseLists.xml,
43           Test/en.expected/Mono.DocTest/Widget.xml,
44           Test/en.expected/System/Array.xml,
45           Test/en.expected/System/Environment.xml,
46           Test/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
47           Test/html.expected/Mono.DocTest/DocAttribute.html,
48           Test/html.expected/Mono.DocTest/DocValueType.html,
49           Test/html.expected/Mono.DocTest/UseLists.html,
50           Test/html.expected/Mono.DocTest/Widget.html,
51           Test/html.expected/System/Array.html,
52           Test/html.expected/System/Environment.html,
53           Test/msxdoc-expected.importslashdoc.xml: Flush; adds <exception/>
54           elements (and/or HTML-rendered output of <exception/> elements).
55
56 2008-11-19  Jonathan Pryor <jpryor@novell.com>
57
58         * Mono.Documentation/monodocer.cs: Add the assembly's directory to
59           Cecil's BaseAssemblyResolver search list so that assemblies in the
60           same directory as the assembly we're processing can be found.
61           Allows mono-tools/gendarme to be built with a Cecil-using mdoc.
62
63 2008-11-15  Jonathan Pryor <jpryor@novell.com>
64
65         * Mono.Documentation/monodocer.cs: Properties on interfaces shouldn't
66           have `abstract' on them.
67         * Test/DocTest-v1.cs: Add a property to an interface to check above.
68         * Test/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
69           Test/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
70           Test/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
71           Test/html.expected/Mono.DocTest/Widget+IMenuItem.html,
72           Test/msxdoc-expected.importslashdoc.xml: Flush.
73
74 2008-11-15  Jonathan Pryor <jpryor@novell.com>
75
76         * Mono.Documentation/monodocer.cs: Fix regressions found from 
77           `make doc-update` in corlib:
78           - Ensure that custom attributes are sorted (they weren't before,
79             resulting in spurious differences between Reflection & Cecil
80             output).
81           - CecilExtensions.GetMethod() should return null if the method can't
82             be found.
83           - DocUtils.IsDelegate() should ensure that the delegate type isn't
84             abstract (otherwise it dies on System.MulticastDelegate, which is
85             an abstract type lacking an "Invoke" method).
86           - Properly count generic argument counts for nested types (fixes IOE
87             from S.C.G.Dictionary`2.KeyCollection.Enumerator).
88         * Test/DocTest-v1.cs: Add doubly-nested class under a generic class to
89           simulate S.C.G.Dictionary`2.KeyCollection.Enumerator behavior.
90         * Test/en.expected.importslashdoc/index.xml,
91           Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml,
92           Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml,
93           Test/en.expected.since/index.xml,
94           Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml,
95           Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml,
96           Test/en.expected/index.xml,
97           Test/en.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml,
98           Test/en.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml,
99           Test/html.expected/index.html,
100           Test/html.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.html,
101           Test/html.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection.html,
102           Test/html.expected/Mono.DocTest.Generic/index.html,
103           Test/msxdoc-expected.importslashdoc.xml: Flush (new types/changes
104           from DocTest-v1.cs changes).
105
106
107 2008-11-14  Jb Evain  <jbevain@novell.com>
108
109         * Makefile: Use Mono.Cecil from class/lib/net_1_1, not net_2_0.
110
111 2008-11-14  Jonathan Pryor <jpryor@novell.com>
112
113         * Makefile: Don't build monodocer1.exe, and add Mono.Cecil.dll to the 
114           list of assembly references for mdoc.exe.
115         * Mono.Documentation/monodocer.cs: Migrate from System.Reflection to
116           Mono.Cecil.  This was done for two reasons:
117           1. mscorlib.dll: Reflection can load only one mscorlib.dll into an
118              AppDomain, which must be the same mscorlib.dll as the runtime
119              version.  Thus, in order to run monodocer on mscorlib.dll v1.1,
120              monodocer must be a .NET 1.1 application, and to document
121              mscorlib.dll v2.0, monodocer must be a .net 2.0 app.
122           1.a I don't think it's feasable to drop support for 
123              mscorlib.dll v1.1.
124           1.b This has been previously handled (so far) with conditional 
125              compilation, but the conditional compilation is painful to
126              maintain, and prevents use of LINQ in ongoing development.
127           1.c .NET 4.0 will be coming out "soon" (within 2 years?), and it's
128              possible that mono will maintain the same limitation, thus
129              necessitating having *three* different monodocer programs to
130              document mscorlib.dll for v1.1, v2.0, and v4.0.  Yech.
131           2. Future directions: It would be nice to parse method/property IL
132              bodies to determine which exceptions can be generated, thus
133              generating <exception cref="..."/> stubs.  Even with empty stubs,
134              I belive this would be useful within e.g. MonoDevelop to know
135              which exceptions a method is able to generate.
136              This cannot be done (at present) with System.Reflection, and
137              would require Mono.Cecil.
138           Downsides: mdoc now depends upon Mono.Cecil, which is API-unstable.
139           This will likely also complicate execution under .NET, as Mono.Cecil
140           would need to be XCOPY deployed into mdoc.exe's directory.
141         * Test/DocTest-v1.cs: Add additional tests for Custom Attribute
142           generation.
143         * Test/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml,
144           Test/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
145           Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
146           Test/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml,
147           Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
148           Test/en.expected.since/Mono.DocTest.Generic/Func`2.xml,
149           Test/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
150           Test/en.expected.since/Mono.DocTest/DocAttribute.xml,
151           Test/en.expected.since/Mono.DocTest/Widget+Direction.xml,
152           Test/en.expected.since/Mono.DocTest/Widget.xml,
153           Test/en.expected/Mono.DocTest.Generic/Func`2.xml,
154           Test/en.expected/Mono.DocTest.Generic/MyList`2.xml,
155           Test/en.expected/Mono.DocTest/DocAttribute.xml,
156           Test/en.expected/Mono.DocTest/Widget+Direction.xml,
157           Test/en.expected/Mono.DocTest/Widget.xml,
158           Test/html.expected/Mono.DocTest.Generic/Func`2.html,
159           Test/html.expected/Mono.DocTest.Generic/MyList`2.html,
160           Test/html.expected/Mono.DocTest/DocAttribute.html,
161           Test/html.expected/Mono.DocTest/Widget+Direction.html,
162           Test/html.expected/Mono.DocTest/Widget.html,
163           Test/msxdoc-expected.importslashdoc.xml: Flush -- updated output due
164           to new custom attributes, better implemented interface detection --
165           care of the Mono.Cecil migration -- etc.
166
167 2008-11-13  Jonathan Pryor <jpryor@novell.com>
168
169         * Test/html.expected/**: Update 
170           //meta[@http-equiv='Content-Type']/@content attribute value (changed
171           due to yesterday's defaulttemplate.xsl fix).
172
173 2008-11-12  Jonathan Pryor <jpryor@novell.com>
174
175         * Resources/defaulttemplate.xsl: Update /html/head/meta/@content value
176           so that IE7 properly recognizes the file as UTF-8 encoded.
177           Fixes #444009.
178
179 2008-10-27  Jonathan Pryor <jpryor@novell.com>
180
181         * Makefile: Fix build error caused by filenames containing '`'.
182
183 2008-10-27  Jonathan Pryor <jpryor@novell.com>
184
185         * Mono.Documentation/mdoc.cs: TraceLevel.Error messages should go to
186           Console.Error, as per Unix convention.
187         * Makefile: cehck-mdoc-validate* needs to also capture standard error.
188
189 2008-10-27  Jonathan Pryor <jpryor@novell.com>
190
191         * Mono.Documentation/validate.cs: Remove warnings
192         * Test/validate.check.monodocer, Test/validate.check.monodocer.since:
193           Don't generate output if no errors are found.
194         * Test/validate.check.monodocer.importslashdoc: Prefix error messages
195           with "mdoc:", as per Unix convention.
196
197 2008-10-24  Jonathan Pryor <jpryor@novell.com>
198
199         * Makefile: Fixup mdoc.exe dependencies so that it's rebuilt if the
200           resources or monodoc.dll change.  Add tests for mdoc-validate.
201         * Mono.Documentation/assembler.cs, Mono.Documentation/mdoc.cs,
202           Mono.Documentation/monodocer.cs, Mono.Documentation/monodocs2html.cs,
203           Mono.Documentation/monodocs2slashdoc.cs,
204           Mono.Documentation/validate.cs: 
205           - Major rearchitecture; instead of having the option parsing 
206             centralized within mdoc.cs, keep option parsing within the relevant 
207             files/types.
208           - Introduce the MDocCommand abstract class to serve as the base class 
209             -- primarily done to introduce the new Message() and Error() 
210             methods, in which Message() will only show the message if the 
211             current message level is >= the message's level (thus minimizing 
212             console spew); see ../monodoc for more details.
213           - Add `-v' ("verbose") top-level argument to allow setting/adding 
214             levels, so that `mdoc -v -v assemble ...` will show *all*
215             assemble-associated messages (which can be quite voluminous).
216           - Remove compiler warnings, when able.
217         * Mono.Documentation/XhtmlWriter.cs: Remove warning about unused
218           variable.
219         * Resources/monodoc-ecma.xsd: Extend the XSD to support more
220           elements/attributes on various elements -- e.g. mdoc-update looks
221           for a //code/@src attribute, which wasn't defined in the XSD.  Oops.
222         * Test/validate.check.monodocer.importslashdoc: Flush (due to above
223           XSD changes).
224
225 2008-10-22  Jonathan Pryor <jpryor@novell.com>
226
227         * Makefile: Correct path names.
228         * Mono.Documentation/monodocer.cs: Better support nested types.
229         * Test/DocTest-v1.cs: Add 4 levels of nested types.
230         * Test/en.expected.importslashdoc/index.xml,
231           Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
232           Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml,
233           Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double+Triple.xml,
234           Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double.xml,
235           Test/en.expected.since/index.xml,
236           Test/en.expected.since/Mono.DocTest/Widget.xml,
237           Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml,
238           Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double+Triple.xml,
239           Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double.xml,
240           Test/en.expected/index.xml,
241           Test/en.expected/Mono.DocTest/Widget.xml,
242           Test/en.expected/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml,
243           Test/en.expected/Mono.DocTest/Widget+NestedClass+Double+Triple.xml,
244           Test/en.expected/Mono.DocTest/Widget+NestedClass+Double.xml,
245           Test/html.expected/index.html,
246           Test/html.expected/Mono.DocTest/index.html,
247           Test/html.expected/Mono.DocTest/Widget.html,
248           Test/html.expected/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.html,
249           Test/html.expected/Mono.DocTest/Widget+NestedClass+Double+Triple.html,
250           Test/html.expected/Mono.DocTest/Widget+NestedClass+Double.html,
251           Test/msxdoc-expected.importslashdoc.xml: Flush.
252
253 2008-10-17  Jonathan Pryor <jpryor@novell.com>
254
255         * Makefile: Reference the monodoc.dll from the net_1_1 profile, as 
256           that's the only one that will get built.
257
258 2008-10-17  Jonathan Pryor <jpryor@novell.com>
259
260         * Makefile: Fix $(EXTRA_DISTFILES) so that `make distcheck` doesn't
261           fail on mdoc anymore...
262
263 2008-10-18  Raja R Harinath  <harinath@hurrynot.org>
264
265         * Makefile (MCS1): Use 'class/lib/net_1_1', not 'class/lib/1.0'.
266
267 2008-10-17  Jonathan Pryor <jpryor@novell.com>
268
269         * Mono.Documentation/monodocer.cs: -overrides & -pretty should default 
270           to true.  (Not a major change, as mdoc.exe already did this, so it
271           really only impacts monodocer1.exe, which is internal...)
272
273 2008-10-17  Jonathan Pryor <jpryor@novell.com>
274
275         * Mono.Documentation/monodocer.cs: Only provide a Main() method and
276           use Mono.GetOptions when targeting .NET 1.0 (i.e. monodocer1.exe).
277
278 2008-10-16  Jonathan Pryor <jpryor@novell.com>
279
280 Migration from monodoc/tools to mcs/tools/mdoc...
281
282         * . (svn:ignore), Test (svn:ignore): Ignore generated files.
283         * assembler.cs, mdoc.cs, monodocer.cs, monodocs2html.cs,
284           monodocs2slashdoc.cs, normalize.cs, validate.cs, XhtmlWriter.cs:
285           Move to Mono.Documentation.
286         * defaulttemplate.xsl, overview.xsl, stylesheet.xsl: Moved to
287           Resources.
288         * DocTest: Moved to Test.
289         * DocTest-v1.cs, DocTest-v2.patch, TestEcmaDocs.xml: Moved to Test.
290         * mdoc.exe.sources: Added; mcs include file to build mdoc.exe.
291         * Makefile: Added; build mdoc.exe, monodocer1.exe, and unit tests for
292           mdoc.exe
293         * Mono.Documentation/assembler.cs, Mono.Documentation/normalize.cs,
294           Mono.Documentation/mdoc.cs, Mono.Documentation/monodocs2slashdoc.cs,
295           Mono.Documentation/monodocs2html.cs, Mono.Documentation/validate.cs:
296           Modify command line handling to remove Mono.GetOptions dependency.
297         * Test/DocTest-v1.cs: Update //code/@src attribute due to changed paths.
298         * Test/msxdoc-expected.importslashdoc.xml,
299         * Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml: Flush 
300           due to above DocTest-v1.cs change.
301
302 2008-10-16  Jonathan Pryor <jpryor@novell.com>
303
304         * monodocer.cs: Fixup sorting of explicitly-implement generic members.  
305           This keeps members from "bouncing around" in random orders when
306           updating documentation...
307         * DocTest-v1.cs: Explicitly implement some generic interface members on
308           MyList<A,B> to provoke the bug fixed above.
309           Dictionary<K,V>.ValueCollection in mscorlib was the original
310           example.
311         * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
312           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
313           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
314           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
315           DocTest/msxdoc-expected.importslashdoc.xml: Flush.
316
317 2008-10-15  Jonathan Pryor <jpryor@novell.com>
318
319         * monodocer.cs: Ignore some attributes, because they're ~meaningless
320           for documentation purposes (e.g. who cares if we need attributes to
321           represent decimal constants, or that a method shouldn't be stepped
322           into with the debugger, or...).
323         * DocTest/en.expected/index.xml,
324         * DocTest/en.expected/Mono.DocTest/Widget.xml,
325         * DocTest/en.expected/Mono.DocTest.Generic/Extensions.xml,
326         * DocTest/en.expected.since/index.xml,
327         * DocTest/en.expected.since/Mono.DocTest/Widget.xml,
328         * DocTest/en.expected.since/Mono.DocTest.Generic/Extensions.xml,
329         * DocTest/html.expected/Mono.DocTest/Widget.html,
330         * DocTest/html.expected/Mono.DocTest.Generic/Extensions.html,
331         * DocTest/en.expected.importslashdoc/index.xml,
332         * DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
333         * DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Extensions.xml:
334           Flush.
335
336 2008-10-05  Jonathan Pryor <jpryor@novell.com>
337
338         * monodocer.cs: When sorting <Member/> elements elements, take generic
339           type parameters into account, so that methods with the same number
340           of type parameters are sorted together, instead of strewn across the
341           file according to the full //Member/@MemberName comparison.
342         * DocTest/**: Flush (and wtf is with the [DebuggerHidden] appearance?).
343
344 2008-09-19  Jonathan Pryor <jpryor@novell.com>
345
346         * DocTest-v1.cs: Add a member with a "deeply nested" generic parameter
347           list, so test the mdoc-html-utils.xsl fix.
348         * DocTest/msxdoc-expected.importslashdoc.xml,
349           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
350           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
351           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
352           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush.
353
354 2008-09-16  Jonathan Pryor <jpryor@novell.com>
355
356         * monodocer.cs: FieldInfo.GetValue() may throw, particularly if getting 
357           the value of a public+static+readonly field, and the constructor for 
358           the type of said field throws an exception (though DocTest-v1.cs has
359           a similar scenario).  This is bad, as it prevents monodocer from
360           completing its work.  Found by Dan Morgan.
361         * DocTest-v1.cs: Create a `public static readonly` field that will
362           generate an exception from the class constructor.
363         * DocTest/en.expected/Mono.DocTest/Widget.xml,
364           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
365           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
366           DocTest/html.expected/Mono.DocTest/Widget.html,
367           DocTest/msxdoc-expected.importslashdoc.xml: Flush.
368
369 2008-09-16  Jonathan Pryor <jpryor@novell.com>
370
371         * monodocer.cs: Allow #region/#endregion parsing to cope with blank lines.
372
373 2008-09-15  Jonathan Pryor <jpryor@novell.com>
374
375         * monodocer.cs: Strip off leading whitespace up to the indent level that
376           #region was found.  This allows controlling how much leading whitespace is
377           preserved within the documentation (as too much whitespace will cause the
378           code to be indented significantly when rendered to e.g. html).
379         * DocTest-v1.cs: Indent the #region, to test the above.
380         * DocTest/msxdoc-expected.importslashdoc.xml,
381           DocTest/html.expected/Mono.DocTest/DocAttribute.html,
382           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml:
383           Flush.
384
385 2008-09-15  Jonathan Pryor <jpryor@novell.com>
386
387         * monodocer.cs: Allow //code/@src to include an anchor, in which the 
388           anchor specifies a #region to include, instead of including the
389           entire document.  This is currently limited to C# code.  For example,
390           `<code lang="C#" src="foo.cs#Text"/>` would look insert all text
391           between `#region Text` and `#endregion` within foo.cs.
392         * DocTest-v1.cs: Add a #region, <code/> block to test the above.
393         * DocTest/msxdoc-expected.importslashdoc.xml,
394           DocTest/html.expected/Mono.DocTest/DocAttribute.html,
395           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml:
396           Flush.
397
398 2008-09-11  Jonathan Pryor <jpryor@novell.com>
399
400         * stylesheet.xsl: Post-process $cref so that we can use "nice" 
401           //see/@cref strings that can actually refer to the right member.
402           For example, `<see cref="P:Foo.Bar{T}.Baz"/>` is needed to get a
403           nicely rendered "Foo.Bar<T>.Baz" link text, but previously it
404           wouldn't link to anything -- you'd need 
405           `<see cref="P:Foo.Bar`1.Baz"/>` to get a functioning link for HTML
406           output.  This now works.
407
408 2008-09-04  Jonathan Pryor <jpryor@novell.com>
409
410         * monodocer.cs: You can't use FieldInfo.GetValue() on generic types.
411         * DocTestv1.cs: Add checks for static fields on generic types.
412         * DocTest/**: Flush.
413
414 2008-09-04  Jonathan Pryor <jpryor@novell.com>
415
416         * monodocer.cs: Clear out existing <value/> elements when import XML
417           documentation which also contains a <value/> element.  (This keeps us from
418           getting multiple duplicate <value/> elements every time we update while
419           importing.)
420
421 2008-08-31  Jonathan Pryor <jpryor@novell.com>
422
423         * DocTest-v1.cs: Update XML doc comment to mention correct cref.
424         * monodocer.cs: Further fixup XML documentation import and import the actual
425           *contents* of the <exception/> element (oops).  Add support for importing
426           XML documentation for explicitly implemented interface members (CSC-style,
427           not gmcs-style).
428
429 2008-08-27  Jonathan Pryor <jpryor@novell.com>
430
431         * monodocer.cs: Fixup XML documentation import to be more consistent with
432           ECMA XML import.  In particular, this fixes <exception/> import so that
433           the same element isn't imported multiple times, leading to duplicate
434           <exception/> elements the more often monodocer is run.
435         * DocTest/msxdoc-expected.importslashdoc.xml,
436           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush.
437           Changes order of imported XML to reflect the original element order.
438
439 2008-08-11  Jonathan Pryor <jpryor@novell.com>
440
441         * monodocer.cs: Build fix (gmcs doesn't like using-alias-directives to
442           private nested types anymore).
443
444 2008-05-06  Wade Berrier  <wberrier@novell.com>
445
446         * Makefile.am: Add Options.cs to EXTRA_DIST
447
448 2008-04-22  Jonathan Pryor <jpryor@novell.com>
449
450         * DocTest/en.expected/Mono.DocTest.Generic/Func`2.xml,
451           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml,
452           DocTest/en.expected.since/Mono.DocTest.Generic/Func`2.xml,
453           DocTest/html.expected/Mono.DocTest.Generic/Func`2.html: Flush: n377596 
454           got fixed, so we can now retrieve custom attributes on all generic type
455           parameters.
456
457 2008-04-15  Jonathan Pryor <jpryor@novell.com>
458
459         * . (svn:ignore): ignore generated files.
460         * Makefile.am: Add XmlDocUtils.cs to the build.  Add unit tests for
461           monodocs2slashdoc; other monodocs2slashdoc changes.
462         * mdoc.cs: Update the arguments accepted by monodocs2slashdoc.
463         * monodocs2slashdoc.cs: Move DocUtils class into ../engine/XmlDocUtils.cs.
464           Add support for a -o parameter which contains all output (if specified).
465         * monodocer.cs:
466           - Add special support for extension methods -- index.xml now contains an
467             /Overview/ExtensionMethods element which contains ExtensionMethod
468             elements for all extension methods within all assemblies processed.
469           - The <ExtensionMethod/> element contains a subset of the <Member/> of the
470             actual extension method (and thus will contain a useful subset of the
471             documentation the source <Member/> contains), along with a <Targets/>
472             element describing all types the extension method applies to.
473           - Consequently, if you edit the documentation of your extension method,
474             you need to re-run monodocer to get the newly written documentation
475             inserted into index.xml.
476           - //Parameter/@RefType is "overloaded" to contain the "this" modifier of
477             extension methods (as this was easiest within mdoc-html-utils.xsl).
478           - Within CSharpMemberFormatter, insert generic type constraints for 
479             methods.  (Previously constraints were only done on types due to an
480             oversight.)
481         * monodocs2html.cs: Before rendering documentation via the XSLT, insert any
482           extension methods applicable to the type so that the extension methods
483           will be displayed.
484         * DocTest-v1.cs: Add a class providing extension methods.
485         * stylesheet.xsl: Extension methods shouldn't be documented within the type,
486           just declared (and linked to the actual type's documentation).
487         * DocTest/msxdoc-expected.importslashdoc.xml: Added; expected output for
488           monodocs2slashdoc unit test.
489         * DocTest/en.expected/index.xml, 
490           DocTest/en.expected/Mono.DocTest/UseLists.xml, 
491           DocTest/en.expected/Mono.DocTest.Generic/Extensions.xml, 
492           DocTest/en.expected/Mono.DocTest.Generic/Func`2.xml, 
493           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml, 
494           DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml, 
495           DocTest/en.expected.since/index.xml, 
496           DocTest/en.expected.since/Mono.DocTest/UseLists.xml, 
497           DocTest/en.expected.since/Mono.DocTest.Generic/Extensions.xml, 
498           DocTest/en.expected.since/Mono.DocTest.Generic/Func`2.xml, 
499           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml, 
500           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml, 
501           DocTest/en.expected.importslashdoc/index.xml, 
502           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, 
503           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Extensions.xml, 
504           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml, 
505           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml, 
506           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml, 
507           DocTest/html.expected/index.html, 
508           DocTest/html.expected/NoNamespace.html, 
509           DocTest/html.expected/Mono.DocTest/DocAttribute.html, 
510           DocTest/html.expected/Mono.DocTest/DocValueType.html, 
511           DocTest/html.expected/Mono.DocTest/IProcess.html, 
512           DocTest/html.expected/Mono.DocTest/UseLists.html, 
513           DocTest/html.expected/Mono.DocTest/Widget.html, 
514           DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html, 
515           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html, 
516           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html, 
517           DocTest/html.expected/Mono.DocTest.Generic/index.html, 
518           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html, 
519           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.html, 
520           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html, 
521           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html, 
522           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html, 
523           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, 
524           DocTest/html.expected/System/Array.html: Flush; also contains additional
525           <Attributes/> elements on generic type parameters due to a mono fix.
526
527 2008-04-09  Jonathan Pryor <jpryor@novell.com>
528
529         * DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html: Fix the
530           System.EventHandler link.
531
532 2008-04-08  Jonathan Pryor <jpryor@novell.com>
533
534         * DocTest-v1.cs: Add more attributes, generic constraints to further test
535           monodocer.
536         * Makefile.am: Add check-md-html-dir target to help with testing
537           monodocs2html w/o re-generating the DocTest/en.actual directory.
538         * monodocer.cs: Lots of changes:
539           - Format change: /Type/TypeParameters/TypeParameter doesn't store the type 
540             parameter name as it's value (e.g.  <TypeParameter>A</TypeParameter>), 
541             but instead stores the name as an attribute (e.g. 
542             <TypeParameter Name="A" />).  This was done as Generic Arguments can
543             contain both constraints and attributes which were previously
544             unrecorded. 
545           - Record constraints under a //TypeParameter/Constraints element, and 
546             attributes under a //TypeParameter/Attributes element.
547           - Generic arguments for methods are now recorded in a
548             /Type/Members/Member/TypeParameters element, with the same schema as
549             type-level arguments.
550           - Properly insert the [return:...] attributes on delegates.
551           - Modify CSharpFullMemberFormatter to generate generic argument
552             constraints on type and member signatures.
553           - Note: attributes are currently not inserted due to n#322399.
554         * stylesheet.xsl: Properly escape generic type names so that all anchors
555           are modeled after ECMA-334 CREFs, e.g. T:Foo.Bar`1, not T:Foo.Bar<T>.
556         * DocTest/en.expected/index.xml,
557           DocTest/en.expected/Mono.DocTest/UseLists.xml,
558           DocTest/en.expected/Mono.DocTest/Widget.xml,
559           DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
560           DocTest/en.expected/Mono.DocTest.Generic/Func`2.xml,
561           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
562           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
563           DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
564           DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
565           DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
566           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
567           DocTest/en.expected/System/Action`1.xml,
568           DocTest/en.expected/System/Array.xml,
569           DocTest/en.expected.since/index.xml,
570           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
571           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
572           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
573           DocTest/en.expected.since/Mono.DocTest.Generic/Func`2.xml,
574           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
575           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
576           DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
577           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
578           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
579           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
580           DocTest/en.expected.since/System/Action`1.xml,
581           DocTest/en.expected.since/System/Array.xml,
582           DocTest/en.expected.importecmadoc/System/Action`1.xml,
583           DocTest/en.expected.importecmadoc/System/Array.xml,
584           DocTest/en.expected.importslashdoc/System/Array.xml,
585           DocTest/en.expected.importslashdoc/System/Action`1.xml,
586           DocTest/en.expected.importslashdoc/index.xml,
587           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
588           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
589           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
590           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
591           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
592           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml,
593           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
594           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
595           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
596           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
597           DocTest/html.expected/index.html,
598           DocTest/html.expected/Mono.DocTest/Widget.html,
599           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
600           DocTest/html.expected/Mono.DocTest/UseLists.html,
601           DocTest/html.expected/Mono.DocTest.Generic/index.html,
602           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
603           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.html,
604           DocTest/html.expected/Mono.DocTest.Generic/Func`2.html,
605           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
606           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
607           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
608           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
609           DocTest/html.expected/System/Action`1.html,
610           DocTest/html.expected/System/Array.html: Flush.
611
612 2008-04-04  Jonathan Pryor <jpryor@novell.com>
613
614         * DocTest-v1.cs: Add nested generic type for testing.
615         * DocTest/en.expected/index.xml,
616           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
617           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
618           DocTest/en.expected.importslashdoc/index.xml,
619           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
620           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
621           DocTest/en.expected.since/index.xml,
622           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
623           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
624           DocTest/html.expected/index.html,
625           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.html,
626           DocTest/html.expected/Mono.DocTest.Generic/index.html,
627           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html: Flush.
628
629 2008-03-31  Jonathan Pryor <jpryor@novell.com>
630
631         * DocTest-v1.cs: Add a member returning an IEnumerator<int[]> to test n375291.
632         * DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
633           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
634           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
635           DocTest/html.expected/Mono.DocTest/Widget.html,
636           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html: Flush.
637
638 2008-03-26  Jonathan Pryor <jpryor@novell.com>
639
640         * DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush due to 
641           ../engine/mdoc-html-utils.xsl changes with migration of explicitly
642           implemented interface members to a separate section.
643
644 2008-03-26  Jonathan Pryor <jpryor@novell.com>
645
646         * DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
647           DocTest/html.expected/Mono.DocTest/UseLists.html: Flush due to
648           ../engine/mdoc-html-utils.xsl changes with s/System.Collections.Generic//.
649
650
651 2008-03-26  Jonathan Pryor <jpryor@novell.com>
652
653         * Makefile.am: Import docs for System.Action<T>.
654         * DocTest-v1.cs: Add System.Action<T> to test generic type importing.
655         * monodocer.cs: Misc. fixes:
656           - Properly lookup generic types when importing ECMA docs, so that e.g.
657             System.Collections.Generic.List<T> docs can be imported.
658           - Fix member duplicate checking so that we don't get an exception due to
659             seenmembers.Add(sig, "") for duplicate sigs.
660           - Fix UpdateParameters() to handle updating <param/> nodes on delegates.
661         * TestEcmaDocs.xml: Add docs for System.Action<T>.
662         * DocTest/en.expected/index.xml, DocTest/en.expected/System/Action`1.xml,
663           DocTest/en.expected.importecmadoc/System/Action`1.xml,
664           DocTest/en.expected.importslashdoc/index.xml,
665           DocTest/en.expected.importslashdoc/System/Action`1.xml,
666           DocTest/en.expected.since/index.xml,
667           DocTest/en.expected.since/System/Action`1.xml,
668           DocTest/html.expected/index.html, DocTest/html.expected/System/index.html,
669           DocTest/html.expected/System/Action`1.html: Flush.
670
671 2008-03-25  Jonathan Pryor <jpryor@novell.com>
672
673         * stylesheet.xsl: Implement CreateEditLink() for mdoc-html-utils.xsl.
674
675 2008-03-24  Jonathan Pryor <jpryor@novell.com>
676
677         * stylesheet.xsl: Implement CreateExpandedToggle() for
678           mdoc-sections-css.xsl.
679
680 2008-03-24  Jonathan Pryor <jpryor@novell.com>
681
682         * DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush due to
683           changes in ID string generation in ../engine/mdoc-html-utils.xsl.
684
685 2008-03-17  Jonathan Pryor <jpryor@novell.com>
686
687         * monodocer.cs: Modify index.xml so that there's a //Type/@Kind attribute.
688           This allows mkestner's doc engine to display the tree view (e.g. "Foo
689           Class") w/o loading the underlying Foo.xml file, improving start time.
690         * DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml,
691           DocTest/en.expected.importslashdoc/index.xml: Flush.
692
693 2008-03-15  Jonathan Pryor <jpryor@novell.com>
694
695         * monodocs2html.cs: Fix DumpTemplate() -- sending the output through an
696           intermediate XmlDocument seems to "corrupt" the file, such that any user
697           of the dumped file will get errors such as "Could not resolve named
698           template create-default-style."
699
700 2008-03-15  Jonathan Pryor <jpryor@novell.com>
701
702         * defaulttemplate.xsl: Cleanup (add/remove CSS properties, etc.).
703         * Makefile.am: monodocs2html needs to pull in resources from ../engine.
704         * monodocs2html.cs: Use ManifestResourceResolver so that .xsl files embedded
705           within the monodocs2html.exe assembly can refer to each other; use
706           XhtmlWriter so that certain XHTML elements are "closed", e.g. <br/>
707           instead of <br></br>.
708         * XhtmlWriter.cs: Added; XmlWriter subclass which generates nicer XHTML.
709         * stylesheet.xsl: *Major* refactor to share XSLT code with ../engine.
710         * DocTest/html.expected/index.html, DocTest/html.expected/NoNamespace.html,
711           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
712           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
713           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
714           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
715           DocTest/html.expected/Mono.DocTest.Generic/index.html,
716           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
717           DocTest/html.expected/Mono.DocTest/Color.html,
718           DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
719           DocTest/html.expected/Mono.DocTest/Widget.html,
720           DocTest/html.expected/Mono.DocTest/Widget+Del.html,
721           DocTest/html.expected/Mono.DocTest/DocValueType.html,
722           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
723           DocTest/html.expected/Mono.DocTest/IProcess.html,
724           DocTest/html.expected/Mono.DocTest/index.html,
725           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
726           DocTest/html.expected/Mono.DocTest/DocAttribute.html,
727           DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
728           DocTest/html.expected/Mono.DocTest/UseLists.html,
729           DocTest/html.expected/System/Environment+SpecialFolder.html,
730           DocTest/html.expected/System/Array.html,
731           DocTest/html.expected/System/Environment.html,
732           DocTest/html.expected/System/index.html,
733           DocTest/html.expected/System/AsyncCallback.html: Flush.
734
735 2008-03-07  Jonathan Pryor <jpryor@novell.com>
736
737         * mdoc.cs: Rename export-slashdoc command to export-msxdoc.  Add a space
738           between the `usage:' and command description to ease reading.
739
740 2008-03-07  Jonathan Pryor <jpryor@novell.com>
741
742         * monodocs2slashdoc.cs: Update to cope with .NET 2.0 generics.
743         * DocTest-v1.cs: Fix CREF comments.
744         * DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml, 
745           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
746           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
747           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html: Flush
748           due to above CREF changes.
749
750 2008-03-06  Joshua Tauberer <jit@occams.info>
751
752         * monodocer.cs: Use Path.Combine in a few places.
753
754 2008-03-03  Jonathan Pryor <jpryor@novell.com>
755
756         * Makefile.am: Test the new -import: monodocer option.
757         * mdoc.cs: Make --import take only one parameter, the file to import.
758         * monodocer.cs: Add a new -import option which auto-detects the XML format
759           so that mdoc (and the user) doesn't need to care about file formats.
760         * Options.cs: Flush (fixes "<>" error when parsing 2-value "i|import").
761
762 2008-02-29  Jonathan Pryor <jpryor@novell.com>
763
764         * Makefile.am: Use mcs1 to build monodocer1.exe (as mcs now targets the 2.0
765           profile by default).
766
767 2008-02-29  Jonathan Pryor <jpryor@novell.com>
768
769         * Makefile.am: Corrections to pass distcheck.
770
771 2008-02-27  Jonathan Pryor <jpryor@novell.com>
772
773         * mdoc.cs: `mdoc assemble` should default to the "ecma" format, as that's
774           what most of the other mdoc tools produce & consume.
775
776 2008-02-26  Jonathan Pryor <jpryor@novell.com>
777
778         * mdoc.cs: Allow multiple formats to be specified on the `mdoc assemble`
779           command line; directories use the last specified format.  This allows more
780           than one format to be specified at once, e.g.
781           `mdoc assemble -o foo --format=ecma A B --format=error C D`.
782         * Options.cs: Update to permit the above "argument run" parsing behavior.
783
784 2008-02-24  Jonathan Pryor <jpryor@novell.com>
785
786         * mdoc.cs: Remove array index out of bound exception in ExportHtml; remove
787           debug messages.
788         * defaulttemplate.xsl: s/<tab>/  /; add create-default-collection-title,
789           create-default-title, create-default-summary, create-default-signature,
790           create-default-remarks, create-default-members named templates (for use by
791           importing XSLT files).
792         * DocTest/html.expected/**/*.html: Flush (whitespace changes).
793
794 2008-02-21  Jonathan Pryor <jpryor@novell.com>
795
796         * Makefile.am: Add mdoc.exe to the build.
797         * monodocer.cs: Place into the Mono.Documentation namespace; 
798           rename Stub to Updater.
799         * monodocs2slashdoc.cs: Place into the Mono.Documentation namespace; allow
800           it to convert multiple directories.
801         * mdoc.cs: Added; a unifying front-end to the various monodoc-related
802           utilities such as monodocer, monodocs2html, mdassembler, etc.
803         * Options.cs: An option parser; DO NOT EDIT; instead, see NDesk.Options at
804           http://www.ndesk.org/Options.
805
806 2008-02-19  Jonathan Pryor <jpryor@novell.com>
807
808         * defaulttemplate.xsl: Insert id attributes so that an "index" can be added;
809           Add a small "index" to the top of the page to simplify navigation -- 
810           useful when there are lots of docs that make the "Members" section 
811           difficult to otherwise find.  Add a http-equiv Content-Type, so that the 
812           charset is set to UTF-8.
813         * stylesheet.xsl: Don't use generate-id(), as the result includes the full
814           path of the input file, which breaks unit tests if run on a different
815           machine (and everyone runs the unit tests, right?).  Add id attributes so
816           that defaulttemplate.xsl can create an index.
817         * DocTest/html.expected/System/Environment+SpecialFolder.html,
818           DocTest/html.expected/System/Array.html,
819           DocTest/html.expected/System/Environment.html,
820           DocTest/html.expected/System/index.html,
821           DocTest/html.expected/System/AsyncCallback.html,
822           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
823           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
824           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
825           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
826           DocTest/html.expected/Mono.DocTest.Generic/index.html,
827           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
828           DocTest/html.expected/index.html,
829           DocTest/html.expected/Mono.DocTest/Color.html,
830           DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
831           DocTest/html.expected/Mono.DocTest/Widget.html,
832           DocTest/html.expected/Mono.DocTest/Widget+Del.html,
833           DocTest/html.expected/Mono.DocTest/DocValueType.html,
834           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
835           DocTest/html.expected/Mono.DocTest/IProcess.html,
836           DocTest/html.expected/Mono.DocTest/index.html,
837           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
838           DocTest/html.expected/Mono.DocTest/DocAttribute.html,
839           DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
840           DocTest/html.expected/Mono.DocTest/UseLists.html,
841           DocTest/html.expected/NoNamespace.html: Flush.
842
843 2008-02-15  Jonathan Pryor <jpryor@novell.com>
844
845         * defaulttemplate.xsl: Move the <style/> and (new) <script/> into named
846           templates so that this file can be <xsl:import/>d and the named templates
847           invoked without clobbering the importing document; add toggle_display()
848           JavaScript function for some bling.  Modify CSS so things look nicer.
849         * stylesheet.xsl: Make monodocs2html output not suck (as badly):
850           - Allow *all* headers to also act as show/hide toggles, so that e.g.
851             Remarks, Examples, Parameters, etc. can be hidden.
852           - Move the summary information above the member prototype (consistent 
853             with MSDN, and I think it looks nicer).
854           - Provide an `id' attribute for enumeration members, so that 
855             <see cref="F:..." /> will work reasonably.
856           - Allow the <pre/> blocks to use the `prettyprint.js' file (used by
857             monologue for syntax coloring) -- requires setting the <pre/> class to
858             e.g. code-csharp for C# coloring.
859         * DocTest/html.expected/System/Environment+SpecialFolder.html,
860           DocTest/html.expected/System/Array.html,
861           DocTest/html.expected/System/Environment.html,
862           DocTest/html.expected/System/index.html,
863           DocTest/html.expected/System/AsyncCallback.html,
864           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
865           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
866           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
867           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
868           DocTest/html.expected/Mono.DocTest.Generic/index.html,
869           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
870           DocTest/html.expected/index.html,
871           DocTest/html.expected/Mono.DocTest/Color.html,
872           DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
873           DocTest/html.expected/Mono.DocTest/Widget.html,
874           DocTest/html.expected/Mono.DocTest/Widget+Del.html,
875           DocTest/html.expected/Mono.DocTest/DocValueType.html,
876           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
877           DocTest/html.expected/Mono.DocTest/IProcess.html,
878           DocTest/html.expected/Mono.DocTest/index.html,
879           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
880           DocTest/html.expected/Mono.DocTest/DocAttribute.html,
881           DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
882           DocTest/html.expected/Mono.DocTest/UseLists.html,
883           DocTest/html.expected/NoNamespace.html: Flush (lots of HTML changes due to
884           defaulttemplate.xsl and stylesheet.xsl changes).
885
886 2008-02-14  Jonathan Pryor <jpryor@novell.com>
887
888         * stylesheet.xsl: Support <typeparamref/>.
889
890 2008-02-13  Jonathan Pryor <jpryor@novell.com>
891
892         * DocTest-v1.cs: Add/fix doc comments; add a
893           Widget(Converter<string,string>) constructor for testing.
894         * stylesheet.xsl: Fix display issues:
895           - Generic types should have GetTypeDisplayName() on their constituent
896             parts, so System.Converter<System.String,System.String>
897             gets converted into the nicer Converter<string, string>.
898           - Generic types within method argument lists should be supported.
899           - Permit constructor references to contain arguments, so that 
900             "C:My.Full.Type(Type1,Type2)" actually works.
901           - Fix remote type references so 
902             <see cref="M:System.Collections.Generic.List{System.Int32}.Remove(`0)"/>
903             properly reference the remote uri 
904             System.Collections.Generic.List`1.Remove(`0).
905         * DocTest/en.expected/Mono.DocTest/Widget.xml,
906           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
907           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
908           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
909           DocTest/html.expected/System/Array.html,
910           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
911           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
912           DocTest/html.expected/Mono.DocTest/Widget.html,
913           DocTest/html.expected/Mono.DocTest/UseLists.html: Flush.
914
915 2008-02-08  Jonathan Pryor <jpryor@novell.com>
916
917         * stylesheet.xsl: Allow use of both <see cref="GenericType{A}" /> and 
918           <see cref="GenericType&lt;A&gt;" /> to be consistent wrt each other.
919           - Canonicalize generic types within link targets so that {} is used, as 
920             1. this is what the */@id code generates, so such links will actually 
921                work (as opposed to <>-using links, which will fail), and 
922             2. the {} links are shorter and easier to read due to less markup.
923           - Canonicalize generic types within link text to use <>, so e.g. 
924             <see cref="System.Action{`0}" /> is displayed as System.Action<`0>.
925             This also allows output to be consistent, no matter what the see/@cref
926             text uses.
927           - When creating links to go-mono.com, ensure that generic type names are 
928             of the form Type`N, not Type{...}, as go-mono.com doesn't generate 
929             useful output for the latter form of URL.
930         * DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush.
931
932 2008-01-06  Jonathan Pryor <jpryor@novell.com>
933
934         * monodocer.cs: Yet another "if you remove a node while traversing its
935           containing list, you skip elements" bug (in this case, if you had extra
936           <param/> elements for non-existant parameters, only the first extra
937           <param/> was removed, and the others were skipped).  Modify the messge
938           displayed for undeletable <param/> nodes to provide more contextual 
939           information.
940
941 2008-01-05  Jonathan Pryor <jpryor@novell.com>
942
943         * monodocer.cs: 
944           - Fix duplicate and removed member checking/handling, so that duplicate 
945             and removed members are properly warned about/removed (depending 
946             on MemberDocsHaveUserContent()).  
947           - Member sorting should take the return type into consideration, as I've 
948             seen some ../class/** members which change the return type between 
949             v1.0 and v2.0, causing the order of these members to "float" (as they 
950             previously had the same sort order).
951
952 2008-01-03  Jonathan Pryor <jpryor@novell.com>
953
954         * monodocer.cs: XmlNodeList doesn't appear to support removing nodes while
955           you're traversing the list.  (It doesn't complain, but it doesn't iterate
956           over all the nodes either if you do so.)  Don't do that.
957
958 2008-01-02  Jonathan Pryor <jpryor@novell.com>
959
960         * monodocer.cs: Don't generate files that contain characters that are
961           invalid on Win32 platforms.  These are frequently compiler-generated
962           types, e.g. '<>c__CompilerGenerated2+<>c__CompilerGenerated13', but are
963           occasionally public when they shouldn't be.  Fix the
964           UpdateAssemblyVersions() logic to return true IFF there are > 0
965           <AssemblyVersion/> elements.
966
967 2008-01-02  Jonathan Pryor <jpryor@novell.com>
968
969         * DocTest-v1.cs: Add a type to the root namespace.
970         * monodocer.cs: Permit types to exist in the root namespace.  This is needed
971           to properly document ../class/Npgsql, though I have no idea how `monodoc'
972           will actually display these types...
973         * overview.xsl: Support types within the root namespace.
974         * DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml, 
975           DocTest/en.expected.importslashdoc/index.xml, 
976           DocTest/html.expected/System/index.html, 
977           DocTest/html.expected/Mono.DocTest.Generic/index.html, 
978           DocTest/html.expected/index.html, 
979           DocTest/html.expected/Mono.DocTest/index.html: Flush.
980         * DocTest/en.expected/NoNamespace.xml, 
981           DocTest/en.expected/ns-.xml, 
982           DocTest/en.expected.importslashdoc/NoNamespace.xml, 
983           DocTest/en.expected.importslashdoc/ns-.xml, 
984           DocTest/en.expected.since/NoNamespace.xml, 
985           DocTest/en.expected.since/ns-.xml, 
986           DocTest/html.expected/NoNamespace.html: Added.
987
988 2008-01-02  Jonathan Pryor <jpryor@novell.com>
989
990         * monodocer.cs: 
991           - Write namespace files as 'ns-<Namespace>.xml', not '<Namespace>.xml', as 
992             the previous behavior would break monodoc checkout on Win32 (due to dir 
993             class/System.Security/en/System.Security.Cryptography.Xml vs. file
994             class/System.Security/en/System.Security.Cryptography.xml).
995           - This will rename existing <Namespace>.xml to ns-<Namespace>.xml
996             automatically.
997           - gmcs/mcs changed Reflection names (again); cope.
998         * DocTest/en.expected/System.xml, 
999           DocTest/en.expected/Mono.DocTest.Generic.xml, 
1000           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, 
1001           DocTest/en.expected/Mono.DocTest.xml, DocTest/en.expected.since/System.xml, 
1002           DocTest/en.expected.since/Mono.DocTest.Generic.xml, 
1003           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, 
1004           DocTest/en.expected.since/Mono.DocTest.xml, 
1005           DocTest/en.expected.importslashdoc/System.xml, 
1006           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic.xml, 
1007           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml, 
1008           DocTest/en.expected.importslashdoc/Mono.DocTest.xml: Rename to have a
1009           'ns-' prefix.
1010         * Makefile.am: Remove obsolete targets; add -show_exceptions to tests so we
1011           get more information on errors.
1012         * overview.xsl: Use the 'ns-' prefixed namespace documentation files.
1013
1014 2007-12-19  Jonathan Pryor <jpryor@novell.com>
1015
1016         * monodocer.cs: PropertyInfo.GetValue() may throw (in particular, within
1017           System.Data when trying to read ToolboxItemAttribute which references an
1018           assembly not present within the GAC).  Workaround this.
1019
1020 2007-12-19  Jonathan Pryor <jpryor@novell.com>
1021
1022         * monodocer.cs: Add a -show_exceptions argument to provide full stack traces
1023           when an error occurs (helps with debugging).  Allow VersionComparer to
1024           work on "slightly" malformed Version strings like 1.0.x.x, which some
1025           existing documentation uses.
1026
1027 2007-12-18  Jonathan Pryor <jpryor@novell.com>
1028
1029         * monodocer.cs: Don't append ';' to property declarations.
1030         * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1031           DocTest/en.expected/Mono.DocTest/Widget.xml,
1032           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1033           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1034           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1035           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush.
1036
1037 2007-12-18  Jonathan Pryor <jpryor@novell.com>
1038
1039         * monodocer.cs: Insert [return:] custom attributes within <ReturnValue/>.
1040         * DocTest-v1.cs: Add custom attributes to various members for testing.
1041         * DocTest/en.expected/Mono.DocTest/Widget.xml,
1042           DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
1043           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1044           DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
1045           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
1046           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
1047           DocTest/html.expected/Mono.DocTest/Widget.html,
1048           DocTest/html.expected/Mono.DocTest/DocAttribute.html: Flush.
1049
1050 2007-12-17  Jonathan Pryor <jpryor@novell.com>
1051
1052         * monodocer.cs: Document protected events.
1053         * DocTest-v1.cs: Change the visibility of various members so we can better
1054           test the monodocs2html output.
1055         * stylesheet.xsl: Fix the `protected' check so that public members aren't
1056           displayed under the Protected [MemberType] section.
1057         * DocTest/en.expected/Mono.DocTest/Widget.xml,
1058           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1059           DocTest/html.expected/Mono.DocTest/Widget.html,
1060           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush.
1061
1062 2007-12-13  Jonathan Pryor  <jonpryor@vt.edu>
1063
1064         * monodocer.cs: Er, *really* sort the <AssemblyVersion/> entries.
1065
1066 2007-12-12  Jonathan Pryor  <jonpryor@vt.edu>
1067
1068         * monodocer.cs: Sort the <AssemblyVersion/> entries so that when rendering
1069           them within monodoc we show versions in increasing order.
1070
1071 2007-12-11  Jonathan Pryor  <jonpryor@vt.edu>
1072
1073         * monodocer.cs: Don't use File.OpenWrite(), as that doesn't truncate the
1074           file (resulting in invalid XML errors if the new file is smaller than the
1075           previous file).  Add a local OpenWrite() to ensure that UTF8 is used
1076           everywhere.
1077
1078 2007-12-11  Jonathan Pryor  <jonpryor@vt.edu>
1079
1080         * monodocer.cs: Generate a per-member <AssemblyInfo/> element, not an
1081           <AssemblyVersions/> element.  This makes it easeier to write the XSLT 
1082           used in the docbrowser to generate the Requirements section.
1083         * stylesheet.xsl: Use <AssemblyInfo/>, not <AssemblyVersions/>.
1084         * DocTest/en.expected/System/Environment.xml,
1085           DocTest/en.expected/System/AsyncCallback.xml,
1086           DocTest/en.expected/System/Environment+SpecialFolder.xml,
1087           DocTest/en.expected/System/Array.xml,
1088           DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
1089           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1090           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
1091           DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
1092           DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1093           DocTest/en.expected/Mono.DocTest/Widget.xml,
1094           DocTest/en.expected/Mono.DocTest/Widget+Del.xml,
1095           DocTest/en.expected/Mono.DocTest/DocValueType.xml,
1096           DocTest/en.expected/Mono.DocTest/IProcess.xml,
1097           DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
1098           DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
1099           DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
1100           DocTest/en.expected/Mono.DocTest/UseLists.xml,
1101           DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
1102           DocTest/en.expected/Mono.DocTest/Color.xml,
1103           DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
1104           DocTest/en.expected.since/System/Environment.xml,
1105           DocTest/en.expected.since/System/AsyncCallback.xml,
1106           DocTest/en.expected.since/System/Environment+SpecialFolder.xml,
1107           DocTest/en.expected.since/System/Array.xml,
1108           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
1109           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1110           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
1111           DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
1112           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1113           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1114           DocTest/en.expected.since/Mono.DocTest/AddedType.xml,
1115           DocTest/en.expected.since/Mono.DocTest/Widget+Del.xml,
1116           DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
1117           DocTest/en.expected.since/Mono.DocTest/IProcess.xml,
1118           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
1119           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
1120           DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
1121           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
1122           DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
1123           DocTest/en.expected.since/Mono.DocTest/Color.xml,
1124           DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
1125           DocTest/en.expected.importecmadoc/System/Environment.xml,
1126           DocTest/en.expected.importecmadoc/System/AsyncCallback.xml,
1127           DocTest/en.expected.importecmadoc/System/Array.xml,
1128           DocTest/en.expected.importslashdoc/System/Environment.xml,
1129           DocTest/en.expected.importslashdoc/System/AsyncCallback.xml,
1130           DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml,
1131           DocTest/en.expected.importslashdoc/System/Array.xml,
1132           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
1133           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1134           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
1135           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
1136           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1137           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml,
1138           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
1139           DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
1140           DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml,
1141           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml,
1142           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
1143           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
1144           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
1145           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
1146           DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml,
1147           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml:
1148           Flush; s/AssemblyVersion/AssemblyInfo/g.
1149
1150 2007-12-10  Jonathan Pryor  <jonpryor@vt.edu>
1151
1152         * DocTest-v2.patch: Remove some members so that we can see some
1153           <AssemblyVersions/> differences in the XML output.
1154         * monodocer.cs: Add a <AssemblyVersions/> element under every type and member
1155           to better track versioning information.  The XML documentation now becomes
1156           a "version database" of sorts, in which each member lists which assembly
1157           versions it exists in.  This permits tracking which members were added or
1158           removed over time with greater fidelity than <since/>.  This also removes
1159           the need for -ignore_extra_docs, which is maintained (for compatibility)
1160           but ignored.
1161         * DocTest-v1.cs: Have differing visibility on a property to ensure it works
1162           properly.
1163         * stylesheet.xsl: Print out the per-member <AssemblyVersions/> element.
1164         * DocTest/en.expected/System/Environment.xml,
1165           DocTest/en.expected/System/AsyncCallback.xml,
1166           DocTest/en.expected/System/Environment+SpecialFolder.xml,
1167           DocTest/en.expected/System/Array.xml,
1168           DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
1169           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1170           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
1171           DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
1172           DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1173           DocTest/en.expected/Mono.DocTest/Widget.xml,
1174           DocTest/en.expected/Mono.DocTest/Widget+Del.xml,
1175           DocTest/en.expected/Mono.DocTest/DocValueType.xml,
1176           DocTest/en.expected/Mono.DocTest/IProcess.xml,
1177           DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
1178           DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
1179           DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
1180           DocTest/en.expected/Mono.DocTest/UseLists.xml,
1181           DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
1182           DocTest/en.expected/Mono.DocTest/Color.xml,
1183           DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
1184           DocTest/en.expected.since/System/Environment.xml,
1185           DocTest/en.expected.since/System/AsyncCallback.xml,
1186           DocTest/en.expected.since/System/Environment+SpecialFolder.xml,
1187           DocTest/en.expected.since/System/Array.xml,
1188           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
1189           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1190           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
1191           DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
1192           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1193           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1194           DocTest/en.expected.since/Mono.DocTest/AddedType.xml,
1195           DocTest/en.expected.since/Mono.DocTest/Widget+Del.xml,
1196           DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
1197           DocTest/en.expected.since/Mono.DocTest/IProcess.xml,
1198           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
1199           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
1200           DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
1201           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
1202           DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
1203           DocTest/en.expected.since/Mono.DocTest/Color.xml,
1204           DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
1205           DocTest/html.expected/System/Array.html,
1206           DocTest/html.expected/System/Environment.html,
1207           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
1208           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
1209           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1210           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1211           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
1212           DocTest/html.expected/Mono.DocTest/Widget.html,
1213           DocTest/html.expected/Mono.DocTest/DocValueType.html,
1214           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
1215           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
1216           DocTest/html.expected/Mono.DocTest/DocAttribute.html,
1217           DocTest/html.expected/Mono.DocTest/UseLists.html,
1218           DocTest/en.expected.importecmadoc/System/Environment.xml,
1219           DocTest/en.expected.importecmadoc/System/AsyncCallback.xml,
1220           DocTest/en.expected.importecmadoc/System/Array.xml,
1221           DocTest/en.expected.importslashdoc/System/Environment.xml,
1222           DocTest/en.expected.importslashdoc/System/AsyncCallback.xml,
1223           DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml,
1224           DocTest/en.expected.importslashdoc/System/Array.xml,
1225           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
1226           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1227           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
1228           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
1229           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1230           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml,
1231           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
1232           DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
1233           DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml,
1234           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml,
1235           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
1236           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
1237           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
1238           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
1239           DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml,
1240           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml:
1241           Flush, inserting <AssemblyVersion/> elements as necessary.
1242
1243 2007-10-28  Jonathan Pryor  <jonpryor@vt.edu>
1244
1245         * DocTest-v1.cs: Correct doc comment.
1246         * DocTest/html.expected/System/Environment.html,
1247           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
1248           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1249           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1250           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
1251           DocTest/html.expected/Mono.DocTest/UseLists.html,
1252           DocTest/en.expected.importslashdoc/System/Environment.xml,
1253           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
1254           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1255           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
1256           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
1257           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml: mcs and gmcs 
1258           got many bug fixes with /doc support, changing many things that depend on 
1259           /doc output.
1260
1261 2007-09-27  Raja R Harinath  <rharinath@novell.com>
1262
1263         * Makefile.am (DocTest.dll-v1, DocTest.dll-v2): Pick source from $srcdir.
1264
1265 2007-07-19  Jonathan Pryor  <jonpryor@vt.edu>
1266
1267         * monodocer.cs: Always fully consume <Docs/> children.  If we have e.g.
1268           <Docs><param name="foo"><see cref="T:Bar"/></param></Docs>, but there is
1269           no existing parameter "foo", we would previously process the nested
1270           <see/> node and append it to the <Docs/> child nodes.
1271
1272 2007-07-18  Jonathan Pryor  <jonpryor@vt.edu>
1273
1274         * monodocer.cs: Change OrderDocsNodes() so that it uses
1275           XmlNode.InsertAfter() instead of XmlNode.InsertBefore().  The result is
1276           mostly the same (i.e. no regression test changes), but if you have a
1277           non-ordered node between other nodes this will force the non-ordered node
1278           to the *end* of the <Docs/> children, not the start.  For example, given
1279           the input <Docs><summary/><exception/><remarks/></Docs/>, we used to get
1280           <Docs><exception/><summary/><remarks/></Docs>, while we now get
1281           <Docs><summary/><remarks/><exception/></Docs>.
1282
1283 2007-07-17  Jonathan Pryor  <jonpryor@vt.edu>
1284
1285         * monodocer.cs: Insert the type's <Docs/> node before <Members/>.  This is
1286           consistent with ECMA documentation ordering, and makes more sense (when
1287           editing the file you can edit the Type documentation before member
1288           documentation, instead of after all members as was the case before).
1289         * DocTest/en.expected/System/Environment.xml,
1290           DocTest/en.expected/System/Environment+SpecialFolder.xml,
1291           DocTest/en.expected/System/Array.xml,
1292           DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
1293           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1294           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
1295           DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
1296           DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1297           DocTest/en.expected/Mono.DocTest/Widget.xml,
1298           DocTest/en.expected/Mono.DocTest/DocValueType.xml,
1299           DocTest/en.expected/Mono.DocTest/IProcess.xml,
1300           DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
1301           DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
1302           DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
1303           DocTest/en.expected/Mono.DocTest/UseLists.xml,
1304           DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
1305           DocTest/en.expected/Mono.DocTest/Color.xml,
1306           DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
1307           DocTest/en.expected.since/System/Environment.xml,
1308           DocTest/en.expected.since/System/Environment+SpecialFolder.xml,
1309           DocTest/en.expected.since/System/Array.xml,
1310           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
1311           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1312           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
1313           DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
1314           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1315           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1316           DocTest/en.expected.since/Mono.DocTest/AddedType.xml,
1317           DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
1318           DocTest/en.expected.since/Mono.DocTest/IProcess.xml,
1319           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
1320           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
1321           DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
1322           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
1323           DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
1324           DocTest/en.expected.since/Mono.DocTest/Color.xml,
1325           DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
1326           DocTest/en.expected.importecmadoc/System/Environment.xml,
1327           DocTest/en.expected.importecmadoc/System/Array.xml,
1328           DocTest/en.expected.importslashdoc/System/Environment.xml,
1329           DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml,
1330           DocTest/en.expected.importslashdoc/System/Array.xml,
1331           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
1332           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1333           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
1334           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
1335           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1336           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
1337           DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
1338           DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml,
1339           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml,
1340           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
1341           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
1342           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
1343           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
1344           DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml,
1345           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml:
1346           Update so that <Docs/> comes before <Members/>, not after.
1347
1348 2007-07-14  Jonathan Pryor  <jonpryor@vt.edu>
1349
1350         * monodocer.cs: If a <Type/> had an empty <Members/> element, we'd start
1351           reading the <Member/> elements from the *next* <Type/>; oops.
1352         * DocTest-v1.cs: Add System.AsyncCallback, which is a delegate and thus had
1353           an empty <Members/> element.
1354         * Makefile.am: Also import docs for System.AsyncCallback.
1355         * overview.xsl: Update $max-types so that adding System.AsyncCallback
1356           doesn't trigger the alternate behavior, creating a larger diff than
1357           necessary.
1358         * TestEcmaDocs.xml: Add docs for System.AsyncCallback.
1359         * DocTest/en.expected/System/AsyncCallback.xml,
1360           DocTest/en.expected/index.xml, 
1361           DocTest/en.expected.since/System/AsyncCallback.xml
1362           DocTest/en.expected.since/index.xml,
1363           DocTest/html.expected/System/AsyncCallback.html
1364           DocTest/html.expected/System/index.html, DocTest/html.expected/index.html,
1365           DocTest/en.expected.importecmadoc/System/AsyncCallback.xml,
1366           DocTest/en.expected.importslashdoc/System/AsyncCallback.xml,
1367           DocTest/en.expected.importslashdoc/index.xml: Added; expected imported 
1368           documentation for System.AsyncCallback.
1369
1370 2007-07-14  Jonathan Pryor  <jonpryor@vt.edu>
1371
1372         * monodocer.cs: Remove the "While Importing ECMA  <Docs/> chidren, found
1373           node..." error by ensuring that we're at the start of an actual
1374           non-whitespace element before hitting the switch statement.
1375
1376 2007-07-14  Jonathan Pryor  <jonpryor@vt.edu>
1377
1378         * monodocer.cs: Don't call DoUpdateType() with non-public types.  This
1379           allows `monodocer -importecmadoc` to fully run and import mscorlib.dll.
1380
1381 2007-07-14  Jonathan Pryor  <jonpryor@vt.edu>
1382
1383         * monodocer.cs: Ensure that getting a MemberInfo based on the documentation
1384           that the MemberInfo was actually found...  (Allows a full mscorlib.dll
1385           import to run for > 15s before dying.)
1386
1387 2007-07-04  Jonathan Pryor  <jonpryor@vt.edu>
1388
1389         * monodocer.cs: Use XmlReader instead of XPathDocument to process the ECMA
1390           documentation import.  This cuts down a -type:System.Array import from
1391           ~10-12s to ~7-8s (not great, but better).  "Fix" the ordering of <Docs/>
1392           child elements so that importing ECMA/slashdoc documentation doesn't 
1393           change the normal ordering.
1394         * DocTest/en.expected.importecmadoc/System/Array.xml,
1395           DocTest/en.expected.importecmadoc/System/Environment.xml: Alter order of
1396           <Docs/> elements to match the normally generated order.
1397
1398 2007-06-20  Jonathan Pryor  <jonpryor@vt.edu>
1399
1400         * monodocer.cs: Sort /Type/Members/Member elements so that the order is not
1401           dependent upon Reflection order.
1402         * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1403           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1404           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
1405           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1406           DocTest/en.expected.importecmadoc/System/Array.xml,
1407           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml:
1408           Flush (sort <Member/> elements).
1409
1410 2007-06-19  Jonathan Pryor  <jonpryor@vt.edu>
1411
1412         * monodocer.cs: Sort <Namespace/> and <Type/> elements by their Name
1413           attribute.  This helps keep diff's smaller, as the generated order won't
1414           be dependent upon Reflection order.
1415         * DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml,
1416           DocTest/en.expected.importslashdoc/index.xml: Flush (sort namespaces and
1417           types alphabetically).
1418
1419 2007-06-19  Jonathan Pryor  <jonpryor@vt.edu>
1420
1421         * monodocer.cs: Cleanup Console output.
1422           - Use Console.Error for error messages, not status messages.
1423           - Error should be prefixed by "monodocer" (follows Unix conventions).
1424           - Don't print "Updating..." followed by "New Type..." for the same type.
1425           - Use __monodocer-seen__ sentinal for imported nodes so that we don't try
1426             to lookup the corresponding member later in GetDocumentationMembers().
1427
1428 2007-06-19  Jonathan Pryor  <jonpryor@vt.edu>
1429
1430         * monodocer.cs: Lots 'o fixes/improvements.
1431           - Allow multiple -type parameters to be specified.  
1432           - Remove type member enumeration from UpdateTypes() -- use DoUpdateType2().
1433           - Iterate over assembly types in Ecma Documentation order (so that we read
1434             the Ecma docs sequentially, not randomly).  
1435           - Allow -type to *create* new documentation files.
1436           - Remove unused methods.
1437         * Makefile.am: Add check-monodocer-importecmadoc,
1438           check-monodocer-importecmadoc-update targets (unit tests for
1439           -importecmadoc).
1440         * TestEcmaDocs.xml: Added; ECMA Documentation input file for use with
1441           -importecmadoc tests.
1442         * DocTest-v1.cs: Add System.Array to help test -importecmadoc behavior.
1443         * DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml,
1444           DocTest/html.expected/System/index.html, DocTest/html.expected/index.html,
1445           DocTest/en.expected.importslashdoc/index.xml: Flush (add System.Array to
1446           index files).
1447         * DocTest/en.expected/System/Array.xml, 
1448           DocTest/en.expected.since/System/Array.xml,
1449           DocTest/html.expected/System/Array.html,
1450           DocTest/en.expected.importecmadoc/System/Environment.xml,
1451           DocTest/en.expected.importecmadoc/System/Array.xml,
1452           DocTest/en.expected.importslashdoc/System/Array.xml: Added; expected
1453           output for System.Array type for various tests.
1454
1455 2007-06-18  Wade Berrier  <wberrier@novell.com>
1456
1457         * monodocer.cs: Move assembly information up top because having it at the bottom
1458         fails to compile with mcs from trunk.
1459
1460 2007-06-14  Jonathan Pryor  <jonpryor@vt.edu>
1461
1462         * monodocer.cs: Use XPathDocument instead of XmlDocument to process the ECMA
1463           documentation import.  This cuts down a -type:System.Array import from
1464           ~15-20s to ~10-12s (not great, bug better).  Fix importing of <exception/>
1465           elements -- previously we would skip them if the mono docs lacked them.
1466
1467 2007-06-12  Jonathan Pryor  <jonpryor@vt.edu>
1468
1469         * monodocer.cs: The previous fix was buggy -- if the type parameters were
1470           renamed (ConvertAll<T,U> in ECMA, ConvertAll<TInput,TOutput> in Mono),
1471           then the existing element wouldn't be found, but the MemberInfo would.
1472           Result: duplicate XML elements (BOTH ConvertAll<T,U> AND 
1473           ConvertAll<TInput,TOutput>), one of which is wrong, which clearly isn't
1474           desirable.  If the Mono XML element can't be found, try looking it up
1475           based on the MemberInfo found from the ECMA docs to avoid duplication.
1476
1477 2007-06-11  Jonathan Pryor  <jonpryor@vt.edu>
1478
1479         * monodocer.cs: Add support for renaming of template parameters (useful
1480           because ECMA 335 refers to Array.ConvertAll<T,U> while Mono/.NET have
1481           Array.ConvertAll<TInput,TOutput>).  Not terribly intelligent, but smart
1482           enough that all but two System.Array members can now be imported (a
1483           private constructor, and a member with an incorrectly documented parameter
1484           type, neither of which I plan on supporting).  Cleanup some of the 
1485           `#if NET_1_0` blocks by using `using' aliases -- alas, requires moving the
1486           [assembly:...] attributes; see bugzilla #81855.
1487
1488 2007-06-11  Jonathan Pryor  <jonpryor@vt.edu>
1489
1490         * monodocer.cs: Add support for explicity-implemented interface members.
1491           Minor cleanup.  Replace catch(NotSupportedException){} blocks.
1492         * Makefile.am (clean): Cleanup monodocer.exe* files.
1493         * DocTest-v1.cs: Add IFoo<T>, explicitly implement some interfaces on
1494           MyList<A,B> to test explicitly-implemented member support.
1495         * DocTest/en.expected/index.xml,
1496           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1497           DocTest/en.expected.since/index.xml,
1498           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1499           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1500           DocTest/html.expected/Mono.DocTest.Generic/index.html,
1501           DocTest/html.expected/index.html,
1502           DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
1503           DocTest/en.expected.importslashdoc/index.xml,
1504           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1505           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml:
1506           Update.
1507         * DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
1508           DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
1509           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
1510           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html: Added.
1511
1512 2007-05-29  Jonathan Pryor  <jonpryor@vt.edu>
1513
1514         * monodocer.cs: Invert ECMA documentation importing -- instead of iterating
1515           over the monodoc XML and importing ECMA docs as encountered (randomly), 
1516           iterate over the ECMA docs in-order and access the monodoc types randomly.
1517           This significantly improves access as the ECMA docs are ~7.2MB in size,
1518           while the monodoc XML types 10's-100's of KB (randomly accessing a 7.2 MB
1519           XML document == BAD; randomly accessing a several hundred KB document is
1520           better).  This cuts down a -type:System.Array import from ~4 minutes to
1521           < ~20s.  Alas, it appears to miss a few members as well, so it's not done.
1522
1523 2007-05-19  Jonathan Pryor  <jonpryor@vt.edu>
1524
1525         * monodocer.cs: Create diff(1)-friendly output for -importecmadocs.
1526           Previously, we'd remove <summary/>, <remarks/>, etc., and re-add them at
1527           the end of the <Docs/> node, which results in major changes for diff(1),
1528           so instead we replace the contents of existing elements when appropriate.
1529           Remove '\r' from the imported document (also to remove diff(1)-reported
1530           changes as the line endings would change).
1531
1532 2007-05-17  Jonathan Pryor  <jonpryor@vt.edu>
1533
1534         * monodocer.cs: Add -importecmadoc flag, which will import
1535           documentation found within an ECMA documetation file (e.g. the
1536           CLILibraryTypes.xml from the ECMA-335 standard).
1537           WARNING: import is currently SLOW.
1538
1539 2007-05-17  Jonathan Pryor  <jonpryor@vt.edu>
1540
1541         * monodocer.cs: Refactor MakeDocNode() so that there's only one
1542           version, not three overloads, and use a (new) DocsNodeInfo type to
1543           pass information to the new MakeDocNode() method.  This doesn't
1544           change anything per-se, but it'll make it easier to pass new
1545           parameters to MakeDocNode() without making the rediculously long
1546           parameter list even longer...
1547
1548 2007-05-12  Joshua Tauberer  <jit@occams.info>
1549
1550         * overview.xsl: Always sort type names, since when updating
1551           docs monodocer can make the list in index.xml out of order.
1552         * monodocer.cs: When deleting duplicate member entries, delay
1553           deletion until after loop is finished.
1554         * Makefile.am, DocTest-v1.cs, DocTest/en.expected.importslashdoc,
1555           DocTest/html.expected: Revise monodocs2html tests to use
1556           the /doc file so we can test those tags too. And changed two
1557           <c> tags to <see cref=/>.
1558         * stylesheet.xsl, DocTest/html.expected: Fix see-links to methods,
1559           which didn't recognize '(' as delimiting type from args, and
1560           display nice type names for arguments.
1561
1562 2007-03-15  Lluis Sanchez Gual  <lluis@novell.com>
1563
1564         * monodocer.cs: When deleting a member, don't remove it from the
1565           parent xml element until all members are checked, since doing
1566           it breaks the loop.
1567           Properly import internal protected members.
1568
1569 2006-12-29  Jonathan Pryor  <jonpryor@vt.edu>
1570
1571         * Makefile.am: Add check-monodocer-ignore_extra_docs-update,
1572           check-doc-tools-update, and check-update targets.
1573         * monodocer.cs: Fix generation of attribute parameters, as e.g.
1574           `AttributeUsage.Class|Struct' doesn't look right; it should 
1575           instead be `AttributeUsage.Class | AttributeUsage.Struct'.
1576         * DocTest-v1.cs: Add new public Attribute with an AttributeUsage for tests.
1577         * DocTest/en.expected/index.xml, 
1578           DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
1579           DocTest/en.expected.importslashdoc/index.xml,
1580           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
1581           DocTest/en.expected.since/index.xml,
1582           DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
1583           DocTest/html.expected/index.html,
1584           DocTest/html.expected/Mono.DocTest/index.html,
1585           DocTest/html.expected/Mono.DocTest/DocAttribute.html: Added; update
1586           expected output for new tests.
1587
1588 2006-12-29  Jonathan Pryor  <jonpryor@vt.edu>
1589
1590         * monodocer.cs: Fix C# type name generation for nested types in the System
1591           namespace.  Remove TypeCastException when dealing with custom attributes.
1592         * DocTest-v1.cs: Add System.Environment type for testing System handling.
1593         * DocTest/en.expected/index.xml, DocTest/en.expected/System.xml,
1594           DocTest/en.expected/System/Environment.xml,
1595           DocTest/en.expected/System/Environment+SpecialFolder.xml,
1596           DocTest/en.expected.since/index.xml, DocTest/en.expected.since/System.xml,
1597           DocTest/en.expected.since/System/Environment+SpecialFolder.xml,
1598           DocTest/en.expected.since/System/Environment.xml,
1599           DocTest/en.expected.importslashdoc/index.xml, 
1600           DocTest/en.expected.importslashdoc/System.xml,
1601           DocTest/en.expected.importslashdoc/System/Environment.xml,
1602           DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml,
1603           DocTest/html.expected/index.html, DocTest/html.expected/System/index.html, 
1604           DocTest/html.expected/System/Environment.html,
1605           DocTest/html.expected/System/Environment+SpecialFolder.html:
1606           Added; update expected output for new tests.
1607
1608 2006-12-29  Jonathan Pryor  <jonpryor@vt.edu>
1609
1610         * monodocer.cs: `abstract sealed' classes are actually `static' classes.
1611
1612 2006-12-27  Jonathan Pryor  <jonpryor@vt.edu>
1613
1614         * monodocer.cs: Re-order the attributes in <Type/> elements so that the
1615           ordering is (somewhat) well defined.  This helps with `diff' output in
1616           ../class, as it prevents "false positives" when the attributes are
1617           re-ordered.  Fix CSharpFullMemberFormatter.GetTypeDeclaration() so that
1618           when handling C# builtin types (e.g. System.Byte) it uses the real name in
1619           the declaration instead of the C# keyword (`class byte' is wrong).
1620
1621 2006-12-26  Jonathan Pryor  <jonpryor@vt.edu>
1622
1623         * Makefile.am: Add check-monodocer-ignore_extra_docs test.
1624         * monodocer.cs: Fix -ignore_extra_docs.  Previously, it would just ignore
1625           "missing" types, but it would still remove "missing" members.
1626
1627 2006-12-26  Jonathan Pryor  <jonpryor@vt.edu>
1628
1629         * monodocer.cs: Don't insert internal attributes into the documentation.
1630         * DocTest-v1.cs: Add test for use of an internal attribute.
1631
1632 2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>
1633
1634         * monodocer.cs: Don't include full namespace for System.* types.  *Do*
1635           include the full namespace for nested System types, e.g.
1636           System.Collections.IEnumerable.  This is what is currently in
1637           ../class/corlib/en, and making this change results in a smaller diff.
1638         * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1639           DocTest/en.expected/Mono.DocTest/UseLists.xml,
1640           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1641           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
1642           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, 
1643           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml:
1644           Update unit tests for above monodocer.cs change.
1645
1646 2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>
1647
1648         * monodocer.cs: Don't include full namespace for System.* types.  This is
1649           what ECMA-335 CLILibraryTypes.xml does for C# declarations -- no
1650           namespaces within e.g. inheritance lists or parameter lists for the System
1651           namespace and namespaces nested within System.
1652           Remove unnecessary console output.
1653         * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1654           DocTest/en.expected/Mono.DocTest/UseLists.xml,
1655           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1656           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
1657           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, 
1658           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml:
1659           Update unit tests for above monodocer.cs change.
1660
1661 2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>
1662
1663         * monodocer.cs: Make sure that the types we document are *really* public.
1664           For some reason public nested types of internal types are returned by
1665           Assembly.GetTypes(), e.g. ``internal class A { public class B {} }''
1666           These types shouldn't be documented.
1667         * DocTest-v1.cs: Add test case for above.
1668
1669 2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>
1670
1671         * monodocer.cs: Add -ignore_extra_docs flag; when set, it will not rename
1672           .xml files for types not found to .xml.remove.  This is useful in ../class
1673           when we're processing assemblies multiple times for the 1.0 & 2.0
1674           profiles, as when processing the 1.0 profile we'll be "missing" the 2.0
1675           types, and we don't want those to be renamed.
1676
1677 2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>
1678
1679         * Makefile.am: Add a monodocer1.exe target, which is a version of monodocer
1680           which runs under the 1.0 runtime.  This is necessary so that we can still
1681           generate/update docs for mscorlib.dll 1.0 (as only one mscorlib.dll can
1682           ever be loaded into a process).
1683         * monodocer.cs: Split out the .NET 2.0 functionality so that it can be built
1684           for both 1.0 and 2.0 runtimes.  1.0 support is controlled by the
1685           NET_1_0 define.
1686
1687 2006-12-20  Jonathan Pryor  <jonpryor@vt.edu>
1688
1689         * monodocer.cs: Don't try too hard in UpdateParameters().  Previously, if a
1690           the number of parameters a method accepted changed from > 1 to 1, the
1691           "easy" <param/> handling would (inadvertently?) change all <param/>s to have
1692           the @name of the method's single parameter -- so if you _had_ parameters
1693           A, B, and C but the method now only has D, then A, B, and C would all have
1694           their @name attribute changed to D.  Odd, but possibly acceptable...
1695           ...until we try to make sure that the <param/>s are in the right order, in
1696           which case we'll record the index of D as 0 (it's the 1st parameter), but
1697           find a parameter with a different index (the old B & C), causing us to
1698           reinsert the parameter to make sure it's in the proper order.  This 
1699           results in an infinite loop within System.Xml -- see Bugzilla #80331.
1700           It's safer to just ignore the extra parameters.
1701
1702 2006-12-07  Jonathan Pryor  <jonpryor@vt.edu>
1703
1704         * DocTest-v1.patch: Add an operator returning a generic parameter (triggers
1705           error fixed in monodocer.cs).
1706         * DocTest-v2.patch: Update (due to changes in DocTest-v1.cs).
1707         * monodocer.cs: CSharpFullMemberFormatter.AppendVisibility() needs to accept null 
1708           MethodBases (when called from GetEventDeclaration() and e.GetAddMethod()
1709           returns null); fix SlashDocMemberFormatter.GetMethodDeclaration() so that
1710           generic types can be the return value of methods.  These changes allow
1711           generation of documentation on Mono's 2.0 mscorlib.dll.
1712         * stylesheet.xsl: Use GetParameterType() to emit the return type of
1713           explicit/implicit operators, as they can be/use generic arguments.
1714         * DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
1715           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
1716           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml,
1717           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
1718           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html:
1719           Flush to match current output.
1720
1721 2006-11-22  Jonathan Pryor  <jonpryor@vt.edu>
1722
1723         * monodocer.cs: Don't generate documentation/prototypes for non-public 
1724           property get/set accessors.  Patch from Ivan N. Zlatev.
1725
1726 2006-11-01  Jonathan Pryor  <jonpryor@vt.edu>
1727
1728         * monodocer.cs: When importing -importslashdoc documentation, convert
1729           <seealso/> elements into <altmember/> elements (as the former is the
1730           recommended element within ECMA-334, while the latter is the actual
1731           element used for our ECMA documentation).
1732         * DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush.
1733
1734 2006-10-27  Jonathan Pryor  <jonpryor@vt.edu>
1735
1736         * stylesheet.xsl: Generate more correct string id's for "id" attribute 
1737           values, so that string ids match the output of CSC.EXE 2.0.  Changes:
1738           append ``N instead of `N for generic methods, and use the correct 0-based
1739           type parameter index, not a 1-based index.
1740         * DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
1741           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1742           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1743           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
1744           DocTest/html.expected/Mono.DocTest/UseLists.html: Flush.
1745
1746 2006-10-24  Jonathan Pryor  <jonpryor@vt.edu>
1747
1748         * DocTest-v1.cs: Add /doc comments (for use with `make
1749           check-monodocer-importslashdoc`).
1750         * DocTest-v2.patch: Update (due to changes in DocTest-v1.cs).
1751         * Makefile.am: Add check-monodocer-importslashdoc,
1752           check-monodocer-importslashdoc-update targets.
1753         * monodocer.cs: Fix -importslashdoc.  Massively refactor generation of
1754           strings from MemberInfos (Type, MethodInfo, etc.) so that commonalities
1755           between DocType, C#, and /doc string IDs can be shared and easily
1756           customized (as opposed to dealing with the > 100 line FillDocTypeName()
1757           method, which was already too complex).
1758         * DocTest/en.expected.importslashdoc/index.xml,
1759           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic.xml,
1760           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
1761           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1762           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
1763           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1764           DocTest/en.expected.importslashdoc/Mono.DocTest.xml,
1765           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
1766           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml, 
1767           DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
1768           DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml,
1769           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml,
1770           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
1771           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
1772           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
1773           DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml,
1774           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml:
1775           Added; expected output for `make check-monodocer-importslashdoc'.
1776
1777 2006-10-19  Jonathan Pryor  <jonpryor@vt.edu>
1778
1779         * Makefile.am: Change check-monodocer target to add a `monodocer -namespace'
1780           check, as `-namespace' would use a bad filename generation algorithm.
1781         * monodocer.cs: Don't use Type.Name (or equivalent) to generate filenames,
1782           but use GetTypeFileName(), so that Foo<T> only tries to open the file
1783           Foo`1, instead of the file Foo<T> which (1) is wrong, we never generate
1784           filenames like that, and (2) fails horribly on Win32 (as '<' and '>' are
1785           invalid path characters).
1786
1787 2006-10-19  Jonathan Pryor  <jonpryor@vt.edu>
1788
1789         * monodocer.cs: Sort member ordering so that when the order of members
1790           returned by Type.GetMembers() changes (as it did between 1.1.17 and
1791           1.1.18) the order of the documentation members won't change (leading to
1792           "errors" in the regression tests).
1793         * DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
1794           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1795           DocTest/en.expected/Mono.DocTest/Widget.xml,
1796           DocTest/en.expected/Mono.DocTest/DocValueType.xml,
1797           DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
1798           DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
1799           DocTest/en.expected/Mono.DocTest/UseLists.xml,
1800           DocTest/en.expected/Mono.DocTest/Color.xml,
1801           DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
1802           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
1803           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1804           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1805           DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
1806           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
1807           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
1808           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
1809           DocTest/en.expected.since/Mono.DocTest/Color.xml,
1810           DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
1811           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1812           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1813           DocTest/html.expected/Mono.DocTest/Color.html,
1814           DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
1815           DocTest/html.expected/Mono.DocTest/Widget.html,
1816           DocTest/html.expected/Mono.DocTest/DocValueType.html,
1817           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
1818           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
1819           DocTest/html.expected/Mono.DocTest/UseLists.html: Flush.  Since monodocer
1820           generates a different member ordering, *everything* gets a different
1821           ordering.  <sigh>
1822
1823 2006-10-12  Jonathan Pryor  <jonpryor@vt.edu>
1824
1825         * monodocer.cs: Add support for inserting Docs/since element.  This element
1826           is *only* inserted for NEW type/members, never updated, and is only 
1827           inserted if the -since:SINCE command-line argument is provided.
1828         * DocTest.cs: Renamed to DocTest-v1.cs.
1829         * Makefile.am: Add DocTest.dll-v1, DocTest.dll-v2, check-monodocer-since,
1830           check-monodocer-since-update, check targets.
1831         * DocTest-v2.patch: Patch file applied to DocTest-v1.cs to get DocTest.dll
1832           version 2.0.0.0.
1833         * DocTest/en.expected.since/index.xml,
1834           DocTest/en.expected.since/Mono.DocTest.xml,
1835           DocTest/en.expected.since/Mono.DocTest/AddedType.xml,
1836           DocTest/en.expected.since/Mono.DocTest/Color.xml,
1837           DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
1838           DocTest/en.expected.since/Mono.DocTest/IProcess.xml,
1839           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
1840           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1841           DocTest/en.expected.since/Mono.DocTest/Widget+Del.xml,
1842           DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
1843           DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
1844           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
1845           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
1846           DocTest/en.expected.since/Mono.DocTest.Generic.xml,
1847           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
1848           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
1849           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1850           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml: Added; 
1851           expected output for DocTest.dll v2.0.0.0.
1852
1853 2006-10-11  Jonathan Pryor  <jonpryor@vt.edu>
1854
1855         * stylesheet.xsl: Add /Members/Docs node in GetInheritedMembers() so that
1856           GetLinkId() sees typeparam elements for type replacement in parameters for 
1857           members of base types.  Make sure that "simple" type arguments are 
1858           replaced, e.g. T --> `1.
1859           TODO: figure out type replacements for nested types.
1860         * DocTest/html.expected/Mono.DocTest/UseLists.html, 
1861           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
1862           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1863           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
1864           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Change link id's
1865           and targets for proper type replacements within parameters.
1866
1867 2006-10-10  Joshua Tauberer  <jit@occams.info>
1868
1869         * monodocer.cs: Fixed a bug in WriteElement that would put
1870           nodes in the wrong place if some node in the path already
1871           existed.
1872           - To prevent TypeParameters from always being put at the
1873           end on an update, don't delete that node in an update, just
1874           clear it.
1875           - Update the DisplayName attribute in index.xml on doc updates.
1876         * DocTest/*: Updated for the DisplayName fix, and also put
1877           into a pristine state (I had committed them as an update,
1878           which put the TypeParameters block at the end of the files.)
1879
1880 2006-10-09  Joshua Tauberer  <jit@occams.info>
1881
1882         * monodocer.cs: Update a type's name attributes during an update
1883           because generic argument names may change even if filename
1884           hasn't.
1885           - Added a Type/TypeParameters section which includes type
1886           parameters that come from the declaring type, for nested types.
1887           - When inheriting from a generic type, added a BaseTypeArguments
1888           section which maps type parameters on the base type's type
1889           definition to types instantiating those parameters.  i.e.:
1890             class X<T> { }
1891             class Y<U> : X<U> { }
1892           Y gets a mapping in its BaseType node from T to U.
1893         * stylesheet.xsl: Don't attempt to link to a generic type
1894           parameter, just display it in italics.  And when displaying
1895           inherited members, try to replace generic type parameters
1896           in the base type with the types that have instantiated them
1897           in this type.
1898         * The DocTests are updated to show off these things.
1899
1900 2006-10-08  Joshua Tauberer  <jit@occams.info>
1901
1902         * monodocer.cs: Track which members have been seen in the XML file
1903           not by putting MemberInfos into a hashtable, which seems to
1904           not always work right, but instead by their (string) signature.
1905           - Get custom attribute data with the new 2.0 CustomAttributeData
1906           classes, so that we can reconstruct what the constructor actually
1907           looked like.
1908           - Hide System.Runtime.InteropServices.Out attributes since it is
1909           fake and already in the RefType XML attribute.
1910           - Structs weren't getting their interfaces listed in their C# type
1911           signatures.
1912         * monodocs2html.cs: Don't override the default XSLT URI resolver anymore.
1913         * stylesheet.xsl: Get the index.xml document at the start while we're
1914           sure we have the right base path (the XML document being transformed).
1915           - Display inherited members in a type's member list when the base type
1916           is documented in the same monodocer document set.
1917           - Make sure there's a space between a method's parameters and return
1918           value type in the member list.
1919         * DocTest: Updated to test these things.
1920
1921 2006-10-06  Jonathan Pryor  <jonpryor@vt.edu>
1922
1923         * overview.xsl: When generating a Namespace/index.html file, we should
1924           insert the namespace remarks as well.  (This *should* have been done, but
1925           the remarks selection was relative to '.', not to the provided $ns. :-(
1926         * DocTest/html.expected/Mono.DocTest.Generic/index.html,
1927           DocTest/html.expected/Mono.DocTest/index.html: Flush.
1928
1929 2006-10-06  Jonathan Pryor  <jonpryor@vt.edu>
1930
1931         * Makefile.am: Fix -update targets so they don't delete .svn/*.
1932         * monodocer.cs: Don't key off of DisplayName to insert new <Type> elements,
1933           as this will result in updating all existing documentation (rather silly).
1934           Key off of Name instead, and only create a DisplayName attribute if it
1935           differs from Name.
1936         * DocTest/en.expected/index.xml: Update to latest monodocer output.
1937         * monodocs2html.cs: If DisplayName doesn't exist, fall back to 
1938           Name ("legacy" behavior, now made current due to change in monodocer.cs).
1939         * stylesheet.xsl: For "Name [Generic ] [MemberType]" descriptions, make the
1940           2nd space part of "Generic".  Otherwise we get double spaces for
1941           non-generic members, e.g. "Name  [MemberType]".
1942         * overview.xsl: Fallback to @Name if @DisplayName doesn't exist.
1943         * DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
1944           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1945           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1946           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
1947           DocTest/html.expected/Mono.DocTest/Widget.html,
1948           DocTest/html.expected/Mono.DocTest/DocValueType.html,
1949           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
1950           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
1951           DocTest/html.expected/Mono.DocTest/UseLists.html: Update to latest
1952           monodocs2html output.
1953
1954 2006-10-06  Jonathan Pryor  <jonpryor@vt.edu>
1955
1956         * Makefile.am: Build with gmcs; add `-debug' to compile lines; add
1957           DocTest.dll, check-monodocer, check-monodocer-update, check-monodocs2html/
1958           check-monodocs2html-update targets for unit tests.
1959         * monodocer.cs: Major overhaul for Generics support.  Documentation
1960           generated follows the pattern used in CLILibraryTypes.xml from ECMA-335.
1961           - Remove some warnings about unused variables.
1962           - Don't assume that Type.FullName is always what we want, but instead
1963             build a C# typename from the Type information.  This is needed to nicely
1964             deal with generics, as the FullName for Foo<int> would be
1965             Foo[[System.Int32, mscorlib]], while we really want Foo<int>.
1966           - For index.xml files, insert a File attribute, as the Type name won't
1967             match the filename for generic types (Foo<T> is the file Foo`1.xml).
1968           - For GetMember(), remove generic parameters before using Type.GetMember()
1969             with the member name.
1970           - Code refactoring so that <param/> and <typeparam/> generation & updating
1971             is consistent.
1972           - Properly use `this' for method name on indexers.
1973         * monodocs2html.cs: Add Generics support -- use the @File attribute instead
1974           of assuming that @Name contains the proper filename.
1975         * defaulttemplate.xsl: Use <h1> instead of <div>; add CSS for
1976           `.InnerSignatureTable tr' and `.TypePermissionTable tr'.
1977         * overview.xsl: If there are fewer than $max-types (20) types in the
1978           assembly, show them all in the top-level index.html, no matter how many
1979           namespaces are present.  Otherwise, provide links to the
1980           Namespace/index.html files, so that things don't suddenly look different
1981           as soon as you go from 1 namespace to > 1 namespaces in an assembly.
1982           Use <h2/> instead of <div/>.
1983         * stylesheet.xsl: Major overhaul for Generics support, some re-indentation.
1984           - Use <h2/>...<h4/> instead of <div/>
1985           - Allow output to validate against XHTML.
1986           - Don't use generate-id(), but instead generate member ID's manually so
1987             that we can properly refer to them from outside the current page.
1988           - Add support for <see cref=""/> translation to non-types --
1989             constructors, methods, properties, fields, events.  These can refer to
1990             members from a different file, since generate-id() is no longer used.
1991                 - Update the mono-docs site so links to System.* types work.
1992                 - Add support for additional Mono.* namespaces on the mono-docs site.
1993           - Properly display C# indexers ("type this [params]", not 
1994             "type Item [params]").
1995           - Generate documentation for <typeparam/> elements.
1996         * DocTest.cs: Added; Source for DocTest.dll, used by unit tests.
1997         * DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
1998           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
1999           DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
2000           DocTest/html.expected/Mono.DocTest/DocValueType.html,
2001           DocTest/html.expected/Mono.DocTest/IProcess.html,
2002           DocTest/html.expected/Mono.DocTest/index.html,
2003           DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
2004           DocTest/html.expected/Mono.DocTest/Color.html,
2005           DocTest/html.expected/Mono.DocTest/Widget+Del.html,
2006           DocTest/html.expected/Mono.DocTest/UseLists.html,
2007           DocTest/html.expected/Mono.DocTest/Widget.html,
2008           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
2009           DocTest/html.expected/Mono.DocTest.Generic/index.html,
2010           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
2011           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
2012           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
2013           DocTest/html.expected/index.html,
2014           DocTest/en.expected/Mono.DocTest.Generic.xml,
2015           DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
2016           DocTest/en.expected/Mono.DocTest/IProcess.xml,
2017           DocTest/en.expected/Mono.DocTest/Widget.xml,
2018           DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
2019           DocTest/en.expected/Mono.DocTest/DocValueType.xml,
2020           DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
2021           DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
2022           DocTest/en.expected/Mono.DocTest/Widget+Del.xml,
2023           DocTest/en.expected/Mono.DocTest/UseLists.xml,
2024           DocTest/en.expected/Mono.DocTest/Color.xml,
2025           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
2026           DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
2027           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
2028           DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
2029           DocTest/en.expected/index.xml, DocTest/en.expected/Mono.DocTest.xml:
2030           Added.  Expected output for monodocer (en.expected) and 
2031           monodocs2html (html.expected).
2032
2033 2006-04-01  Joshua Tauberer  <tauberer@for.net>
2034
2035         * monodocs2html.cs: Skip files that are missing.
2036
2037 2006-03-09  Joshua Tauberer  <tauberer@for.net>
2038
2039         * monodocer.cs: Reverted all of the Cecil changes.  Ah well.
2040
2041 2006-03-04  Joshua Tauberer  <tauberer@for.net>
2042
2043         * monodocer.cs: Using Cecil now!  (Some Cecil fixes
2044           need to be committed.)
2045
2046 2006-03-03  Joshua Tauberer  <tauberer@for.net>
2047
2048         * monodocer.cs: Don't change up whitespace unless user says so.
2049           That makes it hard to see differences against svn.
2050
2051 2006-01-12  Jonathan Pryor  <jonpryor@vt.edu>
2052
2053         * bsd-man-to-ecma.pl, bsd-man-to-exception.pl: Added; scripts to help
2054           convert BSD man pages into ECMA XML formats.  Run `perldoc PROGRAM` for
2055           program documentation.
2056         * Makefile.am: Add bsd-man-to-ecma.pl and bsd-man-to-exception.pl to
2057           EXTRA_DIST.
2058
2059 2005-08-11  Dan Winship  <danw@novell.com>
2060
2061         * monodocer.cs: Don't preserve whitespace when reading the old
2062         doc, and don't add any whitespace when creating the new doc. Just
2063         let the XmlTextWriter handle indentation and it will all just
2064         work.
2065
2066 2005-08-03  Atsushi Enomoto  <atsushi@ximian.com>
2067
2068         * monodocer.cs : update name attribute in paramref elements in sync
2069           with that of param element.
2070
2071 2005-07-09  Joshua Tauberer <tauberer@for.net>
2072
2073         From Rodolfo Campero <rodolfo.campero@gmail.com>
2074         (more or less):
2075         * monodocs2slashdoc.cs: Updated for changes in
2076         index.xml for documenting multiple assemblies.
2077         This app now writes out XML files for each assembly
2078         as well as NamespaceSummaries.xml to the working
2079         directory.
2080
2081 2005-06-12  Joshua Tauberer  <tauberer@for.net>
2082
2083         * monodocer.cs: Added --importslashdoc option to
2084           import the contents of /doc-generated xml docs
2085           into the generated files.
2086
2087 2005-06-09  Joshua Tauberer  <tauberer@for.net>
2088
2089         * monodocer.cs : When documenting a single assembly,
2090           default the Title in index.xml to the name of the
2091           assembly.
2092
2093 2005-06-04  Eric Butler  <eric@extremeboredom.net>
2094
2095         (copied from ChangeLog in parent directory)
2096     * monodocer.cs
2097                 - Now exits with an exit code of 1 in the event of an error
2098                 - Added '-name' command line argument
2099                 - Use above argument for <Title> element
2100
2101 2005-06-01  Joshua Tauberer <tauberer@for.net>
2102
2103         * monodocer.cs : Old index.xml files need to have new nodes
2104           created for multiple assemblies, and the old Assembly and
2105           Attributes nodes removed.  Added a Title element for 2html.
2106           
2107         * overview.xsl : Revised monodocs2html to use the Title
2108           element in index.xml for page titles, rather than the
2109           assembly name, which isn't available anymore since there
2110           may be more than one assembly.
2111
2112 2005-05-23  Mike Kestner <mkestner@novell.com>
2113
2114         * monodocer.cs : add multiple assembly updating. 
2115
2116 2005-05-09  Joshua Tauberer <tauberer@for.net>
2117
2118         * Thanks for pushing me to use a ChangeLog.
2119         * Disallow documenting types in the root namespace (type.Namespace ==
2120           null).
2121         * When a <code> tag has a 'src' attribute, monodocer will replace
2122           the contents of the element with the text in the indicated file.
2123           the path is relative to the path given as the --path option.
2124         * Properties that have different access modifiers on their accessors
2125           are now given signatures that reflect that.  (But Monodoc doesn't
2126           recognize this properly.  A format change is needed.)
2127         * monodocs2html: Create the destination directory if it doesn't exist.
2128
2129 2005-01-29  Jonathan Pryor <jonpryor@vt.edu>
2130
2131         * ChangeLog: Added
2132         * monodocer.cs (GetTypeFileName): Add check for type.Namespace == null.
2133           Fixes NullReferenceException when trying to update Mono.Posix.dll.
2134