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