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