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