2007-07-19 Jonathan Pryor * monodocer.cs: Always fully consume children. If we have e.g. , but there is no existing parameter "foo", we would previously process the nested node and append it to the child nodes. 2007-07-18 Jonathan Pryor * monodocer.cs: Change OrderDocsNodes() so that it uses XmlNode.InsertAfter() instead of XmlNode.InsertBefore(). The result is mostly the same (i.e. no regression test changes), but if you have a non-ordered node between other nodes this will force the non-ordered node to the *end* of the children, not the start. For example, given the input , we used to get , while we now get . 2007-07-17 Jonathan Pryor * monodocer.cs: Insert the type's node before . This is consistent with ECMA documentation ordering, and makes more sense (when editing the file you can edit the Type documentation before member documentation, instead of after all members as was the case before). * DocTest/en.expected/System/Environment.xml, DocTest/en.expected/System/Environment+SpecialFolder.xml, DocTest/en.expected/System/Array.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml, DocTest/en.expected/Mono.DocTest/Widget.xml, DocTest/en.expected/Mono.DocTest/DocValueType.xml, DocTest/en.expected/Mono.DocTest/IProcess.xml, DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml, DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml, DocTest/en.expected/Mono.DocTest/DocAttribute.xml, DocTest/en.expected/Mono.DocTest/UseLists.xml, DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml, DocTest/en.expected/Mono.DocTest/Color.xml, DocTest/en.expected/Mono.DocTest/Widget+Direction.xml, DocTest/en.expected.since/System/Environment.xml, DocTest/en.expected.since/System/Environment+SpecialFolder.xml, DocTest/en.expected.since/System/Array.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml, DocTest/en.expected.since/Mono.DocTest/Widget.xml, DocTest/en.expected.since/Mono.DocTest/AddedType.xml, DocTest/en.expected.since/Mono.DocTest/DocValueType.xml, DocTest/en.expected.since/Mono.DocTest/IProcess.xml, DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml, DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml, DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml, DocTest/en.expected.since/Mono.DocTest/UseLists.xml, DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml, DocTest/en.expected.since/Mono.DocTest/Color.xml, DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml, DocTest/en.expected.importecmadoc/System/Environment.xml, DocTest/en.expected.importecmadoc/System/Array.xml, DocTest/en.expected.importslashdoc/System/Environment.xml, DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml, DocTest/en.expected.importslashdoc/System/Array.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml: Update so that comes before , not after. 2007-07-14 Jonathan Pryor * monodocer.cs: If a had an empty element, we'd start reading the elements from the *next* ; oops. * DocTest-v1.cs: Add System.AsyncCallback, which is a delegate and thus had an empty element. * Makefile.am: Also import docs for System.AsyncCallback. * overview.xsl: Update $max-types so that adding System.AsyncCallback doesn't trigger the alternate behavior, creating a larger diff than necessary. * TestEcmaDocs.xml: Add docs for System.AsyncCallback. * DocTest/en.expected/System/AsyncCallback.xml, DocTest/en.expected/index.xml, DocTest/en.expected.since/System/AsyncCallback.xml DocTest/en.expected.since/index.xml, DocTest/html.expected/System/AsyncCallback.html DocTest/html.expected/System/index.html, DocTest/html.expected/index.html, DocTest/en.expected.importecmadoc/System/AsyncCallback.xml, DocTest/en.expected.importslashdoc/System/AsyncCallback.xml, DocTest/en.expected.importslashdoc/index.xml: Added; expected imported documentation for System.AsyncCallback. 2007-07-14 Jonathan Pryor * monodocer.cs: Remove the "While Importing ECMA chidren, found node..." error by ensuring that we're at the start of an actual non-whitespace element before hitting the switch statement. 2007-07-14 Jonathan Pryor * monodocer.cs: Don't call DoUpdateType() with non-public types. This allows `monodocer -importecmadoc` to fully run and import mscorlib.dll. 2007-07-14 Jonathan Pryor * monodocer.cs: Ensure that getting a MemberInfo based on the documentation that the MemberInfo was actually found... (Allows a full mscorlib.dll import to run for > 15s before dying.) 2007-07-04 Jonathan Pryor * monodocer.cs: Use XmlReader instead of XPathDocument to process the ECMA documentation import. This cuts down a -type:System.Array import from ~10-12s to ~7-8s (not great, but better). "Fix" the ordering of child elements so that importing ECMA/slashdoc documentation doesn't change the normal ordering. * DocTest/en.expected.importecmadoc/System/Array.xml, DocTest/en.expected.importecmadoc/System/Environment.xml: Alter order of elements to match the normally generated order. 2007-06-20 Jonathan Pryor * monodocer.cs: Sort /Type/Members/Member elements so that the order is not dependent upon Reflection order. * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, DocTest/en.expected.importecmadoc/System/Array.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml: Flush (sort elements). 2007-06-19 Jonathan Pryor * monodocer.cs: Sort and elements by their Name attribute. This helps keep diff's smaller, as the generated order won't be dependent upon Reflection order. * DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml, DocTest/en.expected.importslashdoc/index.xml: Flush (sort namespaces and types alphabetically). 2007-06-19 Jonathan Pryor * monodocer.cs: Cleanup Console output. - Use Console.Error for error messages, not status messages. - Error should be prefixed by "monodocer" (follows Unix conventions). - Don't print "Updating..." followed by "New Type..." for the same type. - Use __monodocer-seen__ sentinal for imported nodes so that we don't try to lookup the corresponding member later in GetDocumentationMembers(). 2007-06-19 Jonathan Pryor * monodocer.cs: Lots 'o fixes/improvements. - Allow multiple -type parameters to be specified. - Remove type member enumeration from UpdateTypes() -- use DoUpdateType2(). - Iterate over assembly types in Ecma Documentation order (so that we read the Ecma docs sequentially, not randomly). - Allow -type to *create* new documentation files. - Remove unused methods. * Makefile.am: Add check-monodocer-importecmadoc, check-monodocer-importecmadoc-update targets (unit tests for -importecmadoc). * TestEcmaDocs.xml: Added; ECMA Documentation input file for use with -importecmadoc tests. * DocTest-v1.cs: Add System.Array to help test -importecmadoc behavior. * DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml, DocTest/html.expected/System/index.html, DocTest/html.expected/index.html, DocTest/en.expected.importslashdoc/index.xml: Flush (add System.Array to index files). * DocTest/en.expected/System/Array.xml, DocTest/en.expected.since/System/Array.xml, DocTest/html.expected/System/Array.html, DocTest/en.expected.importecmadoc/System/Environment.xml, DocTest/en.expected.importecmadoc/System/Array.xml, DocTest/en.expected.importslashdoc/System/Array.xml: Added; expected output for System.Array type for various tests. 2007-06-18 Wade Berrier * monodocer.cs: Move assembly information up top because having it at the bottom fails to compile with mcs from trunk. 2007-06-14 Jonathan Pryor * monodocer.cs: Use XPathDocument instead of XmlDocument to process the ECMA documentation import. This cuts down a -type:System.Array import from ~15-20s to ~10-12s (not great, bug better). Fix importing of elements -- previously we would skip them if the mono docs lacked them. 2007-06-12 Jonathan Pryor * monodocer.cs: The previous fix was buggy -- if the type parameters were renamed (ConvertAll in ECMA, ConvertAll in Mono), then the existing element wouldn't be found, but the MemberInfo would. Result: duplicate XML elements (BOTH ConvertAll AND ConvertAll), one of which is wrong, which clearly isn't desirable. If the Mono XML element can't be found, try looking it up based on the MemberInfo found from the ECMA docs to avoid duplication. 2007-06-11 Jonathan Pryor * monodocer.cs: Add support for renaming of template parameters (useful because ECMA 335 refers to Array.ConvertAll while Mono/.NET have Array.ConvertAll). Not terribly intelligent, but smart enough that all but two System.Array members can now be imported (a private constructor, and a member with an incorrectly documented parameter type, neither of which I plan on supporting). Cleanup some of the `#if NET_1_0` blocks by using `using' aliases -- alas, requires moving the [assembly:...] attributes; see bugzilla #81855. 2007-06-11 Jonathan Pryor * monodocer.cs: Add support for explicity-implemented interface members. Minor cleanup. Replace catch(NotSupportedException){} blocks. * Makefile.am (clean): Cleanup monodocer.exe* files. * DocTest-v1.cs: Add IFoo, explicitly implement some interfaces on MyList to test explicitly-implemented member support. * DocTest/en.expected/index.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.since/index.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, DocTest/html.expected/Mono.DocTest.Generic/index.html, DocTest/html.expected/index.html, DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html, DocTest/en.expected.importslashdoc/index.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml: Update. * DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml, DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html: Added. 2007-05-29 Jonathan Pryor * monodocer.cs: Invert ECMA documentation importing -- instead of iterating over the monodoc XML and importing ECMA docs as encountered (randomly), iterate over the ECMA docs in-order and access the monodoc types randomly. This significantly improves access as the ECMA docs are ~7.2MB in size, while the monodoc XML types 10's-100's of KB (randomly accessing a 7.2 MB XML document == BAD; randomly accessing a several hundred KB document is better). This cuts down a -type:System.Array import from ~4 minutes to < ~20s. Alas, it appears to miss a few members as well, so it's not done. 2007-05-19 Jonathan Pryor * monodocer.cs: Create diff(1)-friendly output for -importecmadocs. Previously, we'd remove , , etc., and re-add them at the end of the node, which results in major changes for diff(1), so instead we replace the contents of existing elements when appropriate. Remove '\r' from the imported document (also to remove diff(1)-reported changes as the line endings would change). 2007-05-17 Jonathan Pryor * monodocer.cs: Add -importecmadoc flag, which will import documentation found within an ECMA documetation file (e.g. the CLILibraryTypes.xml from the ECMA-335 standard). WARNING: import is currently SLOW. 2007-05-17 Jonathan Pryor * monodocer.cs: Refactor MakeDocNode() so that there's only one version, not three overloads, and use a (new) DocsNodeInfo type to pass information to the new MakeDocNode() method. This doesn't change anything per-se, but it'll make it easier to pass new parameters to MakeDocNode() without making the rediculously long parameter list even longer... 2007-05-12 Joshua Tauberer * overview.xsl: Always sort type names, since when updating docs monodocer can make the list in index.xml out of order. * monodocer.cs: When deleting duplicate member entries, delay deletion until after loop is finished. * Makefile.am, DocTest-v1.cs, DocTest/en.expected.importslashdoc, DocTest/html.expected: Revise monodocs2html tests to use the /doc file so we can test those tags too. And changed two tags to . * stylesheet.xsl, DocTest/html.expected: Fix see-links to methods, which didn't recognize '(' as delimiting type from args, and display nice type names for arguments. 2007-03-15 Lluis Sanchez Gual * monodocer.cs: When deleting a member, don't remove it from the parent xml element until all members are checked, since doing it breaks the loop. Properly import internal protected members. 2006-12-29 Jonathan Pryor * Makefile.am: Add check-monodocer-ignore_extra_docs-update, check-doc-tools-update, and check-update targets. * monodocer.cs: Fix generation of attribute parameters, as e.g. `AttributeUsage.Class|Struct' doesn't look right; it should instead be `AttributeUsage.Class | AttributeUsage.Struct'. * DocTest-v1.cs: Add new public Attribute with an AttributeUsage for tests. * DocTest/en.expected/index.xml, DocTest/en.expected/Mono.DocTest/DocAttribute.xml, DocTest/en.expected.importslashdoc/index.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml, DocTest/en.expected.since/index.xml, DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml, DocTest/html.expected/index.html, DocTest/html.expected/Mono.DocTest/index.html, DocTest/html.expected/Mono.DocTest/DocAttribute.html: Added; update expected output for new tests. 2006-12-29 Jonathan Pryor * monodocer.cs: Fix C# type name generation for nested types in the System namespace. Remove TypeCastException when dealing with custom attributes. * DocTest-v1.cs: Add System.Environment type for testing System handling. * DocTest/en.expected/index.xml, DocTest/en.expected/System.xml, DocTest/en.expected/System/Environment.xml, DocTest/en.expected/System/Environment+SpecialFolder.xml, DocTest/en.expected.since/index.xml, DocTest/en.expected.since/System.xml, DocTest/en.expected.since/System/Environment+SpecialFolder.xml, DocTest/en.expected.since/System/Environment.xml, DocTest/en.expected.importslashdoc/index.xml, DocTest/en.expected.importslashdoc/System.xml, DocTest/en.expected.importslashdoc/System/Environment.xml, DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml, DocTest/html.expected/index.html, DocTest/html.expected/System/index.html, DocTest/html.expected/System/Environment.html, DocTest/html.expected/System/Environment+SpecialFolder.html: Added; update expected output for new tests. 2006-12-29 Jonathan Pryor * monodocer.cs: `abstract sealed' classes are actually `static' classes. 2006-12-27 Jonathan Pryor * monodocer.cs: Re-order the attributes in elements so that the ordering is (somewhat) well defined. This helps with `diff' output in ../class, as it prevents "false positives" when the attributes are re-ordered. Fix CSharpFullMemberFormatter.GetTypeDeclaration() so that when handling C# builtin types (e.g. System.Byte) it uses the real name in the declaration instead of the C# keyword (`class byte' is wrong). 2006-12-26 Jonathan Pryor * Makefile.am: Add check-monodocer-ignore_extra_docs test. * monodocer.cs: Fix -ignore_extra_docs. Previously, it would just ignore "missing" types, but it would still remove "missing" members. 2006-12-26 Jonathan Pryor * monodocer.cs: Don't insert internal attributes into the documentation. * DocTest-v1.cs: Add test for use of an internal attribute. 2006-12-21 Jonathan Pryor * monodocer.cs: Don't include full namespace for System.* types. *Do* include the full namespace for nested System types, e.g. System.Collections.IEnumerable. This is what is currently in ../class/corlib/en, and making this change results in a smaller diff. * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected/Mono.DocTest/UseLists.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.since/Mono.DocTest/UseLists.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml: Update unit tests for above monodocer.cs change. 2006-12-21 Jonathan Pryor * monodocer.cs: Don't include full namespace for System.* types. This is what ECMA-335 CLILibraryTypes.xml does for C# declarations -- no namespaces within e.g. inheritance lists or parameter lists for the System namespace and namespaces nested within System. Remove unnecessary console output. * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected/Mono.DocTest/UseLists.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.since/Mono.DocTest/UseLists.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml: Update unit tests for above monodocer.cs change. 2006-12-21 Jonathan Pryor * monodocer.cs: Make sure that the types we document are *really* public. For some reason public nested types of internal types are returned by Assembly.GetTypes(), e.g. ``internal class A { public class B {} }'' These types shouldn't be documented. * DocTest-v1.cs: Add test case for above. 2006-12-21 Jonathan Pryor * monodocer.cs: Add -ignore_extra_docs flag; when set, it will not rename .xml files for types not found to .xml.remove. This is useful in ../class when we're processing assemblies multiple times for the 1.0 & 2.0 profiles, as when processing the 1.0 profile we'll be "missing" the 2.0 types, and we don't want those to be renamed. 2006-12-21 Jonathan Pryor * Makefile.am: Add a monodocer1.exe target, which is a version of monodocer which runs under the 1.0 runtime. This is necessary so that we can still generate/update docs for mscorlib.dll 1.0 (as only one mscorlib.dll can ever be loaded into a process). * monodocer.cs: Split out the .NET 2.0 functionality so that it can be built for both 1.0 and 2.0 runtimes. 1.0 support is controlled by the NET_1_0 define. 2006-12-20 Jonathan Pryor * monodocer.cs: Don't try too hard in UpdateParameters(). Previously, if a the number of parameters a method accepted changed from > 1 to 1, the "easy" handling would (inadvertently?) change all s to have the @name of the method's single parameter -- so if you _had_ parameters A, B, and C but the method now only has D, then A, B, and C would all have their @name attribute changed to D. Odd, but possibly acceptable... ...until we try to make sure that the s are in the right order, in which case we'll record the index of D as 0 (it's the 1st parameter), but find a parameter with a different index (the old B & C), causing us to reinsert the parameter to make sure it's in the proper order. This results in an infinite loop within System.Xml -- see Bugzilla #80331. It's safer to just ignore the extra parameters. 2006-12-07 Jonathan Pryor * DocTest-v1.patch: Add an operator returning a generic parameter (triggers error fixed in monodocer.cs). * DocTest-v2.patch: Update (due to changes in DocTest-v1.cs). * monodocer.cs: CSharpFullMemberFormatter.AppendVisibility() needs to accept null MethodBases (when called from GetEventDeclaration() and e.GetAddMethod() returns null); fix SlashDocMemberFormatter.GetMethodDeclaration() so that generic types can be the return value of methods. These changes allow generation of documentation on Mono's 2.0 mscorlib.dll. * stylesheet.xsl: Use GetParameterType() to emit the return type of explicit/implicit operators, as they can be/use generic arguments. * DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml, DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html: Flush to match current output. 2006-11-22 Jonathan Pryor * monodocer.cs: Don't generate documentation/prototypes for non-public property get/set accessors. Patch from Ivan N. Zlatev. 2006-11-01 Jonathan Pryor * monodocer.cs: When importing -importslashdoc documentation, convert elements into elements (as the former is the recommended element within ECMA-334, while the latter is the actual element used for our ECMA documentation). * DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush. 2006-10-27 Jonathan Pryor * stylesheet.xsl: Generate more correct string id's for "id" attribute values, so that string ids match the output of CSC.EXE 2.0. Changes: append ``N instead of `N for generic methods, and use the correct 0-based type parameter index, not a 1-based index. * DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html, DocTest/html.expected/Mono.DocTest/UseLists.html: Flush. 2006-10-24 Jonathan Pryor * DocTest-v1.cs: Add /doc comments (for use with `make check-monodocer-importslashdoc`). * DocTest-v2.patch: Update (due to changes in DocTest-v1.cs). * Makefile.am: Add check-monodocer-importslashdoc, check-monodocer-importslashdoc-update targets. * monodocer.cs: Fix -importslashdoc. Massively refactor generation of strings from MemberInfos (Type, MethodInfo, etc.) so that commonalities between DocType, C#, and /doc string IDs can be shared and easily customized (as opposed to dealing with the > 100 line FillDocTypeName() method, which was already too complex). * DocTest/en.expected.importslashdoc/index.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml: Added; expected output for `make check-monodocer-importslashdoc'. 2006-10-19 Jonathan Pryor * Makefile.am: Change check-monodocer target to add a `monodocer -namespace' check, as `-namespace' would use a bad filename generation algorithm. * monodocer.cs: Don't use Type.Name (or equivalent) to generate filenames, but use GetTypeFileName(), so that Foo only tries to open the file Foo`1, instead of the file Foo which (1) is wrong, we never generate filenames like that, and (2) fails horribly on Win32 (as '<' and '>' are invalid path characters). 2006-10-19 Jonathan Pryor * monodocer.cs: Sort member ordering so that when the order of members returned by Type.GetMembers() changes (as it did between 1.1.17 and 1.1.18) the order of the documentation members won't change (leading to "errors" in the regression tests). * DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected/Mono.DocTest/Widget.xml, DocTest/en.expected/Mono.DocTest/DocValueType.xml, DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml, DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml, DocTest/en.expected/Mono.DocTest/UseLists.xml, DocTest/en.expected/Mono.DocTest/Color.xml, DocTest/en.expected/Mono.DocTest/Widget+Direction.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.since/Mono.DocTest/Widget.xml, DocTest/en.expected.since/Mono.DocTest/DocValueType.xml, DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml, DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml, DocTest/en.expected.since/Mono.DocTest/UseLists.xml, DocTest/en.expected.since/Mono.DocTest/Color.xml, DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml, DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, DocTest/html.expected/Mono.DocTest/Color.html, DocTest/html.expected/Mono.DocTest/Widget+Direction.html, DocTest/html.expected/Mono.DocTest/Widget.html, DocTest/html.expected/Mono.DocTest/DocValueType.html, DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html, DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html, DocTest/html.expected/Mono.DocTest/UseLists.html: Flush. Since monodocer generates a different member ordering, *everything* gets a different ordering. 2006-10-12 Jonathan Pryor * monodocer.cs: Add support for inserting Docs/since element. This element is *only* inserted for NEW type/members, never updated, and is only inserted if the -since:SINCE command-line argument is provided. * DocTest.cs: Renamed to DocTest-v1.cs. * Makefile.am: Add DocTest.dll-v1, DocTest.dll-v2, check-monodocer-since, check-monodocer-since-update, check targets. * DocTest-v2.patch: Patch file applied to DocTest-v1.cs to get DocTest.dll version 2.0.0.0. * DocTest/en.expected.since/index.xml, DocTest/en.expected.since/Mono.DocTest.xml, DocTest/en.expected.since/Mono.DocTest/AddedType.xml, DocTest/en.expected.since/Mono.DocTest/Color.xml, DocTest/en.expected.since/Mono.DocTest/DocValueType.xml, DocTest/en.expected.since/Mono.DocTest/IProcess.xml, DocTest/en.expected.since/Mono.DocTest/UseLists.xml, DocTest/en.expected.since/Mono.DocTest/Widget.xml, DocTest/en.expected.since/Mono.DocTest/Widget+Del.xml, DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml, DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml, DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml, DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic.xml, DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml: Added; expected output for DocTest.dll v2.0.0.0. 2006-10-11 Jonathan Pryor * stylesheet.xsl: Add /Members/Docs node in GetInheritedMembers() so that GetLinkId() sees typeparam elements for type replacement in parameters for members of base types. Make sure that "simple" type arguments are replaced, e.g. T --> `1. TODO: figure out type replacements for nested types. * DocTest/html.expected/Mono.DocTest/UseLists.html, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Change link id's and targets for proper type replacements within parameters. 2006-10-10 Joshua Tauberer * monodocer.cs: Fixed a bug in WriteElement that would put nodes in the wrong place if some node in the path already existed. - To prevent TypeParameters from always being put at the end on an update, don't delete that node in an update, just clear it. - Update the DisplayName attribute in index.xml on doc updates. * DocTest/*: Updated for the DisplayName fix, and also put into a pristine state (I had committed them as an update, which put the TypeParameters block at the end of the files.) 2006-10-09 Joshua Tauberer * monodocer.cs: Update a type's name attributes during an update because generic argument names may change even if filename hasn't. - Added a Type/TypeParameters section which includes type parameters that come from the declaring type, for nested types. - When inheriting from a generic type, added a BaseTypeArguments section which maps type parameters on the base type's type definition to types instantiating those parameters. i.e.: class X { } class Y : X { } Y gets a mapping in its BaseType node from T to U. * stylesheet.xsl: Don't attempt to link to a generic type parameter, just display it in italics. And when displaying inherited members, try to replace generic type parameters in the base type with the types that have instantiated them in this type. * The DocTests are updated to show off these things. 2006-10-08 Joshua Tauberer * monodocer.cs: Track which members have been seen in the XML file not by putting MemberInfos into a hashtable, which seems to not always work right, but instead by their (string) signature. - Get custom attribute data with the new 2.0 CustomAttributeData classes, so that we can reconstruct what the constructor actually looked like. - Hide System.Runtime.InteropServices.Out attributes since it is fake and already in the RefType XML attribute. - Structs weren't getting their interfaces listed in their C# type signatures. * monodocs2html.cs: Don't override the default XSLT URI resolver anymore. * stylesheet.xsl: Get the index.xml document at the start while we're sure we have the right base path (the XML document being transformed). - Display inherited members in a type's member list when the base type is documented in the same monodocer document set. - Make sure there's a space between a method's parameters and return value type in the member list. * DocTest: Updated to test these things. 2006-10-06 Jonathan Pryor * overview.xsl: When generating a Namespace/index.html file, we should insert the namespace remarks as well. (This *should* have been done, but the remarks selection was relative to '.', not to the provided $ns. :-( * DocTest/html.expected/Mono.DocTest.Generic/index.html, DocTest/html.expected/Mono.DocTest/index.html: Flush. 2006-10-06 Jonathan Pryor * Makefile.am: Fix -update targets so they don't delete .svn/*. * monodocer.cs: Don't key off of DisplayName to insert new elements, as this will result in updating all existing documentation (rather silly). Key off of Name instead, and only create a DisplayName attribute if it differs from Name. * DocTest/en.expected/index.xml: Update to latest monodocer output. * monodocs2html.cs: If DisplayName doesn't exist, fall back to Name ("legacy" behavior, now made current due to change in monodocer.cs). * stylesheet.xsl: For "Name [Generic ] [MemberType]" descriptions, make the 2nd space part of "Generic". Otherwise we get double spaces for non-generic members, e.g. "Name [MemberType]". * overview.xsl: Fallback to @Name if @DisplayName doesn't exist. * DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html, DocTest/html.expected/Mono.DocTest/Widget.html, DocTest/html.expected/Mono.DocTest/DocValueType.html, DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html, DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html, DocTest/html.expected/Mono.DocTest/UseLists.html: Update to latest monodocs2html output. 2006-10-06 Jonathan Pryor * Makefile.am: Build with gmcs; add `-debug' to compile lines; add DocTest.dll, check-monodocer, check-monodocer-update, check-monodocs2html/ check-monodocs2html-update targets for unit tests. * monodocer.cs: Major overhaul for Generics support. Documentation generated follows the pattern used in CLILibraryTypes.xml from ECMA-335. - Remove some warnings about unused variables. - Don't assume that Type.FullName is always what we want, but instead build a C# typename from the Type information. This is needed to nicely deal with generics, as the FullName for Foo would be Foo[[System.Int32, mscorlib]], while we really want Foo. - For index.xml files, insert a File attribute, as the Type name won't match the filename for generic types (Foo is the file Foo`1.xml). - For GetMember(), remove generic parameters before using Type.GetMember() with the member name. - Code refactoring so that and generation & updating is consistent. - Properly use `this' for method name on indexers. * monodocs2html.cs: Add Generics support -- use the @File attribute instead of assuming that @Name contains the proper filename. * defaulttemplate.xsl: Use

