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