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