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