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