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