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