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