You've already forked linux-packaging-mono
Imported Upstream version 6.6.0.89
Former-commit-id: b39a328747c2f3414dc52e009fb6f0aa80ca2492
This commit is contained in:
parent
cf815e07e0
commit
95fdb59ea6
15
external/api-doc-tools/.gitignore
vendored
15
external/api-doc-tools/.gitignore
vendored
@@ -10,3 +10,18 @@ TestResult.xml
|
||||
*.user
|
||||
bin
|
||||
obj
|
||||
.vs
|
||||
*.metagen
|
||||
*.pdb
|
||||
*.psess
|
||||
*.vspx
|
||||
mdoc/Test/actual_statistics.txt
|
||||
mdoc/Test/test-overwrite-attribute/SomeClass.xml
|
||||
mdoc/Test/test-overwrite-attribute/SomeClass.dll
|
||||
mdoc/Test/test-generic-ignored-namespace/ReadOnlySpan.dll
|
||||
mdoc/Test/test-nuget-information/input_data/
|
||||
/Debug/UwpTestWinRtComponentCpp
|
||||
Debug
|
||||
/mdoc/mdoc.Test/UwpTestWinRtComponentCpp/x64/Release
|
||||
/mdoc.Test.Cplusplus/x64/Release
|
||||
/x64/Release/UwpTestWinRtComponentCpp
|
||||
|
71
external/api-doc-tools/CONTRIBUTING.md
vendored
Normal file
71
external/api-doc-tools/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
# How to contribute
|
||||
|
||||
Your feedback and contributions are greatly appreciated, and improve the quality of mdoc, monodoc, and related tools. Please read the following contribution guidelines to ensure a quick and timely review and acceptance of your patches. As an overview, the following are the contribution guidelines, and any deviations from the norm should be discussed in a github issue.
|
||||
|
||||
- All code must be written in **C#**
|
||||
- We are currently targeting **.NET Framework 4.5** ... we will be transitioning to .NET Standard 2 in the future, and supporting other targets such as dotnet core.
|
||||
- All projects and solutions created must load and compile in **Visual Studio 2017** and **Visual Studio for Mac**.
|
||||
- New dependencies (such as nuget references) must be _discussed and reviewed_. _mdoc_ is distributed via the Mono project, and as such we must be careful with what dependencies we distribute.
|
||||
- **NUnit** is used to write unit tests.
|
||||
- Integration tests use **Make** on **Bash**.
|
||||
- This project uses **Git** hosted on **GitHub** as the central repository host.
|
||||
- All pull requests should pass all unit tests successfully (which means being able to run the CLI build via `make`).
|
||||
|
||||
## Bug Reports and Feature Requests
|
||||
|
||||
We love bug reports and feature requests! It is through feedback from our wonderful customers that we know how to prioritize our time. Please file issues and requests on [github issues](https://github.com/mono/api-doc-tools/issues/new).
|
||||
|
||||
For problems, please try to include a reproducible example … ideally in the form of an assembly (or compilable source code), and related script to reproduce the issue.
|
||||
|
||||
For feature requests, please include all relevant details including input, output, and ideal file formats.
|
||||
|
||||
## Contribution Workflow
|
||||
|
||||
When contributing bug fixes and enhancements, please follow this workflow and guidelines.
|
||||
|
||||
### Coding Standards
|
||||
|
||||
This project is currently in transition. Historically, it has used the [Mono coding guidelines](http://www.mono-project.com/community/contributing/coding-guidelines/); and indeed, most of the code is currently still using this.
|
||||
|
||||
However, starting with the `MDocUpdater` class and related entities, we are changing to a new coding standard, based on the default formatting options available in _Visual Studio_ and _Visual Studio for Mac_. This is meant to simplify contributions, so that the IDE does not work against you without changes to the default format settings.
|
||||
|
||||
Additionally, many areas of the code contain multiple classes in the same file. While there’s nothing wrong in general with this approach, going forward we will maintain each class in a separate `.cs` file, and organize functionality into better namespaces.
|
||||
|
||||
If you are working in an area of the code that has transitioned to the new coding standard, please use that. If you are working with code that is still using the mono coding guidelines, and the change is small, just stick the existing format … otherwise, file a separate GitHub issue to request that the target code be reformatted. I would like to keep those formatting changes in a standalone commit (ie. no feature/functionality changes).
|
||||
|
||||
### Commits
|
||||
|
||||
This project tries to avoid chatty in-progress commits that are common during development. Once you’ve completed your development and are ready to move to the next stage of the contribution workflow, collapse your changes into as few feature-scoped commits as possible. Ideally if possible, every commit should pass all unit tests and be standalone.
|
||||
|
||||
You can do so either by using an interactive rebase of your branch if you need multiple commits, or simply doing a soft reset `git reset origin/master —soft` … which will stage all of your changes and let you create a new single commit that contains all changes.
|
||||
|
||||
The commit message should be verbose enough to explain what behavior is changing, bug is being fixed, or feature being added. It should also contain a reference to the github issue being resolved, as [described here](https://github.com/blog/1386-closing-issues-via-commit-messages).
|
||||
|
||||
### Tests
|
||||
|
||||
Your commit should introduce no regressions. While we do not require 100% code coverage, every newly-introduced feature should have a new unit or integration test written. You can make sure to run all unit tests locally by using the [instructions here](https://github.com/mono/api-doc-tools#cli). There are two kinds of tests:
|
||||
|
||||
#### Unit Tests
|
||||
|
||||
Written with _NUnit_, there are two unit test projects: *mdoc.Test*, and *Monodoc.Test*. _Visual Studio for Mac_ has built-in support for _NUnit_, and on Windows, you can install the [_NUnit 3 Test Adapter_](https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnit3TestAdapter)
|
||||
|
||||
#### Integration Tests
|
||||
|
||||
_mdoc_ has integration tests implemented as [`make` targets](mdoc/Makefile). You can look at the existing tests to see how they are structured, but generally speaking:
|
||||
|
||||
- It usually involves a sample code file, such as [/mdoc/Test/DocTest-InternalInterface.cs](mdoc/Test/DocTest-InternalInterface.cs).
|
||||
- A target (such as `Test/DocTest-InternalInterface.dll`) to build/comple the test assembly.
|
||||
- A target to execute the scenario (such as `check-monodocer-import-fx`), which itself depends on the above target.
|
||||
- Usually, this setup involves deleting the `Test/en.actual` folder (which serves as the output)
|
||||
- the execution of an `mdoc` subcommand, using `$(MONO) $(PROGRAM) <the subcommand> <args>`.
|
||||
- The assertion, using `$(DIFF)`, against an existing expected form of the output (which is committed to git, such as `Test/en.expected-fx-import`).
|
||||
|
||||
Depending on the change that you're making, it might cause the output to change (for example, if changing a formatter to reflect a new language feature); in those cases, when you make that change and run the integration tests, you will get a number of failures ... you will have to update the test xml files to reflect the new file changes.
|
||||
|
||||
### Pull Request
|
||||
|
||||
Create a fork against the [api-doc-tools](https://github.com/mono/api-doc-tools/pulls) repository. As mentioned previously, all tests should pass, and the code will be reviewed, discussed, and merged from there. *Please be ready to address any issues* brought up during code review.
|
||||
|
||||
## Legal
|
||||
|
||||
This software is licensed under [The MIT License](LICENSE.md).
|
21
external/api-doc-tools/LICENSE.md
vendored
Normal file
21
external/api-doc-tools/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013 Xamarin, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
12
external/api-doc-tools/Makefile
vendored
12
external/api-doc-tools/Makefile
vendored
@@ -8,20 +8,24 @@ all: build
|
||||
build: $(MDOC)
|
||||
|
||||
$(MDOC):
|
||||
$(MSBUILD) apidoctools.sln /p:Configuration=$(CONFIGURATION)
|
||||
$(MSBUILD) apidoctools.sln /p:Configuration=$(CONFIGURATION);
|
||||
|
||||
prepare:
|
||||
git submodule update --init --recursive
|
||||
nuget restore apidoctools.sln
|
||||
nuget install NUnit.Console -version 3.6.0 -NoCache -o packages
|
||||
|
||||
clean:
|
||||
$(MSBUILD) apidoctools.sln /t:clean
|
||||
#$(MSBUILD) apidoctools.sln /t:clean
|
||||
rm -rf bin/$(CONFIGURATION)
|
||||
|
||||
check: build check-monodoc check-mdoc
|
||||
|
||||
check-mdoc:
|
||||
cd mdoc; $(MAKE) check
|
||||
cd mdoc; $(MAKE) check -B
|
||||
|
||||
nuget:
|
||||
nuget pack mdoc/mdoc.nuspec -outputdirectory bin/Nuget
|
||||
|
||||
check-monodoc:
|
||||
cd monodoc; $(MAKE) check
|
||||
cd monodoc; $(MAKE) check -B
|
||||
|
71
external/api-doc-tools/README.md
vendored
71
external/api-doc-tools/README.md
vendored
@@ -1,11 +1,28 @@
|
||||
# `mdoc` and `monodoc`
|
||||
# `mdoc`
|
||||
|
||||
This repository contains the source for Mono's [documentation toolchain](http://www.mono-project.com/docs/tools+libraries/tools/monodoc/generating-documentation/).
|
||||
This repository contains the source for the .NET API Reference toolchain ([used
|
||||
by docs.microsoft.com](https://docs.microsoft.com/en-us/teamblog/announcing-unified-dotnet-experience-on-docs#built-with-open-source-in-mind))
|
||||
|
||||
## Contribution Guide
|
||||
|
||||
You can read the [contribution guide](CONTRIBUTING.md) for information about coding standards, and (perhaps most importantly), information about writing [unit and integration tests](CONTRIBUTING.md#tests).
|
||||
|
||||
## Compiling
|
||||
|
||||
### Dependencies
|
||||
|
||||
This repository uses submodules, so firstly, you have several options:
|
||||
|
||||
- You can include all submodules when you initially clone: `git clone --recursive https://github.com/mono/api-doc-tools.git`
|
||||
- If you already have it local, you can use `git submodule update --init --recursive`
|
||||
- If you have all CLI dependencies (see below), you can `make prepare`
|
||||
|
||||
### Visual Studio
|
||||
|
||||
On windows, you can build and compile [`apidoctools.sln`](apidoctools.sln). And you can run unit tests if you have NUnit installed. If you use [Visual Studio for Mac](https://www.visualstudio.com/vs/visual-studio-mac/), you can use its built-in support for NUnit tests to also run tests.
|
||||
|
||||
### CLI
|
||||
If you've got `make` installed, you can run `make prepare all check`. The available targets are:
|
||||
If you've got `make` and `mono` installed, you can run `make prepare all check` in a _bash_ prompt to do a release build and run the full test suite (which for mdoc includes more than just the nunit tests). The available targets are:
|
||||
|
||||
- `prepare`: initializes the submodules, and restores the nuget dependency of NUnit
|
||||
- `all`: compiles everything
|
||||
@@ -17,6 +34,48 @@ You can also control some parameters from the command line:
|
||||
|
||||
If you want to compile in debug mode: `make all CONFIGURATION=Debug`
|
||||
|
||||
### Visual Studio
|
||||
Once you run `make prepare all` at least once (to restore submodules), you can open the solution in
|
||||
_Visual Studio_ to compile and debug.
|
||||
Feel free to open a pull request early in order to make it easy to ask questions during development, and for the maintainers to offer feedback.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Forcing Changes
|
||||
|
||||
When you make certain kinds of changes, it can confuse _Make_'s dependency ... if you're running the test suite and it doesn't seem to be reflecting your changes, add the `-B` parameter to the `make` invocation, and it will force a rebuild of all targets.
|
||||
|
||||
### WSL
|
||||
|
||||
Make sure you are at least on 16.04 (Xenial). You can check which version is currently installed by running the command `lsb_release -a`.
|
||||
|
||||
If you are running an older version (for example, if you originally installed WSL before the creator's update) and need to upgrade, you can run the following commands:
|
||||
|
||||
- `sudo do-release-upgrade` ... this updates the version of Ubuntu. _Please note_, this will likely disable any external package sources, such as the one added when installing Mono.
|
||||
- Once you're done with that, then you just need to update `apt-get`
|
||||
- Add back Mono's package repository source, as described in [the download instructions](www.mono-project.com/download/#download-lin-ubuntu).
|
||||
- `sudo apt-get update`
|
||||
- `sudo apt-get upgrade`
|
||||
- `sudo apt-get dist-upgrade`
|
||||
|
||||
With that run ... you should be able to run the build locally.
|
||||
|
||||
### Linux
|
||||
|
||||
The following script will prepare, clone, and run a full build with tests of `mdoc` on an unbuntu docker container.
|
||||
|
||||
```
|
||||
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
echo "deb http://download.mono-project.com/repo/ubuntu trusty main" | tee /etc/apt/sources.list.d/mono-official.list
|
||||
|
||||
apt-get update
|
||||
apt-get install tzdata nuget -y --allow-unauthenticated
|
||||
apt-get install git make mono-devel mono-vbnc ca-certificates-mono wget fsharp -y
|
||||
|
||||
wget -q 'http://mxr.mozilla.org/seamonkey/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1' -O "/tmp/certdata.txt"
|
||||
mozroots --import --ask-remove --file /tmp/certdata.txt
|
||||
|
||||
|
||||
git clone https://github.com/mono/api-doc-tools
|
||||
cd api-doc-tools
|
||||
make prepare all check
|
||||
```
|
||||
|
||||
Please review [mono's installation guide](http://www.mono-project.com/download/#download-lin) if you are using a different flavor of linux.
|
||||
|
77
external/api-doc-tools/apidoctools.sln
vendored
77
external/api-doc-tools/apidoctools.sln
vendored
@@ -1,7 +1,7 @@
|
||||

|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26206.0
|
||||
VisualStudioVersion = 15.0.27130.2020
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mdoc", "mdoc\mdoc.csproj", "{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}"
|
||||
EndProject
|
||||
@@ -11,50 +11,125 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Monodoc.Test", "monodoc\Tes
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpZipLib", "external\SharpZipLib\ICSharpCode.SharpZipLib.NET45\ICSharpCode.SharpZipLib.csproj", "{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mdoc.Test", "mdoc\mdoc.Test\mdoc.Test.csproj", "{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}"
|
||||
EndProject
|
||||
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "mdoc.Test.FSharp", "mdoc\mdoc.Test\mdoc.Test.FSharp\mdoc.Test.FSharp.fsproj", "{979F9F80-12FE-4236-9E93-6D554AB13701}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|ARM = Debug|ARM
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|ARM = Release|ARM
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Release|x86.Build.0 = Release|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{6E644802-B579-4037-9809-9CF4C7172C9D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Release|x86.Build.0 = Release|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Release|x64.Build.0 = Release|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0E7413FF-EB9E-4714-ACF2-BE3A6A7B2FFD}.Release|x86.Build.0 = Release|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Release|x64.Build.0 = Release|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Release|x86.Build.0 = Release|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Release|x64.Build.0 = Release|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{979F9F80-12FE-4236-9E93-6D554AB13701}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {6D6A6927-89D3-42DF-A416-294A841822A9}
|
||||
EndGlobalSection
|
||||
GlobalSection(MonoDevelopProperties) = preSolution
|
||||
StartupItem = mdoc.csproj
|
||||
EndGlobalSection
|
||||
|
6
external/api-doc-tools/external/Scripts/mdocScript.sh
vendored
Normal file
6
external/api-doc-tools/external/Scripts/mdocScript.sh
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
cd ../..
|
||||
cp external/Windows/Windows.Foundation.FoundationContract.winmd bin/$1
|
||||
cp external/Windows/Windows.Foundation.UniversalApiContract.winmd bin/$1
|
||||
cp external/Windows/Windows.WinMD bin/$1
|
||||
|
||||
sleep 5
|
9
external/api-doc-tools/external/Scripts/mdocTestScript.sh
vendored
Normal file
9
external/api-doc-tools/external/Scripts/mdocTestScript.sh
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
cd ../../../..
|
||||
cp external/Windows/Windows.Foundation.UniversalApiContract.winmd mdoc/mdoc.Test/bin/$1
|
||||
cp external/Windows/Windows.WinMD mdoc/mdoc.Test/bin/$1
|
||||
cp external/Windows/Windows.Foundation.FoundationContract.winmd mdoc/mdoc.Test/bin/$1
|
||||
cp external/Test/UwpTestWinRtComponentCpp.dll mdoc/mdoc.Test/bin/$1
|
||||
cp external/Test/UwpTestWinRtComponentCpp.winmd mdoc/mdoc.Test/bin/$1
|
||||
cp external/Test/CSharpExample.dll mdoc/mdoc.Test/bin/$1
|
||||
|
||||
sleep 5
|
BIN
external/api-doc-tools/external/Test/UWPTestComponentCSharp.winmd
vendored
Normal file
BIN
external/api-doc-tools/external/Test/UWPTestComponentCSharp.winmd
vendored
Normal file
Binary file not shown.
BIN
external/api-doc-tools/external/Test/UwpTestWinRtComponentCpp.winmd
vendored
Normal file
BIN
external/api-doc-tools/external/Test/UwpTestWinRtComponentCpp.winmd
vendored
Normal file
Binary file not shown.
10
external/api-doc-tools/external/Test/readme.md
vendored
Normal file
10
external/api-doc-tools/external/Test/readme.md
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
The files in this directory are used as test inputs for explicit assembly testing.
|
||||
|
||||
|Assembly|Visual Studio Project Location|
|
||||
|---|---|
|
||||
|CSharpExample.dll|TBD|
|
||||
|mdoc.Test.Cplusplus.dll|../../mdoc/mdoc.Test.Cplusplus|
|
||||
|UWPTestComponentCSharp.winmd|../../mdoc/mdoc.Test/UWPTestComponentCSharp|
|
||||
|UwpTestWinRtComponentCpp.dll|../../mdoc/mdoc.Test/UwpTestWinRtComponentCpp|
|
||||
|UwpTestWinRtComponentCpp.winmd|../../mdoc/mdoc.Test/UwpTestWinRtComponentCpp|
|
||||
|
BIN
external/api-doc-tools/external/Windows/Windows.Foundation.FoundationContract.winmd
vendored
Normal file
BIN
external/api-doc-tools/external/Windows/Windows.Foundation.FoundationContract.winmd
vendored
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
ab5d413e80a93c9afdc42621ef47e4ed00f0a296
|
1
external/api-doc-tools/external/Windows/Windows.WinMD.REMOVED.git-id
vendored
Normal file
1
external/api-doc-tools/external/Windows/Windows.WinMD.REMOVED.git-id
vendored
Normal file
@@ -0,0 +1 @@
|
||||
1fc67192ee09e4dd5a935fb74f7dba51a27dd49e
|
38
external/api-doc-tools/mdoc.Test.Cplusplus/AssemblyInfo.cpp
vendored
Normal file
38
external/api-doc-tools/mdoc.Test.Cplusplus/AssemblyInfo.cpp
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
#include "stdafx.h"
|
||||
|
||||
using namespace System;
|
||||
using namespace System::Reflection;
|
||||
using namespace System::Runtime::CompilerServices;
|
||||
using namespace System::Runtime::InteropServices;
|
||||
using namespace System::Security::Permissions;
|
||||
|
||||
//
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
//
|
||||
[assembly:AssemblyTitleAttribute(L"mdocTestCplusplus")];
|
||||
[assembly:AssemblyDescriptionAttribute(L"")];
|
||||
[assembly:AssemblyConfigurationAttribute(L"")];
|
||||
[assembly:AssemblyCompanyAttribute(L"EPAM Systems")];
|
||||
[assembly:AssemblyProductAttribute(L"mdocTestCplusplus")];
|
||||
[assembly:AssemblyCopyrightAttribute(L"Copyright (c) EPAM Systems 2017")];
|
||||
[assembly:AssemblyTrademarkAttribute(L"")];
|
||||
[assembly:AssemblyCultureAttribute(L"")];
|
||||
|
||||
//
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the value or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly:AssemblyVersionAttribute("1.0.*")];
|
||||
|
||||
[assembly:ComVisible(false)];
|
||||
|
||||
[assembly:CLSCompliantAttribute(true)];
|
38
external/api-doc-tools/mdoc.Test.Cplusplus/ReadMe.txt
vendored
Normal file
38
external/api-doc-tools/mdoc.Test.Cplusplus/ReadMe.txt
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
========================================================================
|
||||
DYNAMIC LINK LIBRARY : mdoc.Test.Cplusplus Project Overview
|
||||
========================================================================
|
||||
|
||||
AppWizard has created this mdoc.Test.Cplusplus DLL for you.
|
||||
|
||||
This file contains a summary of what you will find in each of the files that
|
||||
make up your mdoc.Test.Cplusplus application.
|
||||
|
||||
mdoc.Test.Cplusplus.vcxproj
|
||||
This is the main project file for VC++ projects generated using an Application Wizard.
|
||||
It contains information about the version of Visual C++ that generated the file, and
|
||||
information about the platforms, configurations, and project features selected with the
|
||||
Application Wizard.
|
||||
|
||||
mdoc.Test.Cplusplus.vcxproj.filters
|
||||
This is the filters file for VC++ projects generated using an Application Wizard.
|
||||
It contains information about the association between the files in your project
|
||||
and the filters. This association is used in the IDE to show grouping of files with
|
||||
similar extensions under a specific node (for e.g. ".cpp" files are associated with the
|
||||
"Source Files" filter).
|
||||
|
||||
mdoc.Test.Cplusplus.cpp
|
||||
This is the main DLL source file.
|
||||
|
||||
mdoc.Test.Cplusplus.h
|
||||
This file contains a class declaration.
|
||||
|
||||
AssemblyInfo.cpp
|
||||
Contains custom attributes for modifying assembly metadata.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other notes:
|
||||
|
||||
AppWizard uses "TODO:" to indicate parts of the source code you
|
||||
should add to or customize.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
5
external/api-doc-tools/mdoc.Test.Cplusplus/Stdafx.cpp
vendored
Normal file
5
external/api-doc-tools/mdoc.Test.Cplusplus/Stdafx.cpp
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// mdoc.Test.Cplusplus.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
7
external/api-doc-tools/mdoc.Test.Cplusplus/Stdafx.h
vendored
Normal file
7
external/api-doc-tools/mdoc.Test.Cplusplus/Stdafx.h
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently,
|
||||
// but are changed infrequently
|
||||
|
||||
#pragma once
|
||||
|
||||
|
647
external/api-doc-tools/mdoc.Test.Cplusplus/TestClass.cpp
vendored
Normal file
647
external/api-doc-tools/mdoc.Test.Cplusplus/TestClass.cpp
vendored
Normal file
File diff suppressed because it is too large
Load Diff
400
external/api-doc-tools/mdoc.Test.Cplusplus/TestClass.h
vendored
Normal file
400
external/api-doc-tools/mdoc.Test.Cplusplus/TestClass.h
vendored
Normal file
@@ -0,0 +1,400 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
|
||||
namespace Generic1 = System::Collections::Generic;
|
||||
|
||||
|
||||
class TestClass
|
||||
{
|
||||
public:
|
||||
TestClass();
|
||||
~TestClass();
|
||||
};
|
||||
|
||||
public enum class Color {
|
||||
/// <summary>Insert Red summary here</summary>
|
||||
/// <remarks><c>F:Mono.DocTest.Color.Red</c>.</remarks>
|
||||
Red,
|
||||
/// <summary>Insert Blue summary here</summary>
|
||||
/// <remarks><c>F:Mono.DocTest.Color.Blue</c>.</remarks>
|
||||
Blue,
|
||||
/// <summary>Insert Green summary here</summary>
|
||||
/// <remarks><c>F:Mono.DocTest.Color.Green</c>.</remarks>
|
||||
Green,
|
||||
|
||||
AnotherGreen = Green,
|
||||
};
|
||||
|
||||
/// <typeparam name="T">T generic param</typeparam>
|
||||
/// <remarks><c>T:Mono.DocTest.IFoo`1</c>.</remarks>
|
||||
generic<typename T>
|
||||
public interface class IFoo {
|
||||
/// <typeparam name="U">U generic param</typeparam>
|
||||
/// <remarks><c>T:Mono.DocTest.IFoo`1.Method``1(`0,``0)</c>.</remarks>
|
||||
generic<typename U>
|
||||
T Method(T t, U u);
|
||||
};
|
||||
|
||||
namespace Mono_DocTest_Generic {
|
||||
using namespace System;
|
||||
using namespace System::Collections;
|
||||
|
||||
generic<typename T>
|
||||
where T: value class
|
||||
public interface class IFooNew {
|
||||
/// <typeparam name="U">U generic param</typeparam>
|
||||
/// <remarks><c>T:Mono.DocTest.IFoo`1.Method``1(`0,``0)</c>.</remarks>
|
||||
generic<typename U>
|
||||
T Method(T t, U u);
|
||||
};
|
||||
|
||||
|
||||
/// <summary>extension methods!</summary>
|
||||
/// <remarks><c>T:Mono.DocTest.Generic.Extensions</c></remarks>
|
||||
//todo: do need attribute on class??
|
||||
[System::Runtime::CompilerServices::Extension]
|
||||
public ref class Extensions abstract sealed {
|
||||
/// <summary><c>System.Object</c> extension method</summary>
|
||||
/// <remarks><c>M:Mono.DocTest.Generic.Extensions.ToEnumerable``1</c></remarks>
|
||||
public:
|
||||
generic <typename T>
|
||||
[System::Runtime::CompilerServices::Extension]
|
||||
static Generic1::IEnumerable<T> ^ ToEnumerable(T self)
|
||||
{
|
||||
//todo: no yield
|
||||
//yield return self;
|
||||
return gcnew Generic1::List<T>();
|
||||
};
|
||||
|
||||
/// <summary><see cref="T:System.Collections.Generic.IEnumerable`1" /> extension method</summary>
|
||||
/// <remarks><c>M:Mono.DocTest.Generic.Extensions.ForEach``1</c></remarks>
|
||||
public:
|
||||
generic <typename T>
|
||||
[System::Runtime::CompilerServices::Extension]
|
||||
static void ForEach(Generic1::IEnumerable<T> ^ self, Action<T> ^ a)
|
||||
{
|
||||
};
|
||||
|
||||
/// <summary><see cref="T:Mono.DocTest.Generic.IFoo`1" /> extension method</summary>
|
||||
/// <remarks><c>M:Mono.DocTest.Generic.Extensions.Bar``1</c></remarks>
|
||||
|
||||
public:
|
||||
generic <typename T>
|
||||
[System::Runtime::CompilerServices::Extension]
|
||||
static void Bar(IFoo<T>^ self, String ^ s)
|
||||
{
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// <see cref="T:System.Collections.Generic.IEnumerable{System.Int32}" />
|
||||
/// extension method.
|
||||
/// </summary>
|
||||
/// <remarks><c>M:Mono.DocTest.Generic.Extensions.ToDouble</c></remarks>
|
||||
public:
|
||||
[System::Runtime::CompilerServices::Extension]
|
||||
static Generic1::IEnumerable<double>^ ToDouble(Generic1::IEnumerable<int>^ list)
|
||||
{
|
||||
return nullptr;
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// <see cref="T:Mono.DocTest.Generic.IFoo`1" /> extension method.
|
||||
/// </summary>
|
||||
/// <remarks><c>M:Mono.DocTest.Generic.Extensions.ToDouble</c></remarks>
|
||||
public:
|
||||
generic <typename T>
|
||||
where T : IFoo<T>
|
||||
[System::Runtime::CompilerServices::Extension]
|
||||
static double ToDouble(T val)
|
||||
{
|
||||
// the target type is T:...IFoo<T>, NOT T:System.Object.
|
||||
return 0.0;
|
||||
};
|
||||
};
|
||||
|
||||
/// <typeparam name="U">Insert <c>text</c> here.</typeparam>
|
||||
/// <remarks><c>T:Mono.DocTest.Generic.GenericBase`1</c>.</remarks>
|
||||
generic <typename U>
|
||||
public ref class GenericBase {
|
||||
/// <param name="genericParameter">Something</param>
|
||||
/// <typeparam name="S">Insert more <c>text</c> here.</typeparam>
|
||||
/// <remarks><c>M:Mono.DocTest.GenericBase`1.BaseMethod``1(``0)</c>.</remarks>
|
||||
/// <returns>The default value.</returns>
|
||||
|
||||
//todo: done for default keyword
|
||||
private: U member;
|
||||
//todo: done for default keyword
|
||||
public: GenericBase() : member()
|
||||
{
|
||||
};
|
||||
//todo: done for default keyword
|
||||
GenericBase(GenericBase^ c)
|
||||
{
|
||||
member = c->member;
|
||||
};
|
||||
|
||||
public:
|
||||
generic <typename S>
|
||||
U BaseMethod(/*[Doc("S")]*/S genericParameter) {
|
||||
return member;
|
||||
};
|
||||
|
||||
U BaseMethod2(GenericBase<U> genericParameter) {
|
||||
return member;
|
||||
};
|
||||
|
||||
/// <remarks><c>F:Mono.DocTest.GenericBase`1.StaticField1</c></remarks>
|
||||
public:
|
||||
static initonly GenericBase<U> ^ StaticField1 = gcnew GenericBase<U>();
|
||||
|
||||
/// <remarks><c>F:Mono.DocTest.GenericBase`1.ConstField1</c></remarks>
|
||||
public: const int ConstInt = 1;
|
||||
|
||||
public: const long ConstLong = 2;
|
||||
|
||||
public: const Decimal ConstDecimal;
|
||||
|
||||
public: const short ConstShort = 4;
|
||||
|
||||
public: const UInt16 ConstUint16 = 2 ;
|
||||
|
||||
public: const UInt32 ConstUint32 = 3;
|
||||
|
||||
public: const UInt64 ConstUint64 = 4;
|
||||
|
||||
public: const float ConstFloat = 2.4;
|
||||
|
||||
public: const bool ConstBool = true;
|
||||
|
||||
public: const char ConstChar = 't';
|
||||
|
||||
public: const Object^ ConstObject;
|
||||
|
||||
public: const String^ ConstString;
|
||||
|
||||
|
||||
|
||||
|
||||
/// <param name="list">Insert description here</param>
|
||||
/// <remarks><c>M:Mono.DocTest.GenericBase`1.op_Explicit(Mono.DocTest.GenericBase{`0})~`0</c></remarks>
|
||||
/// <returns>The default value for <typeparamref name="U"/>.</returns>
|
||||
//public: static explicit operator U(GenericBase<U> list) { /*return 0;*/ return nullptr; };
|
||||
|
||||
/// <remarks>T:Mono.DocTest.Generic.GenericBase`1.FooEventArgs</remarks>
|
||||
public: ref class FooEventArgs : EventArgs {
|
||||
};
|
||||
|
||||
/// <remarks>E:Mono.DocTest.Generic.GenericBase`1.MyEvent</remarks>
|
||||
public: event EventHandler<FooEventArgs ^ > ^ MyEvent;
|
||||
|
||||
/// <remarks>E:Mono.DocTest.Generic.GenericBase`1.ItemChanged</remarks>
|
||||
//todo: uncomment
|
||||
//public: event Action<Mono_DocTest_Generic::MyList<U>^, Mono_DocTest_Generic::MyList<U>::Helper<U, U>^> ItemChanged;
|
||||
|
||||
/// <remarks>T:Mono.DocTest.Generic.GenericBase`1.NestedCollection</remarks>
|
||||
public: ref class NestedCollection {
|
||||
//todo: no internal
|
||||
/// <remarks>T:Mono.DocTest.Generic.GenericBase`1.NestedCollection.Enumerator</remarks>
|
||||
protected: value struct Enumerator {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/// <typeparam name="T">I'm Dying Here!</typeparam>
|
||||
/// <remarks><c>T:Mono.DocTest.Generic.MyList`1</c>.</remarks>
|
||||
//todo: on generic par-r [Mono.DocTest.Doc("Type Parameter!")]
|
||||
generic <typename T>
|
||||
public ref class MyList : GenericBase<T>, Generic1::IEnumerable<cli::array <int> ^ >
|
||||
{
|
||||
/// <typeparam name="U">Seriously!</typeparam>
|
||||
/// <typeparam name="V">Too <c>many</c> docs!</typeparam>
|
||||
/// <remarks><c>T:Mono.DocTest.MyList`1.Helper`2</c>.</remarks>
|
||||
|
||||
public:
|
||||
generic<typename U, typename V>
|
||||
ref class Helper {
|
||||
/// <param name="a">Ako</param>
|
||||
/// <param name="b">bko</param>
|
||||
/// <param name="c">cko</param>
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`1.Helper`2.UseT(`0,`1,`2)</c>.</remarks>
|
||||
public: void UseT(T a, U b, V c) { };
|
||||
};
|
||||
|
||||
/// <param name="t">tko</param>
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`1.Test(`0)</c>.</remarks>
|
||||
public: void Test(T t) { auto a = gcnew MyList::Helper<int, String^>(); };
|
||||
|
||||
/// <param name="t">Class generic type</param>
|
||||
/// <param name="u">Method generic type</param>
|
||||
/// <typeparam name="U">Method generic parameter</typeparam>
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`1.Method``1(`0,``0)</c>.</remarks>
|
||||
|
||||
public:
|
||||
generic<typename U>
|
||||
void Method(T t, U u) {};
|
||||
|
||||
// mcs "crashes" (CS1569) on this method; exclude it for now.
|
||||
// <remarks><c>M:Mono.DocTest.MyList`1.RefMethod``1(`0@,``0@)</c>.</remarks>
|
||||
public:
|
||||
generic<typename U>
|
||||
void RefMethod(T% t, U% u) {};
|
||||
|
||||
/// <param name="helper">A <see cref="T:Mono.DocTest.Generic.MyList`1.Helper`2" />.</param>
|
||||
/// <typeparam name="U">Argh!</typeparam>
|
||||
/// <typeparam name="V">Foo Argh!</typeparam>
|
||||
/// <remarks><c>M:Mono.DocTest.Generic.MyList`1.UseHelper``2(Mono.DocTest.Generic.MyList{``0}.Helper{``1,``2})</c>.</remarks>
|
||||
public:
|
||||
generic<typename U, typename V>
|
||||
void UseHelper(Helper helper) {};
|
||||
|
||||
/// <remarks><c>M:Mono.DocTest.Generic.MyList`1.GetHelper``2</c>.</remarks>
|
||||
/// <returns><see langword="null" />.</returns>
|
||||
public:
|
||||
generic<typename U, typename V>
|
||||
Helper^ GetHelper() { return nullptr; };
|
||||
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`1.System#Collections#GetEnumerator</c>.</remarks>
|
||||
public: virtual IEnumerator^ GetEnumerator1() = IEnumerable::GetEnumerator{
|
||||
return nullptr;
|
||||
};
|
||||
|
||||
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`1.GetEnumerator</c>.</remarks>
|
||||
public: virtual Generic1::IEnumerator<cli::array<int>^>^ GetEnumerator() = Generic1::IEnumerable<cli::array<int>^>::GetEnumerator{
|
||||
return nullptr;
|
||||
};
|
||||
};
|
||||
|
||||
/// <typeparam name="T">T generic param</typeparam>
|
||||
/// <remarks><c>T:Mono.DocTest.IFoo`1</c>.</remarks>
|
||||
generic <typename T>
|
||||
public interface class IFoo {
|
||||
/// <typeparam name="U">U generic param</typeparam>
|
||||
/// <remarks><c>T:Mono.DocTest.IFoo`1.Method``1(`0,``0)</c>.</remarks>
|
||||
generic<typename U>
|
||||
T Method(T t, U u);
|
||||
};
|
||||
|
||||
generic <typename T>
|
||||
where T: gcnew()
|
||||
public ref class GenericConstraintClass {
|
||||
};
|
||||
|
||||
|
||||
|
||||
/// <typeparam name="A">Ako generic param</typeparam>
|
||||
/// <typeparam name="B">Bko generic param</typeparam>
|
||||
/// <remarks><c>T:Mono.DocTest.MyList`2</c>.</remarks>
|
||||
generic <typename A, typename B>
|
||||
//where A : class, IList<B>, gcnew()
|
||||
//where B : class, A
|
||||
public ref class MyList1 : Generic1::ICollection<A>,
|
||||
Generic1::IEnumerable<A>, Generic1::IEnumerator<A>,
|
||||
IFoo<A>
|
||||
, GenericBase<Generic1::Dictionary<A,B>^ >/*<>*/
|
||||
{
|
||||
|
||||
~MyList1() {};
|
||||
// IEnumerator
|
||||
|
||||
// shown?
|
||||
//todo: uncomment
|
||||
//property Object^ IEnumerator::Current { Object^ get() { return nullptr; } }
|
||||
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`2.MoveNext</c>.</remarks>
|
||||
/// <returns><see cref="T:System.Boolean" /></returns>
|
||||
public:
|
||||
virtual bool MoveNext() { return false; };
|
||||
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`2.Reset</c>.</remarks>
|
||||
public:
|
||||
virtual void Reset() {};
|
||||
|
||||
virtual property Object^ Current3 {
|
||||
Object^ get() = IEnumerator::Current::get{ return nullptr; }
|
||||
};
|
||||
|
||||
// IEnumerator<T>
|
||||
/// <remarks><c>P:Mono.DocTest.MyList`2.Current</c>.</remarks>
|
||||
/// <value>The current value.</value>
|
||||
public:
|
||||
property A Current1 {
|
||||
A get() { return Current2; /*default(A);*/ }
|
||||
};
|
||||
/// <remarks><c>P:Mono.DocTest.MyList`2.Current</c>.</remarks>
|
||||
/// <value>The current value.</value>
|
||||
virtual property A Current2 {
|
||||
A get() sealed = Generic1::IEnumerator<A>::Current::get{ return Current1; /*default(A);*/ };// { return default(A); }
|
||||
};
|
||||
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`2.System#Collections#GetEnumerator</c>.</remarks>
|
||||
public: virtual System::Collections::IEnumerator^ GetEnumerator1() = System::Collections::IEnumerable::GetEnumerator{
|
||||
return nullptr;
|
||||
};
|
||||
|
||||
|
||||
// IEnumerable<T>
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`2.System#Collections#Generic#IEnumerable{A}#GetEnumerator</c>.</remarks>
|
||||
/// <returns>A <see cref="T:System.Collections.Generic.IEnumerator{`0}" />.</returns>
|
||||
virtual Generic1::IEnumerator<A>^ GetEnumerator() = Generic1::IEnumerable<A>::GetEnumerator{ return nullptr; };
|
||||
|
||||
|
||||
public: Generic1::List<A>::Enumerator^ GetEnumerator3() { return gcnew Generic1::List<A>::Enumerator(); };
|
||||
|
||||
// ICollection<T>
|
||||
/// <remarks><c>P:Mono.DocTest.MyList`2.Count</c>.</remarks>
|
||||
/// <value>A <see cref="T:System.Int32" />.</value>
|
||||
public:
|
||||
virtual property int Count {
|
||||
int get() { return 0; }
|
||||
};
|
||||
|
||||
/// <remarks><c>P:Mono.DocTest.MyList`2.System#Collections#Generic#ICollection{A}#IsReadOnly</c>.</remarks>
|
||||
/// <value>A <see cref="T:System.Boolean" />.</value>
|
||||
public:
|
||||
virtual property bool IsReadOnly {
|
||||
bool get() { return false; }
|
||||
};
|
||||
/// <param name="item">The item to add.</param>
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`2.System#Collections#Generic#ICollection{A}#Add(`0)</c>.</remarks>
|
||||
virtual void Add(A item) = Generic1::ICollection<A>::Add{};
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`2.System#Collections#Generic#ICollection{A}#Clear</c>.</remarks>
|
||||
virtual void Clear() = Generic1::ICollection<A>::Clear{};
|
||||
/// <param name="item">The item to check for</param>
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`2.System#Collections#Generic#ICollection{A}.Contains(`0)</c>.</remarks>
|
||||
/// <returns>A <see cref="T:System.Boolean" /> instance (<see langword="false" />).</returns>
|
||||
virtual bool Contains(A item) = Generic1::ICollection<A>::Contains{ return false; };
|
||||
/// <param name="array">Where to copy elements to</param>
|
||||
/// <param name="arrayIndex">Where to start copyingto</param>
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`2.CopyTo(`0[],System.Int32)</c>.</remarks>
|
||||
public: virtual void CopyTo(cli::array<A>^ arrayPar, int arrayIndex) = Generic1::ICollection<A>::CopyTo{};
|
||||
/// <param name="item">the item to remove</param>
|
||||
/// <remarks><c>M:Mono.DocTest.MyList`2.System#Collections#Generic#ICollection{A}#Remove(`0)</c>.</remarks>
|
||||
/// <returns>Whether the item was removed.</returns>
|
||||
virtual bool Remove(A item) = Generic1::ICollection<A>::Remove{ return false; };
|
||||
|
||||
/// <remarks>M:Mono.DocTest.Generic.MyList`2.Foo</remarks>
|
||||
public:
|
||||
generic<typename AA, typename BB>
|
||||
where AA : Generic1::IEnumerable<A>
|
||||
where BB : Generic1::IEnumerable<B>
|
||||
Generic1::KeyValuePair<AA, BB>^ Foo()
|
||||
{
|
||||
return gcnew Generic1::KeyValuePair<AA, BB>();
|
||||
};
|
||||
|
||||
// IFoo members
|
||||
/// <typeparam name="U">U generic param on MyList`2</typeparam>
|
||||
/// <remarks><c>M:Mono.DocTest.Generic.MyList`2.Mono#DocTest#Generic#IFoo{A}#Method``1(`0,``0)</c>.</remarks>
|
||||
generic<typename U>
|
||||
virtual A Method(A a, U u) = IFoo<A>::Method
|
||||
{
|
||||
return Current2; /*default(A);*/
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user