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