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