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