Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/api-doc-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-27[.NET] Compound Type Constraint Does Not Render (#545)Michael Jin
2020-03-25display "TypeParameter" node for delegate only if generic parameters are ↵Ann Meng
declared by itself
2019-12-20fix test case expected resultAnn Meng
2018-10-10all interfaces are now listed.Joel Martinez
Closes #334
2018-08-30removed the exception flag on integration tests.Joel Martinez
An updated local version of mdoc started causing test output changes which clashed with the CI build agent's config. So this change removes this functionality from the integration tests, and adds a few unit tests that tests the exception functionality. Closes #341
2018-07-06updated html output tests.Joel Martinez
Difference was due to https://github.com/mono/api-doc-tools/pull/130
2018-07-05mdoc: Incorrect signatures generated for return typesGRODNO\Anton_Sokolovskii
Removed namespace when return type is generic Added integration tests Added unit test Add RefType attribute to ReturnType element Closes #230
2017-11-17mdoc: C# formatter is not outputting "protected internal"GRODNO\Anton_Sokolovskii
Corrected VB and C# formatters Edited integration tests Closes #137
2017-06-01mdoc: now supports 'see href'.Joel Martinez
Resolves #62
2017-04-21Updates for Mono 5.0Joel Martinez
Now using MSBuild. Updated some test data to reflect newly thrown exceptions. Updated to a newer version of NUnit.
2017-02-17mdoc: Resolves an issue with generic array extension methods. (#22)Joel Martinez
Closes #6
2016-10-08[mdoc] Update expected results due to 3156d1b05d75a2f70f1f2a882dab031a8ceed9f9Marek Safar
2016-10-08Update failing testMarek Safar
2016-10-08[mdoc] Fix NullReferenceException when importing @name attribute.Jonathan Pryor
(Reported by directhex on #mono 2014-05-14 at 14:28 EDT.) When importing Microsoft XML Documentation, if a //altmember/@name, //exception/@name, or //permission/@name attribute is encountered then mdoc will die with a NullReferenceException: mdoc: System.NullReferenceException: Object reference not set to an instance of an object at Mono.Documentation.MsxdocDocumentationImporter.ImportDocumentation (Mono.Documentation.DocsNodeInfo info) at Mono.Documentation.MDocUpdater.MakeDocNode (Mono.Documentation.DocsNodeInfo info) at Mono.Documentation.MDocUpdater.UpdateMember (Mono.Documentation.DocsNodeInfo info) at Mono.Documentation.MDocUpdater.MakeMember (System.Xml.XmlDocument doc, Mono.Documentation.DocsNodeInfo info) at Mono.Documentation.MDocUpdater.DoUpdateType2 (System.String message, System.Xml.XmlDocument basefile, Mono.Cecil.TypeDefinition type, System.String output, Boolean insertSince) at Mono.Documentation.MDocUpdater.StubType (Mono.Cecil.TypeDefinition type, System.String output) at Mono.Documentation.MDocUpdater.DoUpdateType (Mono.Cecil.TypeDefinition type, System.String basepath, System.String dest) at Mono.Documentation.MDocUpdater.DoUpdateAssembly (Mono.Cecil.AssemblyDefinition assembly, System.Xml.XmlElement index_types, System.String source, System.String dest, System.Collections.Generic.HashSet`1 goodfiles) at Mono.Documentation.MDocUpdater.DoUpdateAssemblies (System.String source, System.String dest) at Mono.Documentation.MDocUpdater.Run (IEnumerable`1 args) at Mono.Documentation.MDoc.Run (System.String[] args) at Mono.Documentation.MDoc.Main (System.String[] args) The cause of the NullReferenceException is due to inconsistent checking: we check that _either_ `child.Attributes["cref"]` OR `child.Attributes["name"]` is not null, and if one of them IS non-null then we just grab `child.Attributes["cref"].Value`, which will throw a NullReferenceException if the @name attribute was present but not the @cref attribute. The fix is to be consistent: once we grab an XmlAttribute, use the already looked up XmlAttribute, don't re-look it up.
2016-10-08Updated HTML reference test outputMiguel de Icaza
2016-10-08Flush changes in corlib expected results.Rodrigo Kumpera
2016-10-08[monodoc] Support fields that match operator naming conventionJo Shields
2016-10-08[mdoc] Fix unit tests.Jonathan Pryor
3d3fe6af (among other commits...) "broke" the `mdoc` unit tests, as it did two things: 1. It added a new codepath calling string.Format(), thus introducing a new set of exceptions. 2. Due to an `mdoc` bug, (1) resulted in a stack overflow on OS X. (1) demonstrates that the mdoc unit tests might be too brittle. (2) was fixed in 04bf9ad. The problem with 04bf9ad, though, is that it resulted in a gigantic ~212MB diff, because while the recursion was "fixed", we could still process the same method multiple times, resulting in _lots_ of duplication, e.g. System.String.get_Chars() would be repeated hundreds of times for a given exception. Improve the source reporting mechanism so that instead of a List<MemberReference> we use a HashSet<MemberReference>, listing each source location _once_ instead of repeating them. The _formatting_ of the <exception/> element is also changed so that each source location is on its own line, making it easier to read and review the locations.
2016-10-08[mdoc] Fix export-msxdoc regression, updated expected output.Jonathan Pryor
Commit 44b2b4a8 completely broke `mdoc export-msxdoc` because EcmaDoc.GetCref() was removed. Expected: <member name="C:Mono.DocTest.DocAttribute(System.String)"> Actual: <member name="Mono.DocTest.DocAttribute..ctor"> i.e. useless. The fix: bring back GetCref(), this time within monodocs2slashdoc.cs. Commit 0ad6ffde changed the HTML-generating stylesheet and moved some @id attributes around, thus breaking the mdoc unit tests (expected output likewise changed). Fix the monodoc XSLTs so that we don't emit id="" attributes (id's with no value). Update mdoc's expected output so that tests pass[*]. [*]: tests will NOT actually pass, as 04bf9add -- attempted fix for an OS X stackoverflow caused by 3d3fe6af -- results in a gigantic 216MB diff because String.get_Chars() is repeated over and over and over... The updated expected output in this commit is the "ideal" update needed after locally reverting 3d3fe6af and 04bf9add.)
2016-10-08[mdoc] Generate docs for nested `protected` types.Jonathan Pryor
Nested `protected` types are accessible from subclasses, and thus should be documented just as `public` nested types are.
2016-10-08[mdoc] Add tests for C#4 dynamic, default method parameter values.Jonathan Pryor
2016-10-08[mdoc] Add tests for C#4 variance support.Jonathan Pryor
2016-10-08[mdoc-update] Generate proper lower bounds for multi-dimensional arrays.Jonathan Pryor
Consider the method `void M(double[,,])`. When attempting to import documentation for this method, `mdoc-update` should generate the CREF "M(System.Double[0:,0:,0:])", otherwise some documentation isn't imported. Due to this (and `mcs /doc`-related fixes) and other changes, flush the expected output as more docs are properly imported.
2016-10-08[mdoc] Flush expected test output.Jonathan Pryor
Several commits changed `mdoc` output without committing the updated output, thus causing `make run-test` to fail, e.g. commit 9a1075956e25969118930caff352ad7d3ecc9655. Flush the expected output so that `make run-test` is useful.
2016-10-08[mdoc export-html] Fixup href generation for nested generics.Jonathan Pryor
In certain situations, the type-parameter counting code doesn't skip tokens properly. In some circumstances, this results in invalid links (e.g. refing KeyValuePair`1, not KeyValuePair`2), in others it results in an XSLT error with "!WTF 2". The problem was we weren't properly checking for nested types.
2016-10-08[mdoc-update] Delegate types should get <returns/>, not <value/>.Jonathan Pryor
Oops, that's a long-standing bug... Found by Joel Marcey from ECMA.
2016-10-08Flush updated expected output due to compiler /doc improvements.Jonathan Pryor
'gmcs /doc' now properly generates explicitly implemented interface member //member/@name values, so mdoc-update can now find them for the import. Yay!
2016-10-08Flush expected output for mdoc unit tests.Jonathan Pryor
No mdoc changes, but since 'mdoc update --exceptions=all' scans across assemblies, and since System.Delegate.Combine() now throws additional exceptions (according to our IL scanning algorithm), the expected output differs, leading to false negatives about regressions. Furthermore, 'gmcs /doc' has been fixed (it used to cause a compilation error) and improved, so more XML documentation is now imported because gmcs is generating the correct XML documentation crefs. (Go gmcs, go!)
2016-10-08 * Resources/stylesheet.xsl: Add support for generating namespace linksJonathan Pryor
for <see cref="N:..." />. * Test/DocTest-v1.cs: Add namespace links for testing. * Test/en.expected.importslashdoc/Mono.DocTest/Color.xml, Test/en.expected.importslashdoc/NoNamespace.xml, Test/html.expected/index.html, Test/html.expected/Mono.DocTest/Color.html, Test/html.expected/NoNamespace.html, Test/msxdoc-expected.importslashdoc.xml: Flush. svn path=/trunk/mcs/; revision=147639
2016-10-08 * Test/html.expected/Mono.DocTest.Generic/MyList`1.html,Jonathan Pryor
Test/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush to sync with updated mdoc. Inherited members are now shown (as they were supposed to be, but a bug had prevented from being found). svn path=/trunk/mcs/; revision=147560
2016-10-08 * Mono.Documentation/monodocs2html.cs: Fix behavior when multipleJonathan Pryor
source directories are provided, e.g. 'mdoc export-html -o o a b c' with docs located in directories a, b, and c. Previously this would be equivalent to running aginst a, b, and c separately, resulting in o/index.html being continually overwritten (and thus not showing ALL available types). * Resources/stylesheet.xsl: Make $Index a parameter (as monodocs2html will create an in-memory index containing all types from all specified directories), and various changes to cope with $Index no longer being a file. Better support files in the global namespace. * Test/html.expected/NoNamespace.html: Fix assembly link. svn path=/trunk/mcs/; revision=141629
2016-10-08 * Test/DocTest-v1.cs: Add a comment which uses <format/>, to test htmlJonathan Pryor
escaping behavior. * Resources/monodoc-ecma.xsd: Permit <format/> in various elements. * Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml, Test/html.expected/Mono.DocTest/DocAttribute.html, Test/msxdoc-expected.importslashdoc.xml: Flush. svn path=/trunk/mcs/; revision=139831
2016-10-08 * Mono.Documentation/monodocer.cs: Record attributes that are placedJonathan Pryor
on property get/set and event add/remove accessors. * Test/DocTest-v1.cs: Add attributes to some accessors. * Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml, Test/en.expected.since/Mono.DocTest/Widget.xml, Test/en.expected/Mono.DocTest/Widget.xml, Test/html.expected/Mono.DocTest/Widget.html, Test/msxdoc-expected.importslashdoc.xml: Flush. svn path=/trunk/mcs/; revision=139227
2016-10-08 * Mono.Documentation/monodocer.cs: Don't generate an exception when anJonathan Pryor
enumeration contains multiple names with the same value. Fixes #515030. * Test/DocTest-v1.cs: Add test for #515030. * Test/en.expected/Mono.DocTest/Color.xml, Test/en.expected.since/Mono.DocTest/Color.xml, Test/html.expected/Mono.DocTest/Color.html, Test/msxdoc-expected.importslashdoc.xml, Test/en.expected.importslashdoc/Mono.DocTest/Color.xml: Flush. svn path=/trunk/mcs/; revision=136730
2016-10-08 * Makefile: Add --exceptions to `mdoc update` invocations to testJonathan Pryor
<exception/> generation. * mdoc.exe.sources: Add Mono.Documentation/exceptions.cs to the build. * Mono.Documentation/exceptions.cs: Added; searches through the callgraph of an IMemberReference, recording which exception types are created (and where they're created from). * Mono.Documentation/monodocer.cs: Generate <exception/> elements. * Test/DocTest-v1.cs: Modify some methods so that exceptions are emitted (thus testing <exception/> generation). * Test/DocTest-v2.patch: Update (so patch(1) doesn't complain). * Test/en.expected.importecmadoc/System/Array.xml, Test/en.expected.importecmadoc/System/Environment.xml, Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml, Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml, Test/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml, Test/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml, Test/en.expected.importslashdoc/System/Array.xml, Test/en.expected.importslashdoc/System/Environment.xml, Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml, Test/en.expected.since/Mono.DocTest/DocAttribute.xml, Test/en.expected.since/Mono.DocTest/DocValueType.xml, Test/en.expected.since/Mono.DocTest/UseLists.xml, Test/en.expected.since/Mono.DocTest/Widget.xml, Test/en.expected.since/System/Array.xml, Test/en.expected.since/System/Environment.xml, Test/en.expected/Mono.DocTest.Generic/GenericBase`1.xml, Test/en.expected/Mono.DocTest/DocAttribute.xml, Test/en.expected/Mono.DocTest/DocValueType.xml, Test/en.expected/Mono.DocTest/UseLists.xml, Test/en.expected/Mono.DocTest/Widget.xml, Test/en.expected/System/Array.xml, Test/en.expected/System/Environment.xml, Test/html.expected/Mono.DocTest.Generic/GenericBase`1.html, Test/html.expected/Mono.DocTest/DocAttribute.html, Test/html.expected/Mono.DocTest/DocValueType.html, Test/html.expected/Mono.DocTest/UseLists.html, Test/html.expected/Mono.DocTest/Widget.html, Test/html.expected/System/Array.html, Test/html.expected/System/Environment.html, Test/msxdoc-expected.importslashdoc.xml: Flush; adds <exception/> elements (and/or HTML-rendered output of <exception/> elements). svn path=/trunk/mcs/; revision=120501
2016-10-08 * Mono.Documentation/monodocer.cs: Properties on interfaces shouldn'tJonathan Pryor
have `abstract' on them. * Test/DocTest-v1.cs: Add a property to an interface to check above. * Test/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml, Test/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml, Test/en.expected/Mono.DocTest/Widget+IMenuItem.xml, Test/html.expected/Mono.DocTest/Widget+IMenuItem.html, Test/msxdoc-expected.importslashdoc.xml: Flush. svn path=/trunk/mcs/; revision=118949
2016-10-08 * Mono.Documentation/monodocer.cs: Fix regressions found from Jonathan Pryor
`make doc-update` in corlib: - Ensure that custom attributes are sorted (they weren't before, resulting in spurious differences between Reflection & Cecil output). - CecilExtensions.GetMethod() should return null if the method can't be found. - DocUtils.IsDelegate() should ensure that the delegate type isn't abstract (otherwise it dies on System.MulticastDelegate, which is an abstract type lacking an "Invoke" method). - Properly count generic argument counts for nested types (fixes IOE from S.C.G.Dictionary`2.KeyCollection.Enumerator). * Test/DocTest-v1.cs: Add doubly-nested class under a generic class to simulate S.C.G.Dictionary`2.KeyCollection.Enumerator behavior. * Test/en.expected.importslashdoc/index.xml, Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml, Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml, Test/en.expected.since/index.xml, Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml, Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml, Test/en.expected/index.xml, Test/en.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml, Test/en.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml, Test/html.expected/index.html, Test/html.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.html, Test/html.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection.html, Test/html.expected/Mono.DocTest.Generic/index.html, Test/msxdoc-expected.importslashdoc.xml: Flush (new types/changes from DocTest-v1.cs changes). svn path=/trunk/mcs/; revision=118948
2016-10-08 * Makefile: Don't build monodocer1.exe, and add Mono.Cecil.dll to the Jonathan Pryor
list of assembly references for mdoc.exe. * Mono.Documentation/monodocer.cs: Migrate from System.Reflection to Mono.Cecil. This was done for two reasons: 1. mscorlib.dll: Reflection can load only one mscorlib.dll into an AppDomain, which must be the same mscorlib.dll as the runtime version. Thus, in order to run monodocer on mscorlib.dll v1.1, monodocer must be a .NET 1.1 application, and to document mscorlib.dll v2.0, monodocer must be a .net 2.0 app. 1.a I don't think it's feasable to drop support for mscorlib.dll v1.1. 1.b This has been previously handled (so far) with conditional compilation, but the conditional compilation is painful to maintain, and prevents use of LINQ in ongoing development. 1.c .NET 4.0 will be coming out "soon" (within 2 years?), and it's possible that mono will maintain the same limitation, thus necessitating having *three* different monodocer programs to document mscorlib.dll for v1.1, v2.0, and v4.0. Yech. 2. Future directions: It would be nice to parse method/property IL bodies to determine which exceptions can be generated, thus generating <exception cref="..."/> stubs. Even with empty stubs, I belive this would be useful within e.g. MonoDevelop to know which exceptions a method is able to generate. This cannot be done (at present) with System.Reflection, and would require Mono.Cecil. Downsides: mdoc now depends upon Mono.Cecil, which is API-unstable. This will likely also complicate execution under .NET, as Mono.Cecil would need to be XCOPY deployed into mdoc.exe's directory. * Test/DocTest-v1.cs: Add additional tests for Custom Attribute generation. * Test/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml, Test/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml, Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml, Test/en.expected.since/Mono.DocTest.Generic/Func`2.xml, Test/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, Test/en.expected.since/Mono.DocTest/DocAttribute.xml, Test/en.expected.since/Mono.DocTest/Widget+Direction.xml, Test/en.expected.since/Mono.DocTest/Widget.xml, Test/en.expected/Mono.DocTest.Generic/Func`2.xml, Test/en.expected/Mono.DocTest.Generic/MyList`2.xml, Test/en.expected/Mono.DocTest/DocAttribute.xml, Test/en.expected/Mono.DocTest/Widget+Direction.xml, Test/en.expected/Mono.DocTest/Widget.xml, Test/html.expected/Mono.DocTest.Generic/Func`2.html, Test/html.expected/Mono.DocTest.Generic/MyList`2.html, Test/html.expected/Mono.DocTest/DocAttribute.html, Test/html.expected/Mono.DocTest/Widget+Direction.html, Test/html.expected/Mono.DocTest/Widget.html, Test/msxdoc-expected.importslashdoc.xml: Flush -- updated output due to new custom attributes, better implemented interface detection -- care of the Mono.Cecil migration -- etc. svn path=/trunk/mcs/; revision=118892
2016-10-08 * Test/html.expected/**: Update Jonathan Pryor
//meta[@http-equiv='Content-Type']/@content attribute value (changed due to yesterday's defaulttemplate.xsl fix). svn path=/trunk/mcs/; revision=118712
2016-10-08 * Makefile: Correct path names.Jonathan Pryor
* Mono.Documentation/monodocer.cs: Better support nested types. * Test/DocTest-v1.cs: Add 4 levels of nested types. * Test/en.expected.importslashdoc/index.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double+Triple.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double.xml, Test/en.expected.since/index.xml, Test/en.expected.since/Mono.DocTest/Widget.xml, Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml, Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double+Triple.xml, Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double.xml, Test/en.expected/index.xml, Test/en.expected/Mono.DocTest/Widget.xml, Test/en.expected/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml, Test/en.expected/Mono.DocTest/Widget+NestedClass+Double+Triple.xml, Test/en.expected/Mono.DocTest/Widget+NestedClass+Double.xml, Test/html.expected/index.html, Test/html.expected/Mono.DocTest/index.html, Test/html.expected/Mono.DocTest/Widget.html, Test/html.expected/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.html, Test/html.expected/Mono.DocTest/Widget+NestedClass+Double+Triple.html, Test/html.expected/Mono.DocTest/Widget+NestedClass+Double.html, Test/msxdoc-expected.importslashdoc.xml: Flush. svn path=/trunk/mcs/; revision=116807
2016-10-08 * . (svn:ignore), Test (svn:ignore): Ignore generated files.Jonathan Pryor
* assembler.cs, mdoc.cs, monodocer.cs, monodocs2html.cs, monodocs2slashdoc.cs, normalize.cs, validate.cs, XhtmlWriter.cs: Move to Mono.Documentation. * defaulttemplate.xsl, overview.xsl, stylesheet.xsl: Moved to Resources. * DocTest: Moved to Test. * DocTest-v1.cs, DocTest-v2.patch, TestEcmaDocs.xml: Moved to Test. * mdoc.exe.sources: Added; mcs include file to build mdoc.exe. * Makefile: Added; build mdoc.exe, monodocer1.exe, and unit tests for mdoc.exe * Mono.Documentation/assembler.cs, Mono.Documentation/normalize.cs, Mono.Documentation/mdoc.cs, Mono.Documentation/monodocs2slashdoc.cs, Mono.Documentation/monodocs2html.cs, Mono.Documentation/validate.cs: Modify command line handling to remove Mono.GetOptions dependency. * Test/DocTest-v1.cs: Update //code/@src attribute due to changed paths. * Test/msxdoc-expected.importslashdoc.xml, * Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml: Flush due to above DocTest-v1.cs change. svn path=/trunk/mcs/; revision=116141