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