Age | Commit message (Collapse) | Author |
|
In `DocUtils.IsIgnored`, check if member is generated by a compiler before checking of prefixes
Closes #199
|
|
This is for both types, members, and assembly attributes. Resolves #76
|
|
Unit test was using FSharpMap, but the list of interfaces being implemented were different on my local install. So to avoid depending on the locally installed SDK, just added a test class that will be consistent to test against.
|
|
the ticket is checked
add integration test
Closes #212
|
|
Edited signature for destructor in a generic classes
Edited integration test
Added unit test
Closes #184
|
|
Resolves #220
|
|
Closes #218
|
|
Resolves #116
|
|
For #132
|
|
Closes #132
|
|
Added Javascript usage formatter
Added unit tests
Added `check-monodocer-javascript` integration test
`MemberSignature` and `TypsSignature` can contain just `Usage` attribute now, fixed XSD schema
|
|
This is due to the fact that the DocID would be duplicated. Closes #193
|
|
Closes #190
|
|
implements a destructor
Removed `!isExplicitlyImplemented` when we check if there is a fingerprint among implemented interfaces members:
```
if (!allImplementedMembers.ContainsKey(fingerprint))
{
ClearElement(root, "Implements");
return;
}
```
Now explicitly implemented members have signatures in allImplementedMembers too.
Added a destructor method to Class6 in the integration test `check-monodocer-members-implementation`
Closes #158
|
|
generation
StackOverflow in F# was caused by generic types constrained recursively by themselves (`'T :> seq<'T>`)
Added `TestConstraints_2_2` unit test
For members implementations generation, we shouldn't count on order of type generic arguments because they can be passed to interface reordered. Slightly remade generation of fingerprints.
Extended `check-monodocer-members-implementation` integration test with `IScrollable` and `ScrollableBase` classes
|
|
Based on the pull request #170
Node <Implements> with subnodes <InterfaceMember> show which member(s) of interface(s) is(are) implemented
<Implements> and <InterfaceMember> are added to monodoc-ecma.xsd
Added the integration test `check-monodocer-members-implementation`
Closes #158
|
|
On the first phase of attached event check, we had to check name, not type
Added integration test on this case
Closes #174
|
|
Added AttachedEventReference, AttachedEventDefinition, AttachedPropertyReference, AttachedPropertyDefinition (equivalents of Cecil entities)
They are processed as any other Cecil entities
Added check-monodocer-attached-entities integration test
Added DocId support for attached events and attached properties
Closes #63
|
|
Added F# signatures and usage formatter
Added unit and integration tests
Closes #108
|
|
Add two new parameters to constructor AssemblySet
Add properties to FrameworkEntry
Add integration test
Closes #81
|
|
Corrected VB and C# formatters
Edited integration tests
Closes #137
|
|
|
|
Removed line from method `GetFieldConstValue` that forbade obtaining the value for `enum`
Edited integration tests
Closes #28
|
|
|
|
Added VBFullMemberFormatter and VBMemberFormatter.
Support for -lang CLI parameter (vb.net, docid are available now).
IsSupported virtual methods for TypeReference and MemberReference in MemberFormatter. If they return false, sygnature is not added to XML file.
Closes #131
|
|
|
|
Added sample attribute "supported" and complex "memberScope" with 3 values. Updated file MyClass.xml for integration test "check-monodocer-membergroup"
Closes #113
|
|
Closes #106
|
|
Added attribute "overwrite" for the following elements: remarks, summary, value, returns, param, typeparam, altmember, exception, permission
Closes #97
|
|
Added -statistics CLI argument with required parameter <path>.
Statistics module counts how many namespaces/types/members are added/removed/total.
If <path> parameter just points to a folder the default filename "statistics.txt" is appended. If the path can't be resolved a warning message is printed ("mdoc: Unable to save statistics file: Could not find a part of the path 'Z:\'.")
Unit tests for new classes are added; "check-monodocer-fx-statistics-remove" integration test is added, 2 other tests check statistics result file as well.
Closes #100
|
|
Closes #118
|
|
Closes #78
|
|
Due to some recent changes to the C# signature (operators), it was not properly connecting the member to
the existing node, causing a duplicate entry in the XML. By using ILASM (which is less likely to change),
we work around this problem. Closes #107.
|
|
Previously, mdoc simply used the compiler-generated method names for operators, such as `op_Multiply`, instead
of `operator *`. This releases fixes that for all unary, binary, comparison, and conversion operators.
Closes #82
|
|
You can now add a new element to frameworks.xml, `/Frameworks/Framework/import`, which is a path to the import documentation file (generated via the compiler's `/doc` parameter).
An example test case was added in the make target, `check-monodocer-import-fx`. Closes #43
|
|
Resolves #62
|
|
Now using MSBuild.
Updated some test data to reflect newly thrown exceptions.
Updated to a newer version of NUnit.
|
|
When a type overrides a member in one framework, but does not in another framework
processed after the first, the Member node was being removed, even though the entry
remained in teh first framework index file. This Resolves #39
|
|
If a framework has a different inheritance chain, another `Base/BaseTypeName`
element will be added with a `FrameworkAlternate` attribute.
Resolves #16
|
|
Fixes #32, which was an issue with the ascii null character. It caused the resulting XML to be
malformed.
|
|
A MemberGroup can be intermixed amongst the other Member nodes.
It will be sorted to be in front of the other similarly named Members.
It must contain a MemberName attribute, and can have: Docs, and AssemblyInfo nodes.
Resolves #35
|
|
mdoc now supports documenting multiple frameworks. You can use this new functionality by passing the path to a configuration file in the `-frameworks` (or `-fx` for short) parameter.
```
mdoc update -o path/to/documentationXML -frameworks path/to/frameworks.xml
```
This command will result in one XML file per framework in the `path/to/documentationXML/FrameworksIndex` folder.
``` xml
<?xml version="1.0" encoding="utf-8"?>
<Framework Name="Two">
<Namespace Name="MyFramework.MyOtherNamespace">
<Type Name="MyFramework.MyOtherNamespace.MyOtherClass" Id="T:MyFramework.MyOtherNamespace.MyOtherClass">
<Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.#ctor" />
...
</Type>
</Namespace>
</Framework>
```
Configuration File
This is a sample configuration file:
``` xml
<?xml version="1.0" encoding="utf-8"?>
<Frameworks>
<Framework Name="One" Source="One">
<assemblySearchPath>dependencies/One</assemblySearchPath>
</Framework>
<Framework Name="Two" Source="Two">
<assemblySearchPath>dependencies/Two</assemblySearchPath>
</Framework>
</Frameworks>
```
Note that the `assemblySearchPath` is meant to house dependent assemblies that mono.cecil must be able to resolve. You can have as many as you need for each framework if you happen to have them separated into multiple folders. Also the `-L` parameter applies globally to every framework.
Frameworks Config Bootstrap
To simplify the tedium of creating the configuration file, a simple command was added that will use the folder structure to create a basic configuration file:
``` csharp
mdoc fx-bootstrap path/to/frameworks
```
This will create a file at `path/to/frameworks/frameworks.xml`, using the folders in `path/to/frameworks` as the names/paths
DocId Signatures
You can now pass a flag to add a `DocId` signature to every `Type` and `Member` node.
```
mdoc update -o out/path some.dll -use-docid
```
_please note_: framework index files will _always_ use the DocId as their identifiers.
Frameworks Index files Grouped by Namespace
Framework index files now have types grouped by namespace. Example:
``` xml
<?xml version="1.0" encoding="utf-8"?>
<Framework Name="Two">
<Namespace Name="MyFramework.MyOtherNamespace">
<Type Name="MyFramework.MyOtherNamespace.MyOtherClass" Id="T:MyFramework.MyOtherNamespace.MyOtherClass">
<Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.#ctor" />
...
</Type>
</Namespace>
</Framework>
```
Bug Fixes and Enhancements
- Resolves #13
- Resolves #27
- Resolves #31
- Resolves #33
|
|
These files were inadvertently left out of PRs that were merged to master
|
|
Closes #6
|
|
In some cases, for example when running in "frameworks" mode (ie. https://github.com/mono/api-doc-tools/pull/18), you might have non-managed .dlls in the directory. This change allows mdoc to simply write the fact that it couldn't load the assembly, and continue doing work.
Resolves #7
Potentially provides a temporary workaround for #8, #9
|
|
[mdoc] Extension method crash fix, removes -multiassembly
|
|
This was inadvertently removed in https://github.com/mono/mono/commit/611a43ee0f672adbac3e25dc77731843a3d10cf1 from MulticastDelegate.CombineImpl().
Add the type check back in the Delegate base class, we already do the same in Remove().
Add unit tests to cover the behavior to the corlib test suite. (reverted from commit f29878dc713f4e148fe0a1e703fae8929e6fb6e0)
Needed to update some monodoc tests to match that an exception is now thrown again.
|
|
[mdoc] Added -api-style parameter.
|
|
[mdoc] Improved error handling for multiassembly.
|
|
|