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