diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 000000000..e9cd3711b
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,56 @@
+name: Build
+
+on:
+ push:
+ branches: [ main, master, dev/** ]
+ pull_request:
+ branches: [ main, master ]
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' }}
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ubuntu-latest, windows-latest, macos-latest]
+ configuration: [Release, Debug]
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Replace PackageId and PackageVersion in mdoc.csproj
+ shell: pwsh
+ run: |
+ $csprojPath = "mdoc/mdoc.csproj"
+ $content = Get-Content $csprojPath -Raw
+ $content = $content -replace 'mdoc', 'notmdoc'
+ $content = $content -replace '5\.9\.4', '0.0.1'
+ Set-Content $csprojPath $content -NoNewline
+
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: '6.x'
+
+ - name: Restore dependencies
+ run: dotnet restore apidoctools.sln
+
+ - name: Build
+ run: dotnet build apidoctools.sln -c ${{ matrix.configuration }} --no-restore
+
+ - name: Pack NuGet packages
+ run: dotnet pack mdoc/mdoc.csproj -o bin/Nuget -c ${{ matrix.configuration }} --no-build
+
+ - name: Upload build artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: build-artifacts-${{ matrix.os }}-${{ matrix.configuration }}
+ path: |
+ bin/Nuget/
+ retention-days: 7
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 000000000..372f8d364
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,84 @@
+name: Tests
+
+on:
+ push:
+ branches: [ main, master, dev/** ]
+ pull_request:
+ branches: [ main, master ]
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' }}
+
+jobs:
+ test:
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [macos-latest, windows-latest] # ubuntu-latest is having issues for now
+ configuration: [Release] # mono F# generates different APIs in Debug vs Release
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: '6.x'
+
+ - name: Install Mono (required for mdoc tests) - Ubuntu
+ if: matrix.os == 'ubuntu-latest'
+ run: |
+ sudo apt install ca-certificates gnupg
+ sudo gpg --homedir /tmp --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/mono-official-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
+ sudo chmod +r /usr/share/keyrings/mono-official-archive-keyring.gpg
+ echo "deb [signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
+ sudo apt update
+ sudo apt install mono-complete mono-vbnc
+
+ - name: Install Mono (required for mdoc tests) - macOS
+ if: matrix.os == 'macos-latest'
+ run: |
+ brew install --cask mono-mdk
+
+ - name: Restore dependencies
+ run: dotnet restore apidoctools.sln
+
+ - name: Build
+ run: dotnet build apidoctools.sln -c ${{ matrix.configuration }} --no-restore
+
+ - name: Run .NET tests
+ run: dotnet test apidoctools.sln -c ${{ matrix.configuration }} --no-build --verbosity normal --logger trx --collect "XPlat Code Coverage"
+
+ - name: Run mdoc tests
+ if: matrix.os != 'windows-latest'
+ run: make check-mdoc CONFIGURATION=${{ matrix.configuration }}
+
+ - name: Upload Test Results
+ if: always()
+ uses: actions/upload-artifact@v4
+ with:
+ name: test-results-${{ matrix.os }}-${{ matrix.configuration }}
+ path: |
+ **/TestResults/**
+ retention-days: 30
+
+ - name: Upload code coverage
+ uses: actions/upload-artifact@v4
+ if: always()
+ with:
+ name: code-coverage-${{ matrix.os }}-${{ matrix.configuration }}
+ path: |
+ **/TestResults/**/coverage.*
+ retention-days: 30
+
+ - name: Report test results
+ uses: dorny/test-reporter@v2
+ if: always()
+ with:
+ name: Test Report (${{ matrix.os }})
+ path: '**/*.trx'
+ reporter: dotnet-trx
diff --git a/.gitignore b/.gitignore
index 155e7c4a9..724175929 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,4 @@
.vscode
-/Test/en.*/
-/Test/html.*/
-/Test/DocTest.*
-/.v2.txt
-/.v0.txt
packages
NUnit.*
TestResult.xml
@@ -17,14 +12,3 @@ obj
*.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
-/mdoc/Properties/launchSettings.json
diff --git a/Directory.Build.props b/Directory.Build.props
index 98bf22a7e..7729f302e 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -3,12 +3,15 @@
4.3.4
0.10.0
3.10.1
- 3.17.0
- 16.11.0
+ 3.10.0
+ 5.0.0
+ 17.1.0
2.6.2.0
1.3.3
6.0.0
3.0.3
13.0.1
+ 4.6.3
+ 3.1.2
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 59360081f..c9965f510 100644
--- a/Makefile
+++ b/Makefile
@@ -1,36 +1,24 @@
CONFIGURATION = Release
-BIN = bin/$(CONFIGURATION)
-MDOC = $(BIN)/mdoc.exe
ENVIRONMENT = notwsl#use 'wsl' when running on wsl
all: build
-build: $(MDOC)
+clean:
+ dotnet clean apidoctools.sln -c $(CONFIGURATION)
-$(MDOC):
- dotnet build -v:n apidoctools.sln /p:Configuration=$(CONFIGURATION)
+build:
+ dotnet build apidoctools.sln -c $(CONFIGURATION)
-prepare:
- git submodule update --init --recursive
- dotnet restore apidoctools.sln
- nuget install NUnit.Console -version 3.6.0 -NoCache -o packages
+nuget:
+ dotnet pack mdoc/mdoc.csproj -o bin/Nuget
-clean:
- dotnet build -v:n apidoctools.sln /t:clean /p:Configuration=$(CONFIGURATION)
- rm -rf bin/$(CONFIGURATION)
+check: build test check-monodoc check-mdoc
-check: build check-monodoc check-mdoc
+test:
+ dotnet test apidoctools.sln -c $(CONFIGURATION)
check-mdoc:
- cd mdoc; $(MAKE) check -B
-
-nuget:
- nuget pack mdoc/mdoc.nuspec -outputdirectory bin/Nuget
+ cd tests/mdoc; $(MAKE) check -B
check-monodoc:
- cd monodoc; $(MAKE) check -B
-
-zip:
- rm -f $(BIN)/mdoc*.zip
- zip -j $(BIN)/mdoc.zip $(BIN)/*
-
\ No newline at end of file
+ dotnet test -c $(CONFIGURATION)
diff --git a/Mdoc-ReleaseCheckCI.yml b/Mdoc-ReleaseCheckCI.yml
index 5cc209c5f..bc5c508ed 100644
--- a/Mdoc-ReleaseCheckCI.yml
+++ b/Mdoc-ReleaseCheckCI.yml
@@ -42,7 +42,7 @@ jobs:
displayName: Compare xml files
timeoutInMinutes: 600
inputs:
- filePath: mdoc/compareXmlFiles.ps1
+ filePath: tools/compareXmlFiles.ps1
arguments: -paramsJson '$(params)' -githubTokenBase64 '$(githubTokenBase64)' -githubOptionsAccountName $(githubOptionsAccountName) -githubOptionsAccountEmail $(githubOptionsAccountEmail) -vstsTokenBase64 '$(vstsTokenBase64)' -step '1' -commit1 ''
enabled: true
name: job1output
@@ -93,7 +93,7 @@ jobs:
displayName: Compare xml files
timeoutInMinutes: 600
inputs:
- filePath: mdoc/compareXmlFiles.ps1
+ filePath: tools/compareXmlFiles.ps1
arguments: -paramsJson '$(params)' -githubTokenBase64 '$(githubTokenBase64)' -githubOptionsAccountName $(githubOptionsAccountName) -githubOptionsAccountEmail $(githubOptionsAccountEmail) -vstsTokenBase64 '$(vstsTokenBase64)' -step '2' -commit1 '$(commit1)'
enabled: true
name: job2output
diff --git a/README.md b/README.md
index 4fce13d11..122b766e3 100644
--- a/README.md
+++ b/README.md
@@ -84,4 +84,4 @@ 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.
## How to debug
-[How to debug mdoc](./Documentation/how-to-debug/how-to-debug-mdoc.md)
+[How to debug mdoc](./docs/how-to-debug/how-to-debug-mdoc.md)
diff --git a/apidoctools.sln b/apidoctools.sln
index e0834cc87..f4ee09da8 100644
--- a/apidoctools.sln
+++ b/apidoctools.sln
@@ -1,118 +1,59 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-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
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "monodoc", "monodoc\monodoc.csproj", "{6E644802-B579-4037-9809-9CF4C7172C9D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Monodoc.Test", "monodoc\Test\Monodoc.Test.csproj", "{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}"
-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
- {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
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+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
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "monodoc", "monodoc\monodoc.csproj", "{6E644802-B579-4037-9809-9CF4C7172C9D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "monodoc.Test", "tests\monodoc.Test\monodoc.Test.csproj", "{1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mdoc.Test", "tests\mdoc.Test\mdoc.Test.csproj", "{5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "mdoc.Test.FSharp", "tests\mdoc.Test.FSharp\mdoc.Test.FSharp.fsproj", "{979F9F80-12FE-4236-9E93-6D554AB13701}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mdoc.Test.NullableReferenceTypes", "tests\mdoc.Test.NullableReferenceTypes\mdoc.Test.NullableReferenceTypes.csproj", "{15200CE4-65F9-4F45-8508-7BB2A4E0597C}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ 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}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7DA7CD97-614F-4BCD-A2FA-B379590CEA48}.Release|Any CPU.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}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6E644802-B579-4037-9809-9CF4C7172C9D}.Release|Any CPU.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}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1EE70E2C-A289-4C36-AD0A-3D0C6CE56615}.Release|Any CPU.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}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5ADDEFB6-930C-46BC-8B2B-FDE5C7E3B5AD}.Release|Any CPU.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}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {979F9F80-12FE-4236-9E93-6D554AB13701}.Release|Any CPU.Build.0 = Release|Any CPU
+ {15200CE4-65F9-4F45-8508-7BB2A4E0597C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {15200CE4-65F9-4F45-8508-7BB2A4E0597C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {15200CE4-65F9-4F45-8508-7BB2A4E0597C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {15200CE4-65F9-4F45-8508-7BB2A4E0597C}.Release|Any CPU.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
+ GlobalSection(NestedProjects) = preSolution
+ EndGlobalSection
+EndGlobal
diff --git a/Documentation/how-to-debug/how-to-debug-mdoc.md b/docs/how-to-debug/how-to-debug-mdoc.md
similarity index 100%
rename from Documentation/how-to-debug/how-to-debug-mdoc.md
rename to docs/how-to-debug/how-to-debug-mdoc.md
diff --git a/Documentation/how-to-debug/images/artifact.png b/docs/how-to-debug/images/artifact.png
similarity index 100%
rename from Documentation/how-to-debug/images/artifact.png
rename to docs/how-to-debug/images/artifact.png
diff --git a/Documentation/how-to-debug/images/breakpoint.png b/docs/how-to-debug/images/breakpoint.png
similarity index 100%
rename from Documentation/how-to-debug/images/breakpoint.png
rename to docs/how-to-debug/images/breakpoint.png
diff --git a/Documentation/how-to-debug/images/commit-log.png b/docs/how-to-debug/images/commit-log.png
similarity index 100%
rename from Documentation/how-to-debug/images/commit-log.png
rename to docs/how-to-debug/images/commit-log.png
diff --git a/Documentation/how-to-debug/images/input-folder.png b/docs/how-to-debug/images/input-folder.png
similarity index 100%
rename from Documentation/how-to-debug/images/input-folder.png
rename to docs/how-to-debug/images/input-folder.png
diff --git a/Documentation/how-to-debug/images/lanuch-profile1.png b/docs/how-to-debug/images/lanuch-profile1.png
similarity index 100%
rename from Documentation/how-to-debug/images/lanuch-profile1.png
rename to docs/how-to-debug/images/lanuch-profile1.png
diff --git a/Documentation/how-to-debug/images/lanuch-profile2.png b/docs/how-to-debug/images/lanuch-profile2.png
similarity index 100%
rename from Documentation/how-to-debug/images/lanuch-profile2.png
rename to docs/how-to-debug/images/lanuch-profile2.png
diff --git a/Documentation/how-to-debug/images/pipeline.png b/docs/how-to-debug/images/pipeline.png
similarity index 100%
rename from Documentation/how-to-debug/images/pipeline.png
rename to docs/how-to-debug/images/pipeline.png
diff --git a/external/Test/mdoc.Test.Cplusplus.dll b/external/Test/mdoc.Test.Cplusplus.dll
deleted file mode 100644
index 88506624a..000000000
Binary files a/external/Test/mdoc.Test.Cplusplus.dll and /dev/null differ
diff --git a/external/Test/mdoc.Test.FSharp.dll b/external/Test/mdoc.Test.FSharp.dll
deleted file mode 100644
index e7de8b4a4..000000000
Binary files a/external/Test/mdoc.Test.FSharp.dll and /dev/null differ
diff --git a/external/Test/mdoc.Test.NullableReferenceTypes.dll b/external/Test/mdoc.Test.NullableReferenceTypes.dll
deleted file mode 100644
index b35bf2315..000000000
Binary files a/external/Test/mdoc.Test.NullableReferenceTypes.dll and /dev/null differ
diff --git a/external/Test/readme.md b/external/Test/readme.md
index d2c6cdbf1..95ec2dd33 100644
--- a/external/Test/readme.md
+++ b/external/Test/readme.md
@@ -4,7 +4,6 @@ The files in this directory are used as test inputs for explicit assembly testin
|---|---|
|CSharpExample.dll|TBD|
|mdoc.Test.Cplusplus.dll|../../mdoc/mdoc.Test.Cplusplus|
-|mdoc.Test.NullableReferenceTypes.dll|../../mdoc/mdoc.Test/NullableReferenceTypesTests|
|UWPTestComponentCSharp.winmd|../../mdoc/mdoc.Test/UWPTestComponentCSharp|
|UwpTestWinRtComponentCpp.dll|../../mdoc/mdoc.Test/UwpTestWinRtComponentCpp|
|UwpTestWinRtComponentCpp.winmd|../../mdoc/mdoc.Test/UwpTestWinRtComponentCpp|
diff --git a/external/Test/x64/mdoc.Test.Cplusplus.dll b/external/Test/x64/mdoc.Test.Cplusplus.dll
new file mode 100644
index 000000000..92d02b2dd
Binary files /dev/null and b/external/Test/x64/mdoc.Test.Cplusplus.dll differ
diff --git a/external/Test/x86/mdoc.Test.Cplusplus.dll b/external/Test/x86/mdoc.Test.Cplusplus.dll
new file mode 100644
index 000000000..706d88870
Binary files /dev/null and b/external/Test/x86/mdoc.Test.Cplusplus.dll differ
diff --git a/global.json b/global.json
new file mode 100644
index 000000000..21bacddeb
--- /dev/null
+++ b/global.json
@@ -0,0 +1,6 @@
+{
+ "sdk": {
+ "version": "6.0.428",
+ "rollForward": "latestMinor"
+ }
+}
\ No newline at end of file
diff --git a/mdoc-tests-baseline.log b/mdoc-tests-baseline.log
new file mode 100644
index 000000000..58fa55793
--- /dev/null
+++ b/mdoc-tests-baseline.log
@@ -0,0 +1,5476 @@
+cd mdoc; /Applications/Xcode.app/Contents/Developer/usr/bin/make check -B
+rm -f Test/DocTest-differentTypeDefinitions-First.dll
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-differentTypeDefinitions-First.dll Test/DocTest-differentTypeDefinitions.cs /define:FIRST
+rm -f Test/DocTest-differentTypeDefinitions-Second.dll
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-differentTypeDefinitions-Second.dll Test/DocTest-differentTypeDefinitions.cs /define:SECOND
+rm -Rf Test/en.actual
+rm -Rf Test/FrameworkTestData-fx-differentTypeDefinitions
+mkdir Test/FrameworkTestData-fx-differentTypeDefinitions
+mkdir Test/FrameworkTestData-fx-differentTypeDefinitions/One
+cp Test/DocTest-differentTypeDefinitions-First.dll Test/FrameworkTestData-fx-differentTypeDefinitions/One
+cp Test/DocTest-differentTypeDefinitions-Second.dll Test/FrameworkTestData-fx-differentTypeDefinitions/One
+mono ../bin/Release/mdoc.exe fx-bootstrap -fx Test/FrameworkTestData-fx-differentTypeDefinitions
+One
+Framework configuration file written to Test/FrameworkTestData-fx-differentTypeDefinitions/frameworks.xml
+mono ../bin/Release/mdoc.exe update -o Test/en.actual -frameworks Test/FrameworkTestData-fx-differentTypeDefinitions
+mdoc 5.9.4
+Opening frameworks file 'Test/FrameworkTestData-fx-differentTypeDefinitions/frameworks.xml'
+Frameworks Configuration contains 2 assemblies
+Creating frameworks cache: Caching Test/FrameworkTestData-fx-differentTypeDefinitions/One/DocTest-differentTypeDefinitions-First.dll
+Caching Test/FrameworkTestData-fx-differentTypeDefinitions/One/DocTest-differentTypeDefinitions-Second.dll
+
+done caching.
+Updating DocTest-differentTypeDefinitions-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-differentTypeDefinitions/One/DocTest-differentTypeDefinitions-First.dll
+New Type: TheNamespace.TheClass
+Member Added: public TheClass (int arg);
+Namespace Directory Created: TheNamespace
+New Namespace File: TheNamespace
+Updating DocTest-differentTypeDefinitions-Second, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-differentTypeDefinitions/One/DocTest-differentTypeDefinitions-Second.dll
+Updating: TheNamespace.TheClass
+Member Added: public TheClass (string arg);
+Members Added: 2, Members Deleted: 0
+diff -rup Test/en.expected.differentTypeDefinitions Test/en.actual
+rm -f Test/DocTest-typeForwards-First.dll
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-typeForwards-First.dll Test/DocTest-typeForwards.cs /define:FIRST
+rm -f Test/DocTest-typeForwards-Second.dll
+rm -f Test/DocTest-typeForwards-Second-First.dll
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-typeForwards-Second.dll Test/DocTest-typeForwards.cs /define:FIRST
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-typeForwards-Second-First.dll /reference:Test/DocTest-typeForwards-Second.dll Test/DocTest-typeForwards.cs /define:SECOND
+rm -f Test/DocTest-typeForwards-Third.dll
+rm -f Test/DocTest-typeForwards-Third-First.dll
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-typeForwards-Third.dll Test/DocTest-typeForwards.cs /define:FIRST
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-typeForwards-Third-First.dll /reference:Test/DocTest-typeForwards-Third.dll Test/DocTest-typeForwards.cs /define:THIRD
+rm -Rf Test/en.actual
+# set up the fx test data
+# all frameworks One, Two, Three should have the type forwarding from DocTest-typeForwards-Second-First to DocTest-typeForwards-Second \
+ # so in xml should find no "FrameworkAlternate" attribute for this forwarding, the attribute is removed as expected since it is full frameworks list
+# frameworks Two and Three should have the type forwarding from DocTest-typeForwards-Third-First to DocTest-typeForwards-third \
+ # in xml we should see FrameworkAlternate="Three;Two"
+rm -Rf Test/FrameworkTestData-fx-typeForwards
+mkdir Test/FrameworkTestData-fx-typeForwards
+mkdir Test/FrameworkTestData-fx-typeForwards/One
+mkdir Test/FrameworkTestData-fx-typeForwards/Two
+mkdir Test/FrameworkTestData-fx-typeForwards/Three
+mkdir Test/FrameworkTestData-fx-typeForwards/dependencies
+mkdir Test/FrameworkTestData-fx-typeForwards/dependencies/One
+mkdir Test/FrameworkTestData-fx-typeForwards/dependencies/Two
+mkdir Test/FrameworkTestData-fx-typeForwards/dependencies/Three
+cp Test/DocTest-typeForwards-First.dll Test/FrameworkTestData-fx-typeForwards/One
+cp Test/DocTest-typeForwards-Second-First.dll Test/FrameworkTestData-fx-typeForwards/One
+cp Test/DocTest-typeForwards-Second.dll Test/FrameworkTestData-fx-typeForwards/dependencies/One
+cp Test/DocTest-typeForwards-Second-First.dll Test/FrameworkTestData-fx-typeForwards/Two
+cp Test/DocTest-typeForwards-Third-First.dll Test/FrameworkTestData-fx-typeForwards/Two
+cp Test/DocTest-typeForwards-Second.dll Test/FrameworkTestData-fx-typeForwards/dependencies/Two
+cp Test/DocTest-typeForwards-Third.dll Test/FrameworkTestData-fx-typeForwards/dependencies/Two
+cp Test/DocTest-typeForwards-Second-First.dll Test/FrameworkTestData-fx-typeForwards/Three
+cp Test/DocTest-typeForwards-Third-First.dll Test/FrameworkTestData-fx-typeForwards/Three
+cp Test/DocTest-typeForwards-Second.dll Test/FrameworkTestData-fx-typeForwards/dependencies/Three
+cp Test/DocTest-typeForwards-Third.dll Test/FrameworkTestData-fx-typeForwards/dependencies/Three
+mono ../bin/Release/mdoc.exe fx-bootstrap -fx Test/FrameworkTestData-fx-typeForwards
+One
+Three
+Two
+Framework configuration file written to Test/FrameworkTestData-fx-typeForwards/frameworks.xml
+# now run mdoc update
+mono ../bin/Release/mdoc.exe update -o Test/en.actual -frameworks Test/FrameworkTestData-fx-typeForwards
+mdoc 5.9.4
+Opening frameworks file 'Test/FrameworkTestData-fx-typeForwards/frameworks.xml'
+Frameworks Configuration contains 6 assemblies
+Creating frameworks cache: Caching Test/FrameworkTestData-fx-typeForwards/One/DocTest-typeForwards-First.dll
+Caching Test/FrameworkTestData-fx-typeForwards/One/DocTest-typeForwards-Second-First.dll
+Caching Test/FrameworkTestData-fx-typeForwards/Three/DocTest-typeForwards-Second-First.dll
+Caching Test/FrameworkTestData-fx-typeForwards/Three/DocTest-typeForwards-Third-First.dll
+Caching Test/FrameworkTestData-fx-typeForwards/Two/DocTest-typeForwards-Second-First.dll
+Caching Test/FrameworkTestData-fx-typeForwards/Two/DocTest-typeForwards-Third-First.dll
+
+done caching.
+Updating DocTest-typeForwards-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-typeForwards/One/DocTest-typeForwards-First.dll
+New Type: TheNamespace.TheClass
+Member Added: public TheClass ();
+Namespace Directory Created: TheNamespace
+New Namespace File: TheNamespace
+Updating DocTest-typeForwards-Second-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-typeForwards/One/DocTest-typeForwards-Second-First.dll
+Updating: TheNamespace.TheClass
+Updating DocTest-typeForwards-Second-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-typeForwards/Three/DocTest-typeForwards-Second-First.dll
+Updating: TheNamespace.TheClass
+Updating DocTest-typeForwards-Third-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-typeForwards/Three/DocTest-typeForwards-Third-First.dll
+Updating: TheNamespace.TheClass
+Updating DocTest-typeForwards-Second-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-typeForwards/Two/DocTest-typeForwards-Second-First.dll
+Updating: TheNamespace.TheClass
+Updating DocTest-typeForwards-Third-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-typeForwards/Two/DocTest-typeForwards-Third-First.dll
+Updating: TheNamespace.TheClass
+Members Added: 1, Members Deleted: 0
+diff -rup Test/en.expected.typeForwards Test/en.actual
+rm -f Test/DocTest-nestedType-typeForwards-First.dll
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-nestedType-typeForwards-First.dll Test/DocTest-nestedType-typeForwards.cs /define:FIRST
+rm -f Test/DocTest-nestedType-typeForwards-Second.dll
+rm -f Test/DocTest-nestedType-typeForwards-Second-First.dll
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-nestedType-typeForwards-Second.dll Test/DocTest-nestedType-typeForwards.cs /define:FIRST
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-nestedType-typeForwards-Second-First.dll /reference:Test/DocTest-nestedType-typeForwards-Second.dll Test/DocTest-nestedType-typeForwards.cs /define:SECOND
+rm -f Test/DocTest-nestedType-typeForwards-Third.dll
+rm -f Test/DocTest-nestedType-typeForwards-Third-First.dll
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-nestedType-typeForwards-Third.dll Test/DocTest-nestedType-typeForwards.cs /define:FIRST
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-nestedType-typeForwards-Third-First.dll /reference:Test/DocTest-nestedType-typeForwards-Third.dll Test/DocTest-nestedType-typeForwards.cs /define:THIRD
+rm -Rf Test/en.actual
+# set up the fx test data
+rm -Rf Test/FrameworkTestData-fx-nestedType-typeForwards
+mkdir Test/FrameworkTestData-fx-nestedType-typeForwards
+mkdir Test/FrameworkTestData-fx-nestedType-typeForwards/One
+mkdir Test/FrameworkTestData-fx-nestedType-typeForwards/Two
+mkdir Test/FrameworkTestData-fx-nestedType-typeForwards/Three
+mkdir Test/FrameworkTestData-fx-nestedType-typeForwards/dependencies
+mkdir Test/FrameworkTestData-fx-nestedType-typeForwards/dependencies/One
+mkdir Test/FrameworkTestData-fx-nestedType-typeForwards/dependencies/Two
+mkdir Test/FrameworkTestData-fx-nestedType-typeForwards/dependencies/Three
+cp Test/DocTest-nestedType-typeForwards-First.dll Test/FrameworkTestData-fx-nestedType-typeForwards/One
+cp Test/DocTest-nestedType-typeForwards-Second-First.dll Test/FrameworkTestData-fx-nestedType-typeForwards/One
+cp Test/DocTest-nestedType-typeForwards-Second.dll Test/FrameworkTestData-fx-nestedType-typeForwards/dependencies/One
+cp Test/DocTest-nestedType-typeForwards-Second-First.dll Test/FrameworkTestData-fx-nestedType-typeForwards/Two
+cp Test/DocTest-nestedType-typeForwards-Third-First.dll Test/FrameworkTestData-fx-nestedType-typeForwards/Two
+cp Test/DocTest-nestedType-typeForwards-Second.dll Test/FrameworkTestData-fx-nestedType-typeForwards/dependencies/Two
+cp Test/DocTest-nestedType-typeForwards-Third.dll Test/FrameworkTestData-fx-nestedType-typeForwards/dependencies/Two
+cp Test/DocTest-nestedType-typeForwards-Second-First.dll Test/FrameworkTestData-fx-nestedType-typeForwards/Three
+cp Test/DocTest-nestedType-typeForwards-Third-First.dll Test/FrameworkTestData-fx-nestedType-typeForwards/Three
+cp Test/DocTest-nestedType-typeForwards-Second.dll Test/FrameworkTestData-fx-nestedType-typeForwards/dependencies/Three
+cp Test/DocTest-nestedType-typeForwards-Third.dll Test/FrameworkTestData-fx-nestedType-typeForwards/dependencies/Three
+mono ../bin/Release/mdoc.exe fx-bootstrap -fx Test/FrameworkTestData-fx-nestedType-typeForwards
+One
+Three
+Two
+Framework configuration file written to Test/FrameworkTestData-fx-nestedType-typeForwards/frameworks.xml
+# now run mdoc update
+mono ../bin/Release/mdoc.exe update -o Test/en.actual -frameworks Test/FrameworkTestData-fx-nestedType-typeForwards
+mdoc 5.9.4
+Opening frameworks file 'Test/FrameworkTestData-fx-nestedType-typeForwards/frameworks.xml'
+Frameworks Configuration contains 6 assemblies
+Creating frameworks cache: Caching Test/FrameworkTestData-fx-nestedType-typeForwards/One/DocTest-nestedType-typeForwards-First.dll
+Caching Test/FrameworkTestData-fx-nestedType-typeForwards/One/DocTest-nestedType-typeForwards-Second-First.dll
+Caching Test/FrameworkTestData-fx-nestedType-typeForwards/Three/DocTest-nestedType-typeForwards-Second-First.dll
+Caching Test/FrameworkTestData-fx-nestedType-typeForwards/Three/DocTest-nestedType-typeForwards-Third-First.dll
+Caching Test/FrameworkTestData-fx-nestedType-typeForwards/Two/DocTest-nestedType-typeForwards-Second-First.dll
+Caching Test/FrameworkTestData-fx-nestedType-typeForwards/Two/DocTest-nestedType-typeForwards-Third-First.dll
+
+done caching.
+Updating DocTest-nestedType-typeForwards-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-nestedType-typeForwards/One/DocTest-nestedType-typeForwards-First.dll
+New Type: TheNamespace.TheClass
+Member Added: public TheClass ();
+Namespace Directory Created: TheNamespace
+New Namespace File: TheNamespace
+New Type: TheNamespace.TheClass/InnerClass
+Member Added: public InnerClass ();
+New Namespace File:
+New Type: TheNamespace.TheClass/InnerClass/Enumerator
+Member Added: public Enumerator ();
+Updating DocTest-nestedType-typeForwards-Second-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-nestedType-typeForwards/One/DocTest-nestedType-typeForwards-Second-First.dll
+Updating: TheNamespace.TheClass
+Updating: TheNamespace.TheClass/InnerClass
+Updating: TheNamespace.TheClass/InnerClass/Enumerator
+Updating DocTest-nestedType-typeForwards-Second-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-nestedType-typeForwards/Three/DocTest-nestedType-typeForwards-Second-First.dll
+Updating: TheNamespace.TheClass
+Updating: TheNamespace.TheClass/InnerClass
+Updating: TheNamespace.TheClass/InnerClass/Enumerator
+Updating DocTest-nestedType-typeForwards-Third-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-nestedType-typeForwards/Three/DocTest-nestedType-typeForwards-Third-First.dll
+Updating: TheNamespace.TheClass
+Updating: TheNamespace.TheClass/InnerClass
+Updating: TheNamespace.TheClass/InnerClass/Enumerator
+Updating DocTest-nestedType-typeForwards-Second-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-nestedType-typeForwards/Two/DocTest-nestedType-typeForwards-Second-First.dll
+Updating: TheNamespace.TheClass
+Updating: TheNamespace.TheClass/InnerClass
+Updating: TheNamespace.TheClass/InnerClass/Enumerator
+Updating DocTest-nestedType-typeForwards-Third-First, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/FrameworkTestData-fx-nestedType-typeForwards/Two/DocTest-nestedType-typeForwards-Third-First.dll
+Updating: TheNamespace.TheClass
+Updating: TheNamespace.TheClass/InnerClass
+Updating: TheNamespace.TheClass/InnerClass/Enumerator
+Members Added: 3, Members Deleted: 0
+diff -rup Test/en.expected-nestedType.typeForwards Test/en.actual
+rm -Rf Test/en.actual
+/Applications/Xcode.app/Contents/Developer/usr/bin/make Test/DocTest-VB-Eii.dll
+vbnc -out:Test/DocTest-VB-Eii.dll Test/ClassEnumerator.vb
+Visual Basic.Net Compiler version 0.0.0.5943 (Mono 4.8 - (HEAD/3bd44f6)
+Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved.
+
+Assembly 'DocTest-VB-Eii, Version=0.0, Culture=neutral, PublicKeyToken=null' saved successfully to '/Users/matthew/Documents/GitHub/api-doc-tools/mdoc/Test/DocTest-VB-Eii.dll'.
+Compilation successful
+Compilation took 00:00:01.2081760
+mono ../bin/Release/mdoc.exe update -o Test/en.actual Test/DocTest-VB-Eii.dll -lang vb.net -lang fsharp -lang javascript -lang c++/cli -lang c++/cx -lang c++/winrt -import Test/ClassEnumeratorSlashDoc.xml
+mdoc 5.9.4
+Updating DocTest-VB-Eii, Version=0.0.65535.65535, Culture=neutral, PublicKeyToken=null from Test/DocTest-VB-Eii.dll
+New Type: CustomNamespace.ClassEnumerator
+Member Added: public ClassEnumerator ();
+Member Added: public static void Main (string[] cmdArgs);
+Member Added: int CustomNamespace.CustomInterface.Prop1 { get; set; }
+Member Added: object CustomNamespace.CustomInterface.Prop2 { get; }
+Namespace Directory Created: CustomNamespace
+New Namespace File: CustomNamespace
+New Type: CustomNamespace.CustomInterface
+Member Added: public int Prop1 { get; set; }
+Member Added: public object Prop2 { get; }
+Members Added: 6, Members Deleted: 0
+diff -rup Test/en.expected-eii-implementation-slashdoc Test/en.actual
+rm -Rf Test/en.actual
+/Applications/Xcode.app/Contents/Developer/usr/bin/make Test/DocTest-VB-Eii.dll
+vbnc -out:Test/DocTest-VB-Eii.dll Test/ClassEnumerator.vb
+Visual Basic.Net Compiler version 0.0.0.5943 (Mono 4.8 - (HEAD/3bd44f6)
+Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved.
+
+Assembly 'DocTest-VB-Eii, Version=0.0, Culture=neutral, PublicKeyToken=null' saved successfully to '/Users/matthew/Documents/GitHub/api-doc-tools/mdoc/Test/DocTest-VB-Eii.dll'.
+Compilation successful
+Compilation took 00:00:01.3417450
+mono ../bin/Release/mdoc.exe update -o Test/en.actual Test/DocTest-VB-Eii.dll -lang vb.net -lang fsharp -lang javascript -lang c++/cli -lang c++/cx -lang c++/winrt -import Test/ClassEnumeratorECMA.xml
+mdoc 5.9.4
+Updating DocTest-VB-Eii, Version=0.0.65535.65535, Culture=neutral, PublicKeyToken=null from Test/DocTest-VB-Eii.dll
+ Import: CustomNamespace.ClassEnumerator
+New Type: CustomNamespace.ClassEnumerator
+Member Added: public ClassEnumerator ();
+Member Added: int CustomNamespace.CustomInterface.CustomProp1 { get; set; }
+Member Added: object CustomNamespace.CustomInterface.CustomProp2 { get; }
+Member Added: public static void Main (string[] cmdArgs);
+Namespace Directory Created: CustomNamespace
+New Namespace File: CustomNamespace
+New Type: CustomNamespace.CustomInterface
+Member Added: public int Prop1 { get; set; }
+Member Added: public object Prop2 { get; }
+Members Added: 6, Members Deleted: 0
+diff -rup Test/en.expected-eii-implementation-ecmadoc Test/en.actual
+rm -Rf Test/en.actual
+/Applications/Xcode.app/Contents/Developer/usr/bin/make Test/DocTest-VB-Eii.dll
+vbnc -out:Test/DocTest-VB-Eii.dll Test/ClassEnumerator.vb
+Visual Basic.Net Compiler version 0.0.0.5943 (Mono 4.8 - (HEAD/3bd44f6)
+Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved.
+
+Assembly 'DocTest-VB-Eii, Version=0.0, Culture=neutral, PublicKeyToken=null' saved successfully to '/Users/matthew/Documents/GitHub/api-doc-tools/mdoc/Test/DocTest-VB-Eii.dll'.
+Compilation successful
+Compilation took 00:00:01.3101620
+mono ../bin/Release/mdoc.exe update -o Test/en.actual Test/DocTest-VB-Eii.dll -lang vb.net -lang fsharp -lang javascript -lang c++/cli -lang c++/cx -lang c++/winrt
+mdoc 5.9.4
+Updating DocTest-VB-Eii, Version=0.0.65535.65535, Culture=neutral, PublicKeyToken=null from Test/DocTest-VB-Eii.dll
+New Type: CustomNamespace.ClassEnumerator
+Member Added: public ClassEnumerator ();
+Member Added: public static void Main (string[] cmdArgs);
+Member Added: int CustomNamespace.CustomInterface.Prop1 { get; set; }
+Member Added: object CustomNamespace.CustomInterface.Prop2 { get; }
+Namespace Directory Created: CustomNamespace
+New Namespace File: CustomNamespace
+New Type: CustomNamespace.CustomInterface
+Member Added: public int Prop1 { get; set; }
+Member Added: public object Prop2 { get; }
+Members Added: 6, Members Deleted: 0
+diff -rup Test/en.expected-eii-implementation Test/en.actual
+rm -Rf Test/en.actual
+/Applications/Xcode.app/Contents/Developer/usr/bin/make Test/DocTest.dll-v1
+rm -f Test/DocTest.cs
+cp Test/DocTest-v1.cs Test/DocTest.cs
+rm -f Test/DocTest.dll
+/Applications/Xcode.app/Contents/Developer/usr/bin/make Test/DocTest.dll
+mcs -target:library -debug -optimize -unsafe -target:library -out:Test/DocTest.dll Test/DocTest.cs -r:System.Core.dll -r:Microsoft.CSharp.dll
+warning CS1685: The predefined type `System.Array' is defined multiple times. Using definition from `mscorlib.dll'
+Test/DocTest.cs(42,15): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+warning CS1685: The predefined type `System.AsyncCallback' is defined multiple times. Using definition from `mscorlib.dll'
+Test/DocTest.cs(63,23): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+Test/DocTest.cs(523,60): warning CS0436: The type `System.Action' conflicts with the imported type of same name'. Ignoring the imported type definition
+Test/DocTest.cs(16,23): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+Test/DocTest.cs(364,23): warning CS0067: The event `Mono.DocTest.Widget.AnotherEvent' is never used
+Test/DocTest.cs(420,30): warning CS0067: The event `Mono.DocTest.Widget.DynamicE1' is never used
+Test/DocTest.cs(582,43): warning CS0067: The event `Mono.DocTest.Generic.GenericBase.MyEvent' is never used
+Test/DocTest.cs(585,58): warning CS0067: The event `Mono.DocTest.Generic.GenericBase.ItemChanged' is never used
+Compilation succeeded - 7 warning(s)
+mono ../bin/Release/mdoc.exe --debug update -o Test/en.actual Test/DocTest.dll
+mdoc 5.9.4
+Updating DocTest, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/DocTest.dll
+New Type: NoNamespace
+Member Added: public NoNamespace ();
+Namespace Directory Created:
+New Namespace File:
+New Type: System.Action`1
+Namespace Directory Created: System
+New Namespace File: System
+New Type: System.Environment
+Member Added: public static string GetFolderPath (Environment.SpecialFolder folder);
+Member Added: public static bool IsAligned (this T[] vect, int index) where T : struct;
+New Type: System.Environment/SpecialFolder
+New Type: System.Array
+Member Added: public Array ();
+Member Added: public static System.Collections.ObjectModel.ReadOnlyCollection AsReadOnly (T[] array);
+Member Added: public static TOutput[] ConvertAll (TInput[] array, Converter converter);
+Member Added: public static void Resize (ref T[] array, int newSize);
+New Type: System.AsyncCallback
+New Type: Mono.DocTest.DocAttribute
+Member Added: public DocAttribute (string docs);
+Member Added: public bool Field;
+Member Added: public ConsoleModifiers FlagsEnum;
+Member Added: public Mono.DocTest.Color NonFlagsEnum;
+Member Added: public Type Property { get; set; }
+Namespace Directory Created: Mono.DocTest
+New Namespace File: Mono.DocTest
+New Type: Mono.DocTest.Color
+Member Added: Red
+Member Added: Blue
+Member Added: Green
+Member Added: AnotherGreen
+New Type: Mono.DocTest.IProcess
+New Type: Mono.DocTest.DocValueType
+Member Added: public int total;
+Member Added: public void M (int i);
+New Type: Mono.DocTest.D
+New Type: Mono.DocTest.Widget
+Member Added: public Widget ();
+Member Added: public Widget (string s);
+Member Added: public Widget (Converter c);
+Member Added: public event Mono.DocTest.Widget.Del AnEvent;
+Member Added: protected event Mono.DocTest.Widget.Del AnotherEvent;
+Member Added: public event Func DynamicE1;
+Member Added: public event Func DynamicE2;
+Member Added: public static readonly string[] classCtorError;
+Member Added: public string message;
+Member Added: protected static Mono.DocTest.Color defaultColor;
+Member Added: protected internal const double PI = 3.14159;
+Member Added: protected internal readonly double monthlyAverage;
+Member Added: public long[] array1;
+Member Added: public Mono.DocTest.Widget[,] array2;
+Member Added: public int* pCount;
+Member Added: public float** ppValues;
+Member Added: public static Mono.DocTest.Widget op_Division;
+Member Added: public Func,Func,string>> DynamicF;
+Member Added: public static void M0 ();
+Member Added: public void M1 (char c, out float f, ref Mono.DocTest.DocValueType v);
+Member Added: public void M2 (short[] x1, int[,] x2, long[][] x3);
+Member Added: protected void M3 (long[][] x3, Mono.DocTest.Widget[,,][] x4);
+Member Added: protected void M4 (char* pc, Mono.DocTest.Color** ppf);
+Member Added: protected void M5 (void* pv, double*[,][] pd);
+Member Added: protected void M6 (int i, params object[] args);
+Member Added: public void M7 (Mono.DocTest.Widget.NestedClass.Double.Triple.Quadruple a);
+Member Added: public static Mono.DocTest.Widget operator + (Mono.DocTest.Widget x);
+Member Added: public static Mono.DocTest.Widget operator + (Mono.DocTest.Widget x1, Mono.DocTest.Widget x2);
+Member Added: public static explicit operator int (Mono.DocTest.Widget x);
+Member Added: public static implicit operator long (Mono.DocTest.Widget x);
+Member Added: public void Default (int a = 1, int b = 2);
+Member Added: public void Default (string a = "a", char b = '\0');
+Member Added: public dynamic Dynamic0 (dynamic a, dynamic b);
+Member Added: public System.Collections.Generic.Dictionary Dynamic1 (System.Collections.Generic.Dictionary value);
+Member Added: public Func Dynamic2 (Func value);
+Member Added: public Func,Func> Dynamic3 (Func,Func> value);
+Member Added: public int Width { get; protected set; }
+Member Added: protected long Height { get; }
+Member Added: protected internal short X { set; }
+Member Added: protected internal double Y { get; set; }
+Member Added: public int this[int i] { get; set; }
+Member Added: public int this[string s, int i] { get; set; }
+Member Added: public Func,Func,string>> DynamicP { get; }
+New Type: Mono.DocTest.Widget/NestedClass
+Member Added: public NestedClass ();
+Member Added: public int value;
+Member Added: public void M (int i);
+New Type: Mono.DocTest.Widget/NestedClass/Double
+Member Added: public Double ();
+New Type: Mono.DocTest.Widget/NestedClass/Double/Triple
+Member Added: public Triple ();
+New Type: Mono.DocTest.Widget/NestedClass/Double/Triple/Quadruple
+Member Added: public Quadruple ();
+New Type: Mono.DocTest.Widget/NestedClass`1
+Member Added: public NestedClass ();
+Member Added: public int value;
+Member Added: public void M (int i);
+New Type: Mono.DocTest.Widget/IMenuItem
+Member Added: public void A ();
+Member Added: public int B { get; set; }
+New Type: Mono.DocTest.Widget/Del
+New Type: Mono.DocTest.Widget/Direction
+Member Added: North
+Member Added: South
+Member Added: East
+Member Added: West
+New Type: Mono.DocTest.UseLists
+Member Added: public UseLists ();
+Member Added: public void Process (Mono.DocTest.Generic.MyList list);
+Member Added: public Mono.DocTest.Generic.MyList GetValues (T value) where T : struct;
+Member Added: public void Process (System.Collections.Generic.List list);
+Member Added: public void Process (System.Collections.Generic.List> list);
+Member Added: public void Process (System.Collections.Generic.List> list);
+Member Added: public void UseHelper (Mono.DocTest.Generic.MyList.Helper helper);
+New Type: Mono.DocTest.Generic.Func`2
+Namespace Directory Created: Mono.DocTest.Generic
+New Namespace File: Mono.DocTest.Generic
+New Type: Mono.DocTest.Generic.Extensions
+Member Added: public static System.Collections.Generic.IEnumerable ToEnumerable (this T self);
+Member Added: public static void ForEach (this System.Collections.Generic.IEnumerable self, Action a);
+Member Added: public static void Bar (this Mono.DocTest.Generic.IFoo self, string s);
+Member Added: public static System.Collections.Generic.IEnumerable ToDouble (this System.Collections.Generic.IEnumerable list);
+Member Added: public static double ToDouble (this T val) where T : Mono.DocTest.Generic.IFoo;
+New Type: Mono.DocTest.Generic.GenericBase`1
+Member Added: public GenericBase ();
+Member Added: public event EventHandler.FooEventArgs> MyEvent;
+Member Added: public event Action,Mono.DocTest.Generic.MyList.Helper> ItemChanged;
+Member Added: public static readonly Mono.DocTest.Generic.GenericBase StaticField1;
+Member Added: public const int ConstField1;
+Member Added: public U BaseMethod (S genericParameter);
+Member Added: public static explicit operator U (Mono.DocTest.Generic.GenericBase list);
+New Type: Mono.DocTest.Generic.GenericBase`1/FooEventArgs
+Member Added: public FooEventArgs ();
+New Type: Mono.DocTest.Generic.GenericBase`1/NestedCollection
+Member Added: public NestedCollection ();
+New Type: Mono.DocTest.Generic.GenericBase`1/NestedCollection/Enumerator
+New Type: Mono.DocTest.Generic.MyList`1
+Member Added: public MyList ();
+Member Added: public void Test (T t);
+Member Added: public void Method (T t, U u);
+Member Added: public void RefMethod (ref T t, ref U u);
+Member Added: public void UseHelper (Mono.DocTest.Generic.MyList.Helper helper);
+Member Added: public Mono.DocTest.Generic.MyList.Helper GetHelper ();
+Member Added: System.Collections.IEnumerator IEnumerable.GetEnumerator ();
+Member Added: public System.Collections.Generic.IEnumerator GetEnumerator ();
+New Type: Mono.DocTest.Generic.MyList`1/Helper`2
+Member Added: public Helper ();
+Member Added: public void UseT (T a, U b, V c);
+New Type: Mono.DocTest.Generic.MyList`1/RefDelegate
+New Type: Mono.DocTest.Generic.IFoo`1
+Member Added: public T Method (T t, U u);
+New Type: Mono.DocTest.Generic.CompoundConstraints`1
+Member Added: public CompoundConstraints ();
+Member Added: public static void CompoundConstraintClass () where param : class, new();
+New Type: Mono.DocTest.Generic.MyList`2
+Member Added: public MyList ();
+Member Added: public bool MoveNext ();
+Member Added: public void Reset ();
+Member Added: public void Dispose ();
+Member Added: System.Collections.IEnumerator IEnumerable.GetEnumerator ();
+Member Added: System.Collections.Generic.IEnumerator IEnumerable.GetEnumerator ();
+Member Added: public System.Collections.Generic.List.Enumerator GetEnumerator ();
+Member Added: void ICollection.Add (A item);
+Member Added: void ICollection.Clear ();
+Member Added: bool ICollection.Contains (A item);
+Member Added: public void CopyTo (A[] array, int arrayIndex);
+Member Added: bool ICollection.Remove (A item);
+Member Added: public System.Collections.Generic.KeyValuePair,System.Collections.Generic.IEnumerable> Foo ();
+Member Added: A IFoo.Method (A a, U u);
+Member Added: object System.Collections.IEnumerator.Current { get; }
+Member Added: A System.Collections.Generic.IEnumerator.Current { get; }
+Member Added: bool System.Collections.Generic.ICollection.IsReadOnly { get; }
+Member Added: public A Current { get; }
+Member Added: public int Count { get; }
+Members Added: 129, Members Deleted: 0
+/Applications/Xcode.app/Contents/Developer/usr/bin/make Test/DocTest.dll-v2
+rm -f Test/DocTest.cs
+cp Test/DocTest-v1.cs Test/DocTest.cs
+cd Test && patch -p0 --binary < DocTest-v2.patch
+patching file DocTest.cs
+rm -f Test/DocTest.dll
+/Applications/Xcode.app/Contents/Developer/usr/bin/make Test/DocTest.dll
+mcs -target:library -debug -optimize -unsafe -target:library -out:Test/DocTest.dll Test/DocTest.cs -r:System.Core.dll -r:Microsoft.CSharp.dll
+warning CS1685: The predefined type `System.Array' is defined multiple times. Using definition from `mscorlib.dll'
+Test/DocTest.cs(45,15): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+Test/DocTest.cs(520,60): warning CS0436: The type `System.Action' conflicts with the imported type of same name'. Ignoring the imported type definition
+Test/DocTest.cs(19,23): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+Test/DocTest.cs(358,23): warning CS0067: The event `Mono.DocTest.Widget.AnotherEvent' is never used
+Test/DocTest.cs(414,30): warning CS0067: The event `Mono.DocTest.Widget.DynamicE1' is never used
+Test/DocTest.cs(581,43): warning CS0067: The event `Mono.DocTest.Generic.GenericBase.MyEvent' is never used
+Test/DocTest.cs(584,58): warning CS0067: The event `Mono.DocTest.Generic.GenericBase.ItemChanged' is never used
+Compilation succeeded - 6 warning(s)
+mono ../bin/Release/mdoc.exe --debug update --since="Version 2.0" \
+ -o Test/en.actual Test/DocTest.dll
+mdoc 5.9.4
+Updating DocTest, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null from Test/DocTest.dll
+Updating: NoNamespace
+Updating: System.Action`1
+Updating: System.Environment
+Updating: System.Environment/SpecialFolder
+Updating: System.Array
+Updating: Mono.DocTest.DocAttribute
+Updating: Mono.DocTest.Color
+Updating: Mono.DocTest.IProcess
+Updating: Mono.DocTest.DocValueType
+Updating: Mono.DocTest.D
+Updating: Mono.DocTest.Widget
+Updating: Mono.DocTest.Widget/NestedClass
+Updating: Mono.DocTest.Widget/NestedClass/Double
+Updating: Mono.DocTest.Widget/NestedClass/Double/Triple
+Updating: Mono.DocTest.Widget/NestedClass/Double/Triple/Quadruple
+Updating: Mono.DocTest.Widget/NestedClass`1
+Updating: Mono.DocTest.Widget/IMenuItem
+Updating: Mono.DocTest.Widget/Del
+Updating: Mono.DocTest.Widget/Direction
+Updating: Mono.DocTest.UseLists
+New Type: Mono.DocTest.AddedType
+Member Added: public AddedType ();
+Updating: Mono.DocTest.Generic.Func`2
+Updating: Mono.DocTest.Generic.Extensions
+Updating: Mono.DocTest.Generic.GenericBase`1
+Member Added: public void AddedInVersion0_1_0_0 ();
+Updating: Mono.DocTest.Generic.GenericBase`1/FooEventArgs
+Updating: Mono.DocTest.Generic.GenericBase`1/NestedCollection
+Updating: Mono.DocTest.Generic.GenericBase`1/NestedCollection/Enumerator
+Updating: Mono.DocTest.Generic.MyList`1
+Updating: Mono.DocTest.Generic.MyList`1/Helper`2
+Updating: Mono.DocTest.Generic.MyList`1/RefDelegate
+Updating: Mono.DocTest.Generic.IFoo`1
+Updating: Mono.DocTest.Generic.CompoundConstraints`1
+Updating: Mono.DocTest.Generic.MyList`2
+Members Added: 2, Members Deleted: 0
+diff -rup Test/en.expected.since Test/en.actual
+rm -Rf Test/en.actual
+/Applications/Xcode.app/Contents/Developer/usr/bin/make Test/DocTest.dll-v1
+rm -f Test/DocTest.cs
+cp Test/DocTest-v1.cs Test/DocTest.cs
+rm -f Test/DocTest.dll
+/Applications/Xcode.app/Contents/Developer/usr/bin/make Test/DocTest.dll
+mcs -target:library -debug -optimize -unsafe -target:library -out:Test/DocTest.dll Test/DocTest.cs -r:System.Core.dll -r:Microsoft.CSharp.dll
+warning CS1685: The predefined type `System.Array' is defined multiple times. Using definition from `mscorlib.dll'
+Test/DocTest.cs(42,15): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+warning CS1685: The predefined type `System.AsyncCallback' is defined multiple times. Using definition from `mscorlib.dll'
+Test/DocTest.cs(63,23): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+Test/DocTest.cs(523,60): warning CS0436: The type `System.Action' conflicts with the imported type of same name'. Ignoring the imported type definition
+Test/DocTest.cs(16,23): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+Test/DocTest.cs(364,23): warning CS0067: The event `Mono.DocTest.Widget.AnotherEvent' is never used
+Test/DocTest.cs(420,30): warning CS0067: The event `Mono.DocTest.Widget.DynamicE1' is never used
+Test/DocTest.cs(582,43): warning CS0067: The event `Mono.DocTest.Generic.GenericBase.MyEvent' is never used
+Test/DocTest.cs(585,58): warning CS0067: The event `Mono.DocTest.Generic.GenericBase.ItemChanged' is never used
+Compilation succeeded - 7 warning(s)
+mono ../bin/Release/mdoc.exe --debug update -i Test/TestEcmaDocs.xml \
+ '--type=System.Action`1' --type=System.AsyncCallback \
+ --type=System.Environment --type=System.Array \
+ -o Test/en.actual Test/DocTest.dll
+mdoc 5.9.4
+ Import: System.Action`1
+New Type: System.Action`1
+Namespace Directory Created: System
+ Import: System.AsyncCallback
+New Type: System.AsyncCallback
+ Import: System.Environment
+New Type: System.Environment
+Member Added: public static string GetCommandLineArgs(Environment.SpecialFolder folder);
+Member Added: public static bool IsAligned (this T[] vect, int index) where T : struct;
+ Import: System.Array
+New Type: System.Array
+Member Added: private Array();
+Member Added: public static IList AsReadOnly(T[] array)
+mdoc: Could not import ECMA docs for `System.Array's `public static int BinarySearch(Array array, int index, int length, object value, IComparer comparer);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int BinarySearch(Array array, object value, IComparer comparer);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int BinarySearch(Array array, int index, int length, object value);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int BinarySearch(Array array, object value);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int BinarySearch(T[] array, T value)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int BinarySearch(T[] array, T value, IComparer comparer)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int BinarySearch(T[] array, int index, int length, T value)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int BinarySearch(T[] array, int index, int length, T value, IComparer comparer)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Clear(Array array, int index, int length);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public virtual object Clone();': Member not found.
+Member Added: public static U[] ConvertAll(T[] array, Converter converter)
+mdoc: Could not import ECMA docs for `System.Array's `public static void Copy(Array sourceArray, Array destinationArray, int length);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Copy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public virtual void CopyTo(Array array, int index);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static Array CreateInstance(Type elementType, int[] lengths);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static Array CreateInstance(Type elementType, int length1, int length2, int length3);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static Array CreateInstance(Type elementType, int length1, int length2);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static Array CreateInstance(Type elementType, int length);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static Array CreateInstance(Type elementType, int[] lengths, int[] lowerBounds);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static bool Exists(T[] array, Predicate match)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static T Find(T[] array, Predicate match)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static T[] FindAll(T[] array, Predicate match)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int FindIndex(T[] array, Predicate match)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int FindIndex(T[] array, int startIndex, Predicate match)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int FindIndex(T[] array, int startIndex, int count, Predicate match)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static T FindLast(T[] array, Predicate match)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int FindLastIndex(T[] array, Predicate match)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int FindLastIndex(T[] array, int startIndex, Predicate match)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int FindLastIndex(T[] array, int startIndex, int count, Predicate match)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void ForEach(T[] array, Action action)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public virtual IEnumerator GetEnumerator();': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public int GetLength(int dimension)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public int GetLowerBound(int dimension);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public int GetUpperBound(int dimension);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public object GetValue(int[] indices);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public object GetValue(int index);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public object GetValue(int index1, int index2);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public object GetValue(int index1, int index2, int index3);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int IndexOf(Array array, object value, int startIndex, int count);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int IndexOf(Array array, object value, int startIndex);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int IndexOf(Array array, object value);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int IndexOf(T[] array, T value, int startIndex, int count)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int IndexOf(T[] array, T value, int startIndex)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int IndexOf(T[] array, T value)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public void Initialize();': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public bool IsFixedSize { get; }': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public bool IsReadOnly { get; }': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public bool IsSynchronized { get; }': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int LastIndexOf(Array array, object value, int startIndex, int count);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int LastIndexOf(Array array, object value, int startIndex);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int LastIndexOf(Array array, object value);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int LastIndexOf(T[] array, T value, int startIndex, int count)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int LastIndexOf(T[] array, T value, int startIndex)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static int LastIndexOf(T[] array, T value)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public int Length { get; }': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public long LongLength {get;}': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public int Rank { get; }': Member not found.
+Member Added: public static void Resize(ref T[] array, int newSize)
+mdoc: Could not import ECMA docs for `System.Array's `public static void Reverse(Array array, int index, int length);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Reverse(Array array);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public void SetValue(object value, int index);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public void SetValue(object value, int index1, int index2);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public void SetValue(object value, int index1, int index2, int index3);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public void SetValue(object value, int[] indices);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(Array keys, Array items, int index, int length, IComparer comparer);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(Array array, int index, int length, IComparer comparer);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(Array keys, Array items, IComparer comparer);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(Array array, IComparer comparer);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(Array keys, Array items, int index, int length);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(Array array);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(Array keys, Array items);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(Array array, int index, int length);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(K[] keys, V[] items, int index, int length, IComparer comparer)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(K[] keys, V[] items, IComparer comparer)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(K[] keys, V[] items, int index, int length)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(K[] keys, V[] items)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(T[] array, int index, int length, IComparer comparer)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(T[] array, IComparer comparer)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(T[] array, Comparison comparison)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(T[] array)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static void Sort(T[] array, int index, int length)': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public object SyncRoot { get; }': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `int ICollection.Count { get; }': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `int IList.Add(object value);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `void IList.Clear();': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `bool IList.Contains(object value);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `int IList.IndexOf(object value);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `void IList.Insert(int index, object value);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public virtual object this[int index] { get; set; }': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `void IList.Remove(object value);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `void IList.RemoveAt(int index);': Member not found.
+mdoc: Could not import ECMA docs for `System.Array's `public static bool TrueForAll(T[] array, Predicate match)': Member not found.
+Members Added: 6, Members Deleted: 0
+diff -rup Test/en.expected.importecmadoc Test/en.actual
+rm -Rf Test/en.actual
+/Applications/Xcode.app/Contents/Developer/usr/bin/make Test/DocTest.dll-v1 TEST_CSCFLAGS=-doc:Test/DocTest.xml
+rm -f Test/DocTest.cs
+cp Test/DocTest-v1.cs Test/DocTest.cs
+rm -f Test/DocTest.dll
+/Applications/Xcode.app/Contents/Developer/usr/bin/make Test/DocTest.dll
+mcs -doc:Test/DocTest.xml -debug -optimize -unsafe -target:library -out:Test/DocTest.dll Test/DocTest.cs -r:System.Core.dll -r:Microsoft.CSharp.dll
+warning CS1685: The predefined type `System.Array' is defined multiple times. Using definition from `mscorlib.dll'
+Test/DocTest.cs(42,15): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+warning CS1685: The predefined type `System.AsyncCallback' is defined multiple times. Using definition from `mscorlib.dll'
+Test/DocTest.cs(63,23): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+Test/DocTest.cs(523,60): warning CS0436: The type `System.Action' conflicts with the imported type of same name'. Ignoring the imported type definition
+Test/DocTest.cs(16,23): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+Test/DocTest.cs(35,28): warning CS1591: Missing XML comment for publicly visible type or member `System.Environment.IsAligned(this T[], int)'
+Test/DocTest.cs(42,15): warning CS1591: Missing XML comment for publicly visible type or member `System.Array'
+Test/DocTest.cs(44,70): warning CS1591: Missing XML comment for publicly visible type or member `System.Array.AsReadOnly(T[])'
+Test/DocTest.cs(50,27): warning CS1591: Missing XML comment for publicly visible type or member `System.Array.ConvertAll(TInput[], System.Converter)'
+Test/DocTest.cs(56,22): warning CS1591: Missing XML comment for publicly visible type or member `System.Array.Resize(ref T[], int)'
+Test/DocTest.cs(63,23): warning CS1591: Missing XML comment for publicly visible type or member `System.AsyncCallback'
+Test/DocTest.cs(135,3): warning CS1591: Missing XML comment for publicly visible type or member `Mono.DocTest.Color.AnotherGreen'
+Test/DocTest.cs(622,15): warning CS1591: Missing XML comment for publicly visible type or member `Mono.DocTest.Generic.MyList.RefMethod(ref T, ref U)'
+Test/DocTest.cs(656,22): warning CS1591: Missing XML comment for publicly visible type or member `Mono.DocTest.Generic.CompoundConstraints.CompoundConstraintClass()'
+Test/DocTest.cs(364,23): warning CS0067: The event `Mono.DocTest.Widget.AnotherEvent' is never used
+Test/DocTest.cs(420,30): warning CS0067: The event `Mono.DocTest.Widget.DynamicE1' is never used
+Test/DocTest.cs(582,43): warning CS0067: The event `Mono.DocTest.Generic.GenericBase.MyEvent' is never used
+Test/DocTest.cs(585,58): warning CS0067: The event `Mono.DocTest.Generic.GenericBase.ItemChanged' is never used
+Compilation succeeded - 16 warning(s)
+mono ../bin/Release/mdoc.exe --debug update -i Test/DocTest.xml \
+ -o Test/en.actual Test/DocTest.dll
+mdoc 5.9.4
+Updating DocTest, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/DocTest.dll
+New Type: NoNamespace
+Member Added: public NoNamespace ();
+Namespace Directory Created:
+New Namespace File:
+New Type: System.Action`1
+Namespace Directory Created: System
+New Namespace File: System
+New Type: System.Environment
+Member Added: public static string GetFolderPath (Environment.SpecialFolder folder);
+Member Added: public static bool IsAligned (this T[] vect, int index) where T : struct;
+New Type: System.Environment/SpecialFolder
+New Type: System.Array
+Member Added: public Array ();
+Member Added: public static System.Collections.ObjectModel.ReadOnlyCollection AsReadOnly (T[] array);
+Member Added: public static TOutput[] ConvertAll (TInput[] array, Converter converter);
+Member Added: public static void Resize (ref T[] array, int newSize);
+New Type: System.AsyncCallback
+New Type: Mono.DocTest.DocAttribute
+Member Added: public DocAttribute (string docs);
+Member Added: public bool Field;
+Member Added: public ConsoleModifiers FlagsEnum;
+Member Added: public Mono.DocTest.Color NonFlagsEnum;
+Member Added: public Type Property { get; set; }
+Namespace Directory Created: Mono.DocTest
+New Namespace File: Mono.DocTest
+New Type: Mono.DocTest.Color
+Member Added: Red
+Member Added: Blue
+Member Added: Green
+Member Added: AnotherGreen
+New Type: Mono.DocTest.IProcess
+New Type: Mono.DocTest.DocValueType
+Member Added: public int total;
+Member Added: public void M (int i);
+New Type: Mono.DocTest.D
+New Type: Mono.DocTest.Widget
+Member Added: public Widget ();
+Member Added: public Widget (string s);
+Member Added: public Widget (Converter c);
+Member Added: public event Mono.DocTest.Widget.Del AnEvent;
+Member Added: protected event Mono.DocTest.Widget.Del AnotherEvent;
+Member Added: public event Func DynamicE1;
+Member Added: public event Func DynamicE2;
+Member Added: public static readonly string[] classCtorError;
+Member Added: public string message;
+Member Added: protected static Mono.DocTest.Color defaultColor;
+Member Added: protected internal const double PI = 3.14159;
+Member Added: protected internal readonly double monthlyAverage;
+Member Added: public long[] array1;
+Member Added: public Mono.DocTest.Widget[,] array2;
+Member Added: public int* pCount;
+Member Added: public float** ppValues;
+Member Added: public static Mono.DocTest.Widget op_Division;
+Member Added: public Func,Func,string>> DynamicF;
+Member Added: public static void M0 ();
+Member Added: public void M1 (char c, out float f, ref Mono.DocTest.DocValueType v);
+Member Added: public void M2 (short[] x1, int[,] x2, long[][] x3);
+Member Added: protected void M3 (long[][] x3, Mono.DocTest.Widget[,,][] x4);
+Member Added: protected void M4 (char* pc, Mono.DocTest.Color** ppf);
+Member Added: protected void M5 (void* pv, double*[,][] pd);
+Member Added: protected void M6 (int i, params object[] args);
+Member Added: public void M7 (Mono.DocTest.Widget.NestedClass.Double.Triple.Quadruple a);
+Member Added: public static Mono.DocTest.Widget operator + (Mono.DocTest.Widget x);
+Member Added: public static Mono.DocTest.Widget operator + (Mono.DocTest.Widget x1, Mono.DocTest.Widget x2);
+Member Added: public static explicit operator int (Mono.DocTest.Widget x);
+Member Added: public static implicit operator long (Mono.DocTest.Widget x);
+Member Added: public void Default (int a = 1, int b = 2);
+Member Added: public void Default (string a = "a", char b = '\0');
+Member Added: public dynamic Dynamic0 (dynamic a, dynamic b);
+Member Added: public System.Collections.Generic.Dictionary Dynamic1 (System.Collections.Generic.Dictionary value);
+Member Added: public Func Dynamic2 (Func value);
+Member Added: public Func,Func> Dynamic3 (Func,Func> value);
+Member Added: public int Width { get; protected set; }
+Member Added: protected long Height { get; }
+Member Added: protected internal short X { set; }
+Member Added: protected internal double Y { get; set; }
+Member Added: public int this[int i] { get; set; }
+Member Added: public int this[string s, int i] { get; set; }
+Member Added: public Func,Func,string>> DynamicP { get; }
+New Type: Mono.DocTest.Widget/NestedClass
+Member Added: public NestedClass ();
+Member Added: public int value;
+Member Added: public void M (int i);
+New Type: Mono.DocTest.Widget/NestedClass/Double
+Member Added: public Double ();
+New Type: Mono.DocTest.Widget/NestedClass/Double/Triple
+Member Added: public Triple ();
+New Type: Mono.DocTest.Widget/NestedClass/Double/Triple/Quadruple
+Member Added: public Quadruple ();
+New Type: Mono.DocTest.Widget/NestedClass`1
+Member Added: public NestedClass ();
+Member Added: public int value;
+Member Added: public void M (int i);
+New Type: Mono.DocTest.Widget/IMenuItem
+Member Added: public void A ();
+Member Added: public int B { get; set; }
+New Type: Mono.DocTest.Widget/Del
+New Type: Mono.DocTest.Widget/Direction
+Member Added: North
+Member Added: South
+Member Added: East
+Member Added: West
+New Type: Mono.DocTest.UseLists
+Member Added: public UseLists ();
+Member Added: public void Process (Mono.DocTest.Generic.MyList list);
+Member Added: public Mono.DocTest.Generic.MyList GetValues (T value) where T : struct;
+Member Added: public void Process (System.Collections.Generic.List list);
+Member Added: public void Process (System.Collections.Generic.List> list);
+Member Added: public void Process (System.Collections.Generic.List> list);
+Member Added: public void UseHelper (Mono.DocTest.Generic.MyList.Helper helper);
+New Type: Mono.DocTest.Generic.Func`2
+Namespace Directory Created: Mono.DocTest.Generic
+New Namespace File: Mono.DocTest.Generic
+New Type: Mono.DocTest.Generic.Extensions
+Member Added: public static System.Collections.Generic.IEnumerable ToEnumerable (this T self);
+Member Added: public static void ForEach (this System.Collections.Generic.IEnumerable self, Action a);
+Member Added: public static void Bar (this Mono.DocTest.Generic.IFoo self, string s);
+Member Added: public static System.Collections.Generic.IEnumerable ToDouble (this System.Collections.Generic.IEnumerable list);
+Member Added: public static double ToDouble (this T val) where T : Mono.DocTest.Generic.IFoo;
+New Type: Mono.DocTest.Generic.GenericBase`1
+Member Added: public GenericBase ();
+Member Added: public event EventHandler.FooEventArgs> MyEvent;
+Member Added: public event Action,Mono.DocTest.Generic.MyList.Helper> ItemChanged;
+Member Added: public static readonly Mono.DocTest.Generic.GenericBase StaticField1;
+Member Added: public const int ConstField1;
+Member Added: public U BaseMethod (S genericParameter);
+Member Added: public static explicit operator U (Mono.DocTest.Generic.GenericBase list);
+New Type: Mono.DocTest.Generic.GenericBase`1/FooEventArgs
+Member Added: public FooEventArgs ();
+New Type: Mono.DocTest.Generic.GenericBase`1/NestedCollection
+Member Added: public NestedCollection ();
+New Type: Mono.DocTest.Generic.GenericBase`1/NestedCollection/Enumerator
+New Type: Mono.DocTest.Generic.MyList`1
+Member Added: public MyList ();
+Member Added: public void Test (T t);
+Member Added: public void Method (T t, U u);
+Member Added: public void RefMethod (ref T t, ref U u);
+Member Added: public void UseHelper (Mono.DocTest.Generic.MyList.Helper helper);
+Member Added: public Mono.DocTest.Generic.MyList.Helper GetHelper ();
+Member Added: System.Collections.IEnumerator IEnumerable.GetEnumerator ();
+Member Added: public System.Collections.Generic.IEnumerator GetEnumerator ();
+New Type: Mono.DocTest.Generic.MyList`1/Helper`2
+Member Added: public Helper ();
+Member Added: public void UseT (T a, U b, V c);
+New Type: Mono.DocTest.Generic.MyList`1/RefDelegate
+New Type: Mono.DocTest.Generic.IFoo`1
+Member Added: public T Method (T t, U u);
+New Type: Mono.DocTest.Generic.CompoundConstraints`1
+Member Added: public CompoundConstraints ();
+Member Added: public static void CompoundConstraintClass () where param : class, new();
+New Type: Mono.DocTest.Generic.MyList`2
+Member Added: public MyList ();
+Member Added: public bool MoveNext ();
+Member Added: public void Reset ();
+Member Added: public void Dispose ();
+Member Added: System.Collections.IEnumerator IEnumerable.GetEnumerator ();
+Member Added: System.Collections.Generic.IEnumerator IEnumerable.GetEnumerator ();
+Member Added: public System.Collections.Generic.List.Enumerator GetEnumerator ();
+Member Added: void ICollection.Add (A item);
+Member Added: void ICollection.Clear ();
+Member Added: bool ICollection.Contains (A item);
+Member Added: public void CopyTo (A[] array, int arrayIndex);
+Member Added: bool ICollection.Remove (A item);
+Member Added: public System.Collections.Generic.KeyValuePair,System.Collections.Generic.IEnumerable> Foo ();
+Member Added: A IFoo.Method (A a, U u);
+Member Added: object System.Collections.IEnumerator.Current { get; }
+Member Added: A System.Collections.Generic.IEnumerator.Current { get; }
+Member Added: bool System.Collections.Generic.ICollection.IsReadOnly { get; }
+Member Added: public A Current { get; }
+Member Added: public int Count { get; }
+Members Added: 129, Members Deleted: 0
+diff -rup Test/en.expected.importslashdoc Test/en.actual
+rm -f Test/DocTest.cs
+cp Test/DocTest-v1.cs Test/DocTest.cs
+rm -f Test/DocTest.dll
+/Applications/Xcode.app/Contents/Developer/usr/bin/make Test/DocTest.dll
+mcs -target:library -debug -optimize -unsafe -target:library -out:Test/DocTest.dll Test/DocTest.cs -r:System.Core.dll -r:Microsoft.CSharp.dll
+warning CS1685: The predefined type `System.Array' is defined multiple times. Using definition from `mscorlib.dll'
+Test/DocTest.cs(42,15): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+warning CS1685: The predefined type `System.AsyncCallback' is defined multiple times. Using definition from `mscorlib.dll'
+Test/DocTest.cs(63,23): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+Test/DocTest.cs(523,60): warning CS0436: The type `System.Action' conflicts with the imported type of same name'. Ignoring the imported type definition
+Test/DocTest.cs(16,23): (Location of the symbol related to previous warning)
+/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous warning)
+Test/DocTest.cs(364,23): warning CS0067: The event `Mono.DocTest.Widget.AnotherEvent' is never used
+Test/DocTest.cs(420,30): warning CS0067: The event `Mono.DocTest.Widget.DynamicE1' is never used
+Test/DocTest.cs(582,43): warning CS0067: The event `Mono.DocTest.Generic.GenericBase.MyEvent' is never used
+Test/DocTest.cs(585,58): warning CS0067: The event `Mono.DocTest.Generic.GenericBase.ItemChanged' is never used
+Compilation succeeded - 7 warning(s)
+Test/DocTest-DropNS-classic-secondary.dll
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-DropNS-classic-secondary.dll Test/DocTest-DropNS-classic-secondary.cs -doc:Test/DocTest-DropNS-classic-secondary.xml
+Test/DocTest-DropNS-classic-secondary.cs(4,17): warning CS1591: Missing XML comment for publicly visible type or member `MyFramework.MyOtherNamespace.MyOtherClass.MyProperty'
+Compilation succeeded - 1 warning(s)
+Test/DocTest-DropNS-classic.dll
+mcs -target:library -unsafe -debug -optimize -target:library -out:Test/DocTest-DropNS-classic.dll Test/DocTest-DropNS-classic.cs -doc:Test/DocTest-DropNS-classic.xml
+Test/DocTest-DropNS-classic.cs(7,16): warning CS1591: Missing XML comment for publicly visible type or member `MyFramework.MyNamespace.MyClass.Hello(int)'
+Test/DocTest-DropNS-classic.cs(10,17): warning CS1591: Missing XML comment for publicly visible type or member `MyFramework.MyNamespace.MyClass.OnlyInClassic'
+Test/DocTest-DropNS-classic.cs(27,22): warning CS1591: Missing XML comment for publicly visible type or member `MyFramework.MyNamespace.MyClassExtensions'
+Test/DocTest-DropNS-classic.cs(28,22): warning CS1591: Missing XML comment for publicly visible type or member `MyFramework.MyNamespace.MyClassExtensions.AnExtension(this MyFramework.MyNamespace.MyClass)'
+Compilation succeeded - 4 warning(s)
+rm -Rf Test/en.actual
+rm -Rf Test/fx-import
+rm -Rf Test/actual_statistics.txt
+mkdir Test/fx-import
+mkdir Test/fx-import/one
+mkdir Test/fx-import/two
+cp Test/DocTest.dll Test/fx-import/one
+cp Test/DocTest-DropNS-classic-secondary.dll Test/fx-import/two
+cp Test/DocTest-DropNS-classic.dll Test/fx-import/two
+cp Test/DocTest-DropNS-classic-secondary.xml Test/fx-import/TestEcmaDocs2.xml
+cp Test/DocTest-DropNS-classic.xml Test/fx-import/DocTest-DropNS-classic.xml
+cp Test/DocTest.xml Test/fx-import/TestEcmaDocs.xml
+cp Test/CLILibraryTypes.dtd Test/fx-import/
+cp Test/fx-import-configuration.xml Test/fx-import/frameworks.xml
+mono ../bin/Release/mdoc.exe update -o Test/en.actual -frameworks Test/fx-import -statistics Test/actual_statistics.txt
+mdoc 5.9.4
+Opening frameworks file 'Test/fx-import/frameworks.xml'
+Frameworks Configuration contains 3 assemblies
+Creating frameworks cache: Caching Test/fx-import/one/DocTest.dll
+Caching Test/fx-import/two/DocTest-DropNS-classic.dll
+Caching Test/fx-import/two/DocTest-DropNS-classic-secondary.dll
+
+done caching.
+Updating DocTest, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null from Test/fx-import/one/DocTest.dll
+New Type: NoNamespace
+Member Added: public NoNamespace ();
+Namespace Directory Created:
+New Namespace File:
+New Type: System.Action`1
+Namespace Directory Created: System
+New Namespace File: System
+New Type: System.Environment
+Member Added: public static string GetFolderPath (Environment.SpecialFolder folder);
+Member Added: public static bool IsAligned (this T[] vect, int index) where T : struct;
+New Type: System.Environment/SpecialFolder
+New Type: System.Array
+Member Added: public Array ();
+Member Added: public static System.Collections.ObjectModel.ReadOnlyCollection AsReadOnly (T[] array);
+Member Added: public static TOutput[] ConvertAll (TInput[] array, Converter converter);
+Member Added: public static void Resize (ref T[] array, int newSize);
+New Type: System.AsyncCallback
+New Type: Mono.DocTest.DocAttribute
+Member Added: public DocAttribute (string docs);
+Member Added: public bool Field;
+Member Added: public ConsoleModifiers FlagsEnum;
+Member Added: public Mono.DocTest.Color NonFlagsEnum;
+Member Added: public Type Property { get; set; }
+Namespace Directory Created: Mono.DocTest
+New Namespace File: Mono.DocTest
+New Type: Mono.DocTest.Color
+Member Added: Red
+Member Added: Blue
+Member Added: Green
+Member Added: AnotherGreen
+New Type: Mono.DocTest.IProcess
+New Type: Mono.DocTest.DocValueType
+Member Added: public int total;
+Member Added: public void M (int i);
+New Type: Mono.DocTest.D
+New Type: Mono.DocTest.Widget
+Member Added: public Widget ();
+Member Added: public Widget (string s);
+Member Added: public Widget (Converter c);
+Member Added: public event Mono.DocTest.Widget.Del AnEvent;
+Member Added: protected event Mono.DocTest.Widget.Del AnotherEvent;
+Member Added: public event Func DynamicE1;
+Member Added: public event Func DynamicE2;
+Member Added: public static readonly string[] classCtorError;
+Member Added: public string message;
+Member Added: protected static Mono.DocTest.Color defaultColor;
+Member Added: protected internal const double PI = 3.14159;
+Member Added: protected internal readonly double monthlyAverage;
+Member Added: public long[] array1;
+Member Added: public Mono.DocTest.Widget[,] array2;
+Member Added: public int* pCount;
+Member Added: public float** ppValues;
+Member Added: public static Mono.DocTest.Widget op_Division;
+Member Added: public Func,Func,string>> DynamicF;
+Member Added: public static void M0 ();
+Member Added: public void M1 (char c, out float f, ref Mono.DocTest.DocValueType v);
+Member Added: public void M2 (short[] x1, int[,] x2, long[][] x3);
+Member Added: protected void M3 (long[][] x3, Mono.DocTest.Widget[,,][] x4);
+Member Added: protected void M4 (char* pc, Mono.DocTest.Color** ppf);
+Member Added: protected void M5 (void* pv, double*[,][] pd);
+Member Added: protected void M6 (int i, params object[] args);
+Member Added: public void M7 (Mono.DocTest.Widget.NestedClass.Double.Triple.Quadruple a);
+Member Added: public static Mono.DocTest.Widget operator + (Mono.DocTest.Widget x);
+Member Added: public static Mono.DocTest.Widget operator + (Mono.DocTest.Widget x1, Mono.DocTest.Widget x2);
+Member Added: public static explicit operator int (Mono.DocTest.Widget x);
+Member Added: public static implicit operator long (Mono.DocTest.Widget x);
+Member Added: public void Default (int a = 1, int b = 2);
+Member Added: public void Default (string a = "a", char b = '\0');
+Member Added: public dynamic Dynamic0 (dynamic a, dynamic b);
+Member Added: public System.Collections.Generic.Dictionary Dynamic1 (System.Collections.Generic.Dictionary value);
+Member Added: public Func Dynamic2 (Func value);
+Member Added: public Func,Func> Dynamic3 (Func,Func> value);
+Member Added: public int Width { get; protected set; }
+Member Added: protected long Height { get; }
+Member Added: protected internal short X { set; }
+Member Added: protected internal double Y { get; set; }
+Member Added: public int this[int i] { get; set; }
+Member Added: public int this[string s, int i] { get; set; }
+Member Added: public Func,Func,string>> DynamicP { get; }
+New Type: Mono.DocTest.Widget/NestedClass
+Member Added: public NestedClass ();
+Member Added: public int value;
+Member Added: public void M (int i);
+New Type: Mono.DocTest.Widget/NestedClass/Double
+Member Added: public Double ();
+New Type: Mono.DocTest.Widget/NestedClass/Double/Triple
+Member Added: public Triple ();
+New Type: Mono.DocTest.Widget/NestedClass/Double/Triple/Quadruple
+Member Added: public Quadruple ();
+New Type: Mono.DocTest.Widget/NestedClass`1
+Member Added: public NestedClass ();
+Member Added: public int value;
+Member Added: public void M (int i);
+New Type: Mono.DocTest.Widget/IMenuItem
+Member Added: public void A ();
+Member Added: public int B { get; set; }
+New Type: Mono.DocTest.Widget/Del
+New Type: Mono.DocTest.Widget/Direction
+Member Added: North
+Member Added: South
+Member Added: East
+Member Added: West
+New Type: Mono.DocTest.UseLists
+Member Added: public UseLists ();
+Member Added: public void Process (Mono.DocTest.Generic.MyList list);
+Member Added: public Mono.DocTest.Generic.MyList GetValues (T value) where T : struct;
+Member Added: public void Process (System.Collections.Generic.List list);
+Member Added: public void Process (System.Collections.Generic.List> list);
+Member Added: public void Process (System.Collections.Generic.List> list);
+Member Added: public void UseHelper (Mono.DocTest.Generic.MyList.Helper helper);
+New Type: Mono.DocTest.Generic.Func`2
+Namespace Directory Created: Mono.DocTest.Generic
+New Namespace File: Mono.DocTest.Generic
+New Type: Mono.DocTest.Generic.Extensions
+Member Added: public static System.Collections.Generic.IEnumerable ToEnumerable (this T self);
+Member Added: public static void ForEach (this System.Collections.Generic.IEnumerable self, Action a);
+Member Added: public static void Bar (this Mono.DocTest.Generic.IFoo self, string s);
+Member Added: public static System.Collections.Generic.IEnumerable ToDouble (this System.Collections.Generic.IEnumerable list);
+Member Added: public static double ToDouble (this T val) where T : Mono.DocTest.Generic.IFoo;
+New Type: Mono.DocTest.Generic.GenericBase`1
+Member Added: public GenericBase ();
+Member Added: public event EventHandler.FooEventArgs> MyEvent;
+Member Added: public event Action,Mono.DocTest.Generic.MyList.Helper