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