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