instead of
; add CSS for `.InnerSignatureTable tr' and `.TypePermissionTable tr'. * overview.xsl: If there are fewer than $max-types (20) types in the assembly, show them all in the top-level index.html, no matter how many namespaces are present. Otherwise, provide links to the Namespace/index.html files, so that things don't suddenly look different as soon as you go from 1 namespace to > 1 namespaces in an assembly. Use

instead of
. * stylesheet.xsl: Major overhaul for Generics support, some re-indentation. - Use

...

instead of
- Allow output to validate against XHTML. - Don't use generate-id(), but instead generate member ID's manually so that we can properly refer to them from outside the current page. - Add support for translation to non-types -- constructors, methods, properties, fields, events. These can refer to members from a different file, since generate-id() is no longer used. - Update the mono-docs site so links to System.* types work. - Add support for additional Mono.* namespaces on the mono-docs site. - Properly display C# indexers ("type this [params]", not "type Item [params]"). - Generate documentation for elements. * DocTest.cs: Added; Source for DocTest.dll, used by unit tests. * DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html, DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html, DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html, DocTest/html.expected/Mono.DocTest/DocValueType.html, DocTest/html.expected/Mono.DocTest/IProcess.html, DocTest/html.expected/Mono.DocTest/index.html, DocTest/html.expected/Mono.DocTest/Widget+Direction.html, DocTest/html.expected/Mono.DocTest/Color.html, DocTest/html.expected/Mono.DocTest/Widget+Del.html, DocTest/html.expected/Mono.DocTest/UseLists.html, DocTest/html.expected/Mono.DocTest/Widget.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html, DocTest/html.expected/Mono.DocTest.Generic/index.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html, DocTest/html.expected/index.html, DocTest/en.expected/Mono.DocTest.Generic.xml, DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml, DocTest/en.expected/Mono.DocTest/IProcess.xml, DocTest/en.expected/Mono.DocTest/Widget.xml, DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml, DocTest/en.expected/Mono.DocTest/DocValueType.xml, DocTest/en.expected/Mono.DocTest/Widget+Direction.xml, DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml, DocTest/en.expected/Mono.DocTest/Widget+Del.xml, DocTest/en.expected/Mono.DocTest/UseLists.xml, DocTest/en.expected/Mono.DocTest/Color.xml, DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml, DocTest/en.expected/index.xml, DocTest/en.expected/Mono.DocTest.xml: Added. Expected output for monodocer (en.expected) and monodocs2html (html.expected). 2006-04-01 Joshua Tauberer * monodocs2html.cs: Skip files that are missing. 2006-03-09 Joshua Tauberer * monodocer.cs: Reverted all of the Cecil changes. Ah well. 2006-03-04 Joshua Tauberer * monodocer.cs: Using Cecil now! (Some Cecil fixes need to be committed.) 2006-03-03 Joshua Tauberer * monodocer.cs: Don't change up whitespace unless user says so. That makes it hard to see differences against svn. 2006-01-12 Jonathan Pryor * bsd-man-to-ecma.pl, bsd-man-to-exception.pl: Added; scripts to help convert BSD man pages into ECMA XML formats. Run `perldoc PROGRAM` for program documentation. * Makefile.am: Add bsd-man-to-ecma.pl and bsd-man-to-exception.pl to EXTRA_DIST. 2005-08-11 Dan Winship * monodocer.cs: Don't preserve whitespace when reading the old doc, and don't add any whitespace when creating the new doc. Just let the XmlTextWriter handle indentation and it will all just work. 2005-08-03 Atsushi Enomoto * monodocer.cs : update name attribute in paramref elements in sync with that of param element. 2005-07-09 Joshua Tauberer From Rodolfo Campero (more or less): * monodocs2slashdoc.cs: Updated for changes in index.xml for documenting multiple assemblies. This app now writes out XML files for each assembly as well as NamespaceSummaries.xml to the working directory. 2005-06-12 Joshua Tauberer * monodocer.cs: Added --importslashdoc option to import the contents of /doc-generated xml docs into the generated files. 2005-06-09 Joshua Tauberer * monodocer.cs : When documenting a single assembly, default the Title in index.xml to the name of the assembly. 2005-06-04 Eric Butler (copied from ChangeLog in parent directory) * monodocer.cs - Now exits with an exit code of 1 in the event of an error - Added '-name' command line argument - Use above argument for element 2005-06-01 Joshua Tauberer <tauberer@for.net> * monodocer.cs : Old index.xml files need to have new nodes created for multiple assemblies, and the old Assembly and Attributes nodes removed. Added a Title element for 2html. * overview.xsl : Revised monodocs2html to use the Title element in index.xml for page titles, rather than the assembly name, which isn't available anymore since there may be more than one assembly. 2005-05-23 Mike Kestner <mkestner@novell.com> * monodocer.cs : add multiple assembly updating. 2005-05-09 Joshua Tauberer <tauberer@for.net> * Thanks for pushing me to use a ChangeLog. * Disallow documenting types in the root namespace (type.Namespace == null). * When a <code> tag has a 'src' attribute, monodocer will replace the contents of the element with the text in the indicated file. the path is relative to the path given as the --path option. * Properties that have different access modifiers on their accessors are now given signatures that reflect that. (But Monodoc doesn't recognize this properly. A format change is needed.) * monodocs2html: Create the destination directory if it doesn't exist. 2005-01-29 Jonathan Pryor <jonpryor@vt.edu> * ChangeLog: Added * monodocer.cs (GetTypeFileName): Add check for type.Namespace == null. Fixes NullReferenceException when trying to update Mono.Posix.dll.