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

github.com/mono/api-doc-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mdoc/Test
diff options
context:
space:
mode:
authorkatsiaryna_bialiatka <katsiaryna_bialiatka@epam.com>2017-12-22 19:15:31 +0300
committerJoel Martinez <joelmartinez@gmail.com>2018-01-12 01:11:42 +0300
commit6533035ec31f38543532568bc499aba2a98e1788 (patch)
treec9e7e3bdefd3299bfbf28dd5bd6b5bcc43fd988f /mdoc/Test
parent8ff2931c4e40e1c3687e8efa6fb4e8078b3a3c4b (diff)
[mdoc] Support for C++ signatures
Closes #132
Diffstat (limited to 'mdoc/Test')
-rw-r--r--mdoc/Test/UwpTestWinRtComponentCpp.winmdbin0 -> 6656 bytes
-rw-r--r--mdoc/Test/en.expected-cppcli/FrameworksIndex/One.xml20
-rw-r--r--mdoc/Test/en.expected-cppcli/FrameworksIndex/Two.xml17
-rw-r--r--mdoc/Test/en.expected-cppcli/MyFramework.MyNamespace/MyClass.xml92
-rw-r--r--mdoc/Test/en.expected-cppcli/MyFramework.MyNamespace/MyClassExtensions.xml41
-rw-r--r--mdoc/Test/en.expected-cppcli/MyFramework.MyOtherNamespace/MyOtherClass.xml96
-rw-r--r--mdoc/Test/en.expected-cppcli/MyNamespace/MyClass.xml57
-rw-r--r--mdoc/Test/en.expected-cppcli/index.xml73
-rw-r--r--mdoc/Test/en.expected-cppcli/ns-MyFramework.MyNamespace.xml6
-rw-r--r--mdoc/Test/en.expected-cppcli/ns-MyFramework.MyOtherNamespace.xml6
-rw-r--r--mdoc/Test/en.expected-cppcli/ns-MyNamespace.xml6
-rw-r--r--mdoc/Test/en.expected-cppcx/FrameworksIndex/One.xml20
-rw-r--r--mdoc/Test/en.expected-cppcx/FrameworksIndex/Two.xml17
-rw-r--r--mdoc/Test/en.expected-cppcx/MyFramework.MyNamespace/MyClass.xml91
-rw-r--r--mdoc/Test/en.expected-cppcx/MyFramework.MyNamespace/MyClassExtensions.xml40
-rw-r--r--mdoc/Test/en.expected-cppcx/MyFramework.MyOtherNamespace/MyOtherClass.xml95
-rw-r--r--mdoc/Test/en.expected-cppcx/MyNamespace/MyClass.xml56
-rw-r--r--mdoc/Test/en.expected-cppcx/index.xml72
-rw-r--r--mdoc/Test/en.expected-cppcx/ns-MyFramework.MyNamespace.xml6
-rw-r--r--mdoc/Test/en.expected-cppcx/ns-MyFramework.MyOtherNamespace.xml6
-rw-r--r--mdoc/Test/en.expected-cppcx/ns-MyNamespace.xml6
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/Extensions.xml143
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/Func`2.xml64
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml35
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml21
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml35
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1.xml147
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/IFoo`1.xml47
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/MyList`1+Helper`2.xml63
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/MyList`1.xml209
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/MyList`2.xml443
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/Color.xml82
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/D.xml23
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/DocAttribute.xml105
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/DocValueType.xml59
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/IProcess.xml15
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/UseLists.xml169
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+Del.xml23
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+Direction.xml87
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+IMenuItem.xml50
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml32
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass+Double+Triple.xml32
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass+Double.xml32
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass.xml67
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass`1.xml71
-rw-r--r--mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget.xml873
-rw-r--r--mdoc/Test/en.expected-cppcx2/NoNamespace.xml32
-rw-r--r--mdoc/Test/en.expected-cppcx2/System/Action`1.xml26
-rw-r--r--mdoc/Test/en.expected-cppcx2/System/Array.xml110
-rw-r--r--mdoc/Test/en.expected-cppcx2/System/AsyncCallback.xml22
-rw-r--r--mdoc/Test/en.expected-cppcx2/System/Environment+SpecialFolder.xml16
-rw-r--r--mdoc/Test/en.expected-cppcx2/System/Environment.xml71
-rw-r--r--mdoc/Test/en.expected-cppcx2/index.xml225
-rw-r--r--mdoc/Test/en.expected-cppcx2/ns-.xml6
-rw-r--r--mdoc/Test/en.expected-cppcx2/ns-Mono.DocTest.Generic.xml6
-rw-r--r--mdoc/Test/en.expected-cppcx2/ns-Mono.DocTest.xml6
-rw-r--r--mdoc/Test/en.expected-cppcx2/ns-System.xml6
-rw-r--r--mdoc/Test/en.expected-cppwinrt/FrameworksIndex/One.xml20
-rw-r--r--mdoc/Test/en.expected-cppwinrt/FrameworksIndex/Two.xml17
-rw-r--r--mdoc/Test/en.expected-cppwinrt/MyFramework.MyNamespace/MyClass.xml90
-rw-r--r--mdoc/Test/en.expected-cppwinrt/MyFramework.MyNamespace/MyClassExtensions.xml40
-rw-r--r--mdoc/Test/en.expected-cppwinrt/MyFramework.MyOtherNamespace/MyOtherClass.xml95
-rw-r--r--mdoc/Test/en.expected-cppwinrt/MyNamespace/MyClass.xml57
-rw-r--r--mdoc/Test/en.expected-cppwinrt/index.xml72
-rw-r--r--mdoc/Test/en.expected-cppwinrt/ns-MyFramework.MyNamespace.xml6
-rw-r--r--mdoc/Test/en.expected-cppwinrt/ns-MyFramework.MyOtherNamespace.xml6
-rw-r--r--mdoc/Test/en.expected-cppwinrt/ns-MyNamespace.xml6
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/Extensions.xml141
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/Func`2.xml64
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml35
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml21
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml36
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1.xml151
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/IFoo`1.xml47
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/MyList`1+Helper`2.xml64
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/MyList`1.xml211
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/MyList`2.xml438
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Color.xml82
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/D.xml23
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/DocAttribute.xml103
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/DocValueType.xml59
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/IProcess.xml15
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/UseLists.xml171
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+Del.xml22
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+Direction.xml87
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+IMenuItem.xml49
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml33
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass+Double+Triple.xml33
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass+Double.xml33
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass.xml68
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass`1.xml72
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget.xml887
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/NoNamespace.xml33
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/System/Action`1.xml26
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/System/Array.xml110
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/System/AsyncCallback.xml22
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/System/Environment+SpecialFolder.xml16
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/System/Environment.xml70
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/index.xml222
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/ns-.xml6
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/ns-Mono.DocTest.Generic.xml6
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/ns-Mono.DocTest.xml6
-rw-r--r--mdoc/Test/en.expected-cppwinrt2/ns-System.xml6
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/Namespace2/Class2.xml35
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/Namespace2/Class3.xml71
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/Namespace2/Class4.xml40
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/Namespace222/App.xml226
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/Class1.xml146
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/Color1.xml55
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/CustomAttribute1.xml74
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/PrimeFoundHandler.xml30
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/PrimeFoundHandlerWithSpecificType.xml30
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/SomethingHappenedEventHandler.xml32
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/index.xml26
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/ns-Namespace2.xml6
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/ns-Namespace222.xml6
-rw-r--r--mdoc/Test/ex.expected-cppwinrtuwp/ns-UwpTestWinRtComponentCpp.xml6
117 files changed, 8936 insertions, 0 deletions
diff --git a/mdoc/Test/UwpTestWinRtComponentCpp.winmd b/mdoc/Test/UwpTestWinRtComponentCpp.winmd
new file mode 100644
index 00000000..5cbfe427
--- /dev/null
+++ b/mdoc/Test/UwpTestWinRtComponentCpp.winmd
Binary files differ
diff --git a/mdoc/Test/en.expected-cppcli/FrameworksIndex/One.xml b/mdoc/Test/en.expected-cppcli/FrameworksIndex/One.xml
new file mode 100644
index 00000000..a60754a0
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcli/FrameworksIndex/One.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Framework Name="One">
+ <Namespace Name="MyFramework.MyNamespace">
+ <Type Name="MyFramework.MyNamespace.MyClass" Id="T:MyFramework.MyNamespace.MyClass">
+ <Member Id="M:MyFramework.MyNamespace.MyClass.#ctor" />
+ <Member Id="M:MyFramework.MyNamespace.MyClass.Hello(System.Int32)" />
+ <Member Id="P:MyFramework.MyNamespace.MyClass.MyProperty" />
+ <Member Id="P:MyFramework.MyNamespace.MyClass.OnlyInClassic" />
+ </Type>
+ <Type Name="MyFramework.MyNamespace.MyClassExtensions" Id="T:MyFramework.MyNamespace.MyClassExtensions">
+ <Member Id="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" />
+ </Type>
+ </Namespace>
+ <Namespace Name="MyNamespace">
+ <Type Name="MyNamespace.MyClass" Id="T:MyNamespace.MyClass">
+ <Member Id="M:MyNamespace.MyClass.#ctor" />
+ <Member Id="M:MyNamespace.MyClass.SomeMethod``1" />
+ </Type>
+ </Namespace>
+</Framework> \ No newline at end of file
diff --git a/mdoc/Test/en.expected-cppcli/FrameworksIndex/Two.xml b/mdoc/Test/en.expected-cppcli/FrameworksIndex/Two.xml
new file mode 100644
index 00000000..b697626e
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcli/FrameworksIndex/Two.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Framework Name="Two">
+ <Namespace Name="MyFramework.MyOtherNamespace">
+ <Type Name="MyFramework.MyOtherNamespace.MyOtherClass" Id="T:MyFramework.MyOtherNamespace.MyOtherClass">
+ <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.#ctor" />
+ <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.Hello(System.Double)" />
+ <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.Hello(System.Int32)" />
+ <Member Id="P:MyFramework.MyOtherNamespace.MyOtherClass.MyProperty" />
+ </Type>
+ </Namespace>
+ <Namespace Name="MyNamespace">
+ <Type Name="MyNamespace.MyClass" Id="T:MyNamespace.MyClass">
+ <Member Id="M:MyNamespace.MyClass.#ctor" />
+ <Member Id="M:MyNamespace.MyClass.SomeMethod``1" />
+ </Type>
+ </Namespace>
+</Framework> \ No newline at end of file
diff --git a/mdoc/Test/en.expected-cppcli/MyFramework.MyNamespace/MyClass.xml b/mdoc/Test/en.expected-cppcli/MyFramework.MyNamespace/MyClass.xml
new file mode 100644
index 00000000..11a1997b
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcli/MyFramework.MyNamespace/MyClass.xml
@@ -0,0 +1,92 @@
+<Type Name="MyClass" FullName="MyFramework.MyNamespace.MyClass">
+ <TypeSignature Language="C#" Value="public class MyClass" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyClass extends System.Object" />
+ <TypeSignature Language="C++ CLI" Value="public ref class MyClass" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CLI" Value="public:&#xA; MyClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hello">
+ <MemberSignature Language="C#" Value="public float Hello (int value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(int32 value) cil managed" />
+ <MemberSignature Language="C++ CLI" Value="public:&#xA; float Hello(int value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Single</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MyProperty">
+ <MemberSignature Language="C#" Value="public string MyProperty { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" />
+ <MemberSignature Language="C++ CLI" Value="public:&#xA; property System::String ^ MyProperty { System::String ^ get(); void set(System::String ^ value); };" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnlyInClassic">
+ <MemberSignature Language="C#" Value="public double OnlyInClassic { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance float64 OnlyInClassic" />
+ <MemberSignature Language="C++ CLI" Value="public:&#xA; property double OnlyInClassic { double get(); void set(double value); };" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcli/MyFramework.MyNamespace/MyClassExtensions.xml b/mdoc/Test/en.expected-cppcli/MyFramework.MyNamespace/MyClassExtensions.xml
new file mode 100644
index 00000000..5cc4e950
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcli/MyFramework.MyNamespace/MyClassExtensions.xml
@@ -0,0 +1,41 @@
+<Type Name="MyClassExtensions" FullName="MyFramework.MyNamespace.MyClassExtensions">
+ <TypeSignature Language="C#" Value="public static class MyClassExtensions" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit MyClassExtensions extends System.Object" />
+ <TypeSignature Language="C++ CLI" Value="public ref class MyClassExtensions abstract sealed" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="AnExtension">
+ <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+ <MemberSignature Language="C++ CLI" Value="public:&#xA;[System::Runtime::CompilerServices::Extension]&#xA; static bool AnExtension(MyFramework::MyNamespace::MyClass ^ value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcli/MyFramework.MyOtherNamespace/MyOtherClass.xml b/mdoc/Test/en.expected-cppcli/MyFramework.MyOtherNamespace/MyOtherClass.xml
new file mode 100644
index 00000000..31718e42
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcli/MyFramework.MyOtherNamespace/MyOtherClass.xml
@@ -0,0 +1,96 @@
+<Type Name="MyOtherClass" FullName="MyFramework.MyOtherNamespace.MyOtherClass">
+ <TypeSignature Language="C#" Value="public class MyOtherClass" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyOtherClass extends System.Object" />
+ <TypeSignature Language="C++ CLI" Value="public ref class MyOtherClass" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyOtherClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CLI" Value="public:&#xA; MyOtherClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hello">
+ <MemberSignature Language="C#" Value="public float Hello (double value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(float64 value) cil managed" />
+ <MemberSignature Language="C++ CLI" Value="public:&#xA; float Hello(double value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Single</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Double" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hello">
+ <MemberSignature Language="C#" Value="public float Hello (int value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(int32 value) cil managed" />
+ <MemberSignature Language="C++ CLI" Value="public:&#xA; float Hello(int value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Single</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MyProperty">
+ <MemberSignature Language="C#" Value="public string MyProperty { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" />
+ <MemberSignature Language="C++ CLI" Value="public:&#xA; property System::String ^ MyProperty { System::String ^ get(); void set(System::String ^ value); };" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcli/MyNamespace/MyClass.xml b/mdoc/Test/en.expected-cppcli/MyNamespace/MyClass.xml
new file mode 100644
index 00000000..a9e44432
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcli/MyNamespace/MyClass.xml
@@ -0,0 +1,57 @@
+<Type Name="MyClass" FullName="MyNamespace.MyClass">
+ <TypeSignature Language="C#" Value="public class MyClass" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyClass extends System.Object" />
+ <TypeSignature Language="C++ CLI" Value="public ref class MyClass" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest-addNonGeneric</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CLI" Value="public:&#xA; MyClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-addNonGeneric</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SomeMethod&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public string SomeMethod&lt;T&gt; ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string SomeMethod&lt;T&gt;() cil managed" />
+ <MemberSignature Language="C++ CLI" Value="public:&#xA;generic &lt;typename T&gt;&#xA; System::String ^ SomeMethod();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-addNonGeneric</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters />
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcli/index.xml b/mdoc/Test/en.expected-cppcli/index.xml
new file mode 100644
index 00000000..e4a6fd3b
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcli/index.xml
@@ -0,0 +1,73 @@
+<Overview>
+ <Assemblies>
+ <Assembly Name="DocTest-DropNS-classic" Version="0.0.0.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ <Assembly Name="DocTest-DropNS-classic-secondary" Version="0.0.0.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ <Assembly Name="DocTest-addNonGeneric" Version="0.0.0.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ </Assemblies>
+ <Remarks>To be added.</Remarks>
+ <Copyright>To be added.</Copyright>
+ <Types>
+ <Namespace Name="MyFramework.MyNamespace">
+ <Type Name="MyClass" Kind="Class" />
+ <Type Name="MyClassExtensions" Kind="Class" />
+ </Namespace>
+ <Namespace Name="MyFramework.MyOtherNamespace">
+ <Type Name="MyOtherClass" Kind="Class" />
+ </Namespace>
+ <Namespace Name="MyNamespace">
+ <Type Name="MyClass" Kind="Class" />
+ </Namespace>
+ </Types>
+ <Title>Untitled</Title>
+ <ExtensionMethods>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:MyFramework.MyNamespace.MyClass" />
+ </Targets>
+ <Member MemberName="AnExtension">
+ <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+ <MemberSignature Language="C++ CLI" Value="public:&#xA;[System::Runtime::CompilerServices::Extension]&#xA; static bool AnExtension(MyFramework::MyNamespace::MyClass ^ value);" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="MyFramework.MyNamespace.MyClassExtensions" Member="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" />
+ </Member>
+ </ExtensionMethod>
+ </ExtensionMethods>
+</Overview>
diff --git a/mdoc/Test/en.expected-cppcli/ns-MyFramework.MyNamespace.xml b/mdoc/Test/en.expected-cppcli/ns-MyFramework.MyNamespace.xml
new file mode 100644
index 00000000..74df75af
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcli/ns-MyFramework.MyNamespace.xml
@@ -0,0 +1,6 @@
+<Namespace Name="MyFramework.MyNamespace">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppcli/ns-MyFramework.MyOtherNamespace.xml b/mdoc/Test/en.expected-cppcli/ns-MyFramework.MyOtherNamespace.xml
new file mode 100644
index 00000000..8bdef1c7
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcli/ns-MyFramework.MyOtherNamespace.xml
@@ -0,0 +1,6 @@
+<Namespace Name="MyFramework.MyOtherNamespace">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppcli/ns-MyNamespace.xml b/mdoc/Test/en.expected-cppcli/ns-MyNamespace.xml
new file mode 100644
index 00000000..bd8d4316
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcli/ns-MyNamespace.xml
@@ -0,0 +1,6 @@
+<Namespace Name="MyNamespace">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppcx/FrameworksIndex/One.xml b/mdoc/Test/en.expected-cppcx/FrameworksIndex/One.xml
new file mode 100644
index 00000000..a60754a0
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx/FrameworksIndex/One.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Framework Name="One">
+ <Namespace Name="MyFramework.MyNamespace">
+ <Type Name="MyFramework.MyNamespace.MyClass" Id="T:MyFramework.MyNamespace.MyClass">
+ <Member Id="M:MyFramework.MyNamespace.MyClass.#ctor" />
+ <Member Id="M:MyFramework.MyNamespace.MyClass.Hello(System.Int32)" />
+ <Member Id="P:MyFramework.MyNamespace.MyClass.MyProperty" />
+ <Member Id="P:MyFramework.MyNamespace.MyClass.OnlyInClassic" />
+ </Type>
+ <Type Name="MyFramework.MyNamespace.MyClassExtensions" Id="T:MyFramework.MyNamespace.MyClassExtensions">
+ <Member Id="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" />
+ </Type>
+ </Namespace>
+ <Namespace Name="MyNamespace">
+ <Type Name="MyNamespace.MyClass" Id="T:MyNamespace.MyClass">
+ <Member Id="M:MyNamespace.MyClass.#ctor" />
+ <Member Id="M:MyNamespace.MyClass.SomeMethod``1" />
+ </Type>
+ </Namespace>
+</Framework> \ No newline at end of file
diff --git a/mdoc/Test/en.expected-cppcx/FrameworksIndex/Two.xml b/mdoc/Test/en.expected-cppcx/FrameworksIndex/Two.xml
new file mode 100644
index 00000000..b697626e
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx/FrameworksIndex/Two.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Framework Name="Two">
+ <Namespace Name="MyFramework.MyOtherNamespace">
+ <Type Name="MyFramework.MyOtherNamespace.MyOtherClass" Id="T:MyFramework.MyOtherNamespace.MyOtherClass">
+ <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.#ctor" />
+ <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.Hello(System.Double)" />
+ <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.Hello(System.Int32)" />
+ <Member Id="P:MyFramework.MyOtherNamespace.MyOtherClass.MyProperty" />
+ </Type>
+ </Namespace>
+ <Namespace Name="MyNamespace">
+ <Type Name="MyNamespace.MyClass" Id="T:MyNamespace.MyClass">
+ <Member Id="M:MyNamespace.MyClass.#ctor" />
+ <Member Id="M:MyNamespace.MyClass.SomeMethod``1" />
+ </Type>
+ </Namespace>
+</Framework> \ No newline at end of file
diff --git a/mdoc/Test/en.expected-cppcx/MyFramework.MyNamespace/MyClass.xml b/mdoc/Test/en.expected-cppcx/MyFramework.MyNamespace/MyClass.xml
new file mode 100644
index 00000000..0e655765
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx/MyFramework.MyNamespace/MyClass.xml
@@ -0,0 +1,91 @@
+<Type Name="MyClass" FullName="MyFramework.MyNamespace.MyClass">
+ <TypeSignature Language="C#" Value="public class MyClass" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyClass extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; MyClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hello">
+ <MemberSignature Language="C#" Value="public float Hello (int value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(int32 value) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; float Hello(int value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Single</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MyProperty">
+ <MemberSignature Language="C#" Value="public string MyProperty { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; property Platform::String ^ MyProperty { Platform::String ^ get(); void set(Platform::String ^ value); };" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnlyInClassic">
+ <MemberSignature Language="C#" Value="public double OnlyInClassic { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance float64 OnlyInClassic" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; property double OnlyInClassic { double get(); void set(double value); };" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx/MyFramework.MyNamespace/MyClassExtensions.xml b/mdoc/Test/en.expected-cppcx/MyFramework.MyNamespace/MyClassExtensions.xml
new file mode 100644
index 00000000..522c5fb8
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx/MyFramework.MyNamespace/MyClassExtensions.xml
@@ -0,0 +1,40 @@
+<Type Name="MyClassExtensions" FullName="MyFramework.MyNamespace.MyClassExtensions">
+ <TypeSignature Language="C#" Value="public static class MyClassExtensions" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit MyClassExtensions extends System.Object" />
+ <TypeSignature Language="C++ CX" Value="public ref class MyClassExtensions abstract sealed" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="AnExtension">
+ <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx/MyFramework.MyOtherNamespace/MyOtherClass.xml b/mdoc/Test/en.expected-cppcx/MyFramework.MyOtherNamespace/MyOtherClass.xml
new file mode 100644
index 00000000..e0c0748e
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx/MyFramework.MyOtherNamespace/MyOtherClass.xml
@@ -0,0 +1,95 @@
+<Type Name="MyOtherClass" FullName="MyFramework.MyOtherNamespace.MyOtherClass">
+ <TypeSignature Language="C#" Value="public class MyOtherClass" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyOtherClass extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyOtherClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; MyOtherClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hello">
+ <MemberSignature Language="C#" Value="public float Hello (double value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(float64 value) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; float Hello(double value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Single</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Double" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hello">
+ <MemberSignature Language="C#" Value="public float Hello (int value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(int32 value) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; float Hello(int value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Single</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MyProperty">
+ <MemberSignature Language="C#" Value="public string MyProperty { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; property Platform::String ^ MyProperty { Platform::String ^ get(); void set(Platform::String ^ value); };" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx/MyNamespace/MyClass.xml b/mdoc/Test/en.expected-cppcx/MyNamespace/MyClass.xml
new file mode 100644
index 00000000..4c44fbbb
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx/MyNamespace/MyClass.xml
@@ -0,0 +1,56 @@
+<Type Name="MyClass" FullName="MyNamespace.MyClass">
+ <TypeSignature Language="C#" Value="public class MyClass" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyClass extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest-addNonGeneric</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; MyClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-addNonGeneric</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SomeMethod&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public string SomeMethod&lt;T&gt; ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string SomeMethod&lt;T&gt;() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA;generic &lt;typename T&gt;&#xA; Platform::String ^ SomeMethod();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-addNonGeneric</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters />
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx/index.xml b/mdoc/Test/en.expected-cppcx/index.xml
new file mode 100644
index 00000000..6abf1402
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx/index.xml
@@ -0,0 +1,72 @@
+<Overview>
+ <Assemblies>
+ <Assembly Name="DocTest-DropNS-classic" Version="0.0.0.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ <Assembly Name="DocTest-DropNS-classic-secondary" Version="0.0.0.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ <Assembly Name="DocTest-addNonGeneric" Version="0.0.0.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ </Assemblies>
+ <Remarks>To be added.</Remarks>
+ <Copyright>To be added.</Copyright>
+ <Types>
+ <Namespace Name="MyFramework.MyNamespace">
+ <Type Name="MyClass" Kind="Class" />
+ <Type Name="MyClassExtensions" Kind="Class" />
+ </Namespace>
+ <Namespace Name="MyFramework.MyOtherNamespace">
+ <Type Name="MyOtherClass" Kind="Class" />
+ </Namespace>
+ <Namespace Name="MyNamespace">
+ <Type Name="MyClass" Kind="Class" />
+ </Namespace>
+ </Types>
+ <Title>Untitled</Title>
+ <ExtensionMethods>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:MyFramework.MyNamespace.MyClass" />
+ </Targets>
+ <Member MemberName="AnExtension">
+ <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="MyFramework.MyNamespace.MyClassExtensions" Member="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" />
+ </Member>
+ </ExtensionMethod>
+ </ExtensionMethods>
+</Overview>
diff --git a/mdoc/Test/en.expected-cppcx/ns-MyFramework.MyNamespace.xml b/mdoc/Test/en.expected-cppcx/ns-MyFramework.MyNamespace.xml
new file mode 100644
index 00000000..74df75af
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx/ns-MyFramework.MyNamespace.xml
@@ -0,0 +1,6 @@
+<Namespace Name="MyFramework.MyNamespace">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppcx/ns-MyFramework.MyOtherNamespace.xml b/mdoc/Test/en.expected-cppcx/ns-MyFramework.MyOtherNamespace.xml
new file mode 100644
index 00000000..8bdef1c7
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx/ns-MyFramework.MyOtherNamespace.xml
@@ -0,0 +1,6 @@
+<Namespace Name="MyFramework.MyOtherNamespace">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppcx/ns-MyNamespace.xml b/mdoc/Test/en.expected-cppcx/ns-MyNamespace.xml
new file mode 100644
index 00000000..bd8d4316
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx/ns-MyNamespace.xml
@@ -0,0 +1,6 @@
+<Namespace Name="MyNamespace">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/Extensions.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/Extensions.xml
new file mode 100644
index 00000000..af278a08
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/Extensions.xml
@@ -0,0 +1,143 @@
+<Type Name="Extensions" FullName="Mono.DocTest.Generic.Extensions">
+ <TypeSignature Language="C#" Value="public static class Extensions" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit Extensions extends System.Object" />
+ <TypeSignature Language="C++ CX" Value="public ref class Extensions abstract sealed" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Bar&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static void Bar&lt;T&gt; (this Mono.DocTest.Generic.IFoo&lt;T&gt; self, string s);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Bar&lt;T&gt;(class Mono.DocTest.Generic.IFoo`1&lt;!!T&gt; self, string s) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA;generic &lt;typename T&gt;&#xA;[System::Runtime::CompilerServices::Extension]&#xA; static void Bar(Mono::DocTest::Generic::IFoo&lt;T&gt; ^ self, Platform::String ^ s);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="self" Type="Mono.DocTest.Generic.IFoo&lt;T&gt;" RefType="this" />
+ <Parameter Name="s" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="self">To be added.</param>
+ <param name="s">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ForEach&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static void ForEach&lt;T&gt; (this System.Collections.Generic.IEnumerable&lt;T&gt; self, Action&lt;T&gt; a);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void ForEach&lt;T&gt;(class System.Collections.Generic.IEnumerable`1&lt;!!T&gt; self, class System.Action`1&lt;!!T&gt; a) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="self" Type="System.Collections.Generic.IEnumerable&lt;T&gt;" RefType="this" />
+ <Parameter Name="a" Type="System.Action&lt;T&gt;" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="self">To be added.</param>
+ <param name="a">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToDouble">
+ <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable&lt;double&gt; ToDouble (this System.Collections.Generic.IEnumerable&lt;int&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1&lt;float64&gt; ToDouble(class System.Collections.Generic.IEnumerable`1&lt;int32&gt; list) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerable&lt;System.Double&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="list" Type="System.Collections.Generic.IEnumerable&lt;System.Int32&gt;" RefType="this" />
+ </Parameters>
+ <Docs>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToDouble&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static double ToDouble&lt;T&gt; (this T val) where T : Mono.DocTest.Generic.IFoo&lt;T&gt;;" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig float64 ToDouble&lt;(class Mono.DocTest.Generic.IFoo`1&lt;!!T&gt;) T&gt;(!!T val) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA;generic &lt;typename T&gt;&#xA; where T : Mono::DocTest::Generic::IFoo&lt;T&gt;[System::Runtime::CompilerServices::Extension]&#xA; static double ToDouble(T val);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T">
+ <Constraints>
+ <InterfaceName>Mono.DocTest.Generic.IFoo&lt;T&gt;</InterfaceName>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="val" Type="T" RefType="this" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="val">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToEnumerable&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable&lt;T&gt; ToEnumerable&lt;T&gt; (this T self);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1&lt;!!T&gt; ToEnumerable&lt;T&gt;(!!T self) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerable&lt;T&gt;</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="self" Type="T" RefType="this" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="self">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/Func`2.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/Func`2.xml
new file mode 100644
index 00000000..2d8dcf09
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/Func`2.xml
@@ -0,0 +1,64 @@
+<Type Name="Func&lt;TArg,TRet&gt;" FullName="Mono.DocTest.Generic.Func&lt;TArg,TRet&gt;">
+ <TypeSignature Language="C#" Value="public delegate TRet Func&lt;in TArg,out TRet&gt;(TArg a) where TArg : Exception;" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed Func`2&lt;(class System.Exception) - TArg, + TRet&gt; extends System.MulticastDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="TArg">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("arg!")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Constraints>
+ <ParameterAttribute>Contravariant</ParameterAttribute>
+ <BaseTypeName>System.Exception</BaseTypeName>
+ </Constraints>
+ </TypeParameter>
+ <TypeParameter Name="TRet">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("ret!")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Constraints>
+ <ParameterAttribute>Covariant</ParameterAttribute>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("method")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Parameters>
+ <Parameter Name="a" Type="TArg">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("arg-actual")</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Parameter>
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>TRet</ReturnType>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("return", Field=false)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </ReturnValue>
+ <Docs>
+ <typeparam name="TArg">To be added.</typeparam>
+ <typeparam name="TRet">To be added.</typeparam>
+ <param name="a">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml
new file mode 100644
index 00000000..60def22f
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml
@@ -0,0 +1,35 @@
+<Type Name="GenericBase&lt;U&gt;+FooEventArgs" FullName="Mono.DocTest.Generic.GenericBase&lt;U&gt;+FooEventArgs">
+ <TypeSignature Language="C#" Value="public class GenericBase&lt;U&gt;.FooEventArgs : EventArgs" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit GenericBase`1/FooEventArgs&lt;U&gt; extends System.EventArgs" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.EventArgs</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public FooEventArgs ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; FooEventArgs();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml
new file mode 100644
index 00000000..b7f25170
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml
@@ -0,0 +1,21 @@
+<Type Name="GenericBase&lt;U&gt;+NestedCollection+Enumerator" FullName="Mono.DocTest.Generic.GenericBase&lt;U&gt;+NestedCollection+Enumerator">
+ <TypeSignature Language="C#" Value="protected internal struct GenericBase&lt;U&gt;.NestedCollection.Enumerator" />
+ <TypeSignature Language="ILAsm" Value=".class nested protected sequential ansi sealed beforefieldinit GenericBase`1/NestedCollection/Enumerator&lt;U&gt; extends System.ValueType" />
+ <TypeSignature Language="C++ CX" Value="public protected value class GenericBase&lt;U&gt;::NestedCollection::Enumerator" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members />
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml
new file mode 100644
index 00000000..e29aff66
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml
@@ -0,0 +1,35 @@
+<Type Name="GenericBase&lt;U&gt;+NestedCollection" FullName="Mono.DocTest.Generic.GenericBase&lt;U&gt;+NestedCollection">
+ <TypeSignature Language="C#" Value="public class GenericBase&lt;U&gt;.NestedCollection" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit GenericBase`1/NestedCollection&lt;U&gt; extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public NestedCollection ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; NestedCollection();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1.xml
new file mode 100644
index 00000000..8023a01c
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/GenericBase`1.xml
@@ -0,0 +1,147 @@
+<Type Name="GenericBase&lt;U&gt;" FullName="Mono.DocTest.Generic.GenericBase&lt;U&gt;">
+ <TypeSignature Language="C#" Value="public class GenericBase&lt;U&gt;" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit GenericBase`1&lt;U&gt; extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public GenericBase ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; GenericBase();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="BaseMethod&lt;S&gt;">
+ <MemberSignature Language="C#" Value="public U BaseMethod&lt;S&gt; (S genericParameter);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance !U BaseMethod&lt;S&gt;(!!S genericParameter) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA;generic &lt;typename S&gt;&#xA; U BaseMethod(S genericParameter);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>U</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="S">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("S")</AttributeName>
+ </Attribute>
+ </Attributes>
+ </TypeParameter>
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="genericParameter" Type="S" />
+ </Parameters>
+ <Docs>
+ <typeparam name="S">To be added.</typeparam>
+ <param name="genericParameter">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ConstField1">
+ <MemberSignature Language="C#" Value="public const int ConstField1;" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal int32 ConstField1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ItemChanged">
+ <MemberSignature Language="C#" Value="public event Action&lt;Mono.DocTest.Generic.MyList&lt;U&gt;,Mono.DocTest.Generic.MyList&lt;U&gt;.Helper&lt;U,U&gt;&gt; ItemChanged;" />
+ <MemberSignature Language="ILAsm" Value=".event class System.Action`2&lt;class Mono.DocTest.Generic.MyList`1&lt;!U&gt;, class Mono.DocTest.Generic.MyList`1/Helper`2&lt;!U, !U, !U&gt;&gt; ItemChanged" />
+ <MemberType>Event</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Action&lt;Mono.DocTest.Generic.MyList&lt;U&gt;,Mono.DocTest.Generic.MyList&lt;U&gt;+Helper&lt;U,U&gt;&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MyEvent">
+ <MemberSignature Language="C#" Value="public event EventHandler&lt;Mono.DocTest.Generic.GenericBase&lt;U&gt;.FooEventArgs&gt; MyEvent;" />
+ <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1&lt;class Mono.DocTest.Generic.GenericBase`1/FooEventArgs&lt;!U&gt;&gt; MyEvent" />
+ <MemberType>Event</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.EventHandler&lt;Mono.DocTest.Generic.GenericBase&lt;U&gt;+FooEventArgs&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Explicit">
+ <MemberSignature Language="C#" Value="public static explicit operator U (Mono.DocTest.Generic.GenericBase&lt;U&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname !U op_Explicit(class Mono.DocTest.Generic.GenericBase`1&lt;!U&gt; list) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>U</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="list" Type="Mono.DocTest.Generic.GenericBase&lt;U&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="StaticField1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.DocTest.Generic.GenericBase&lt;U&gt; StaticField1;" />
+ <MemberSignature Language="ILAsm" Value=".field public static initonly class Mono.DocTest.Generic.GenericBase`1&lt;!U&gt; StaticField1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Generic.GenericBase&lt;U&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/IFoo`1.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/IFoo`1.xml
new file mode 100644
index 00000000..70c354b7
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/IFoo`1.xml
@@ -0,0 +1,47 @@
+<Type Name="IFoo&lt;T&gt;" FullName="Mono.DocTest.Generic.IFoo&lt;T&gt;">
+ <TypeSignature Language="C#" Value="public interface IFoo&lt;T&gt;" />
+ <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IFoo`1&lt;T&gt;" />
+ <TypeSignature Language="C++ CX" Value="public interface class IFoo" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Interfaces />
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Method&lt;U&gt;">
+ <MemberSignature Language="C#" Value="public T Method&lt;U&gt; (T t, U u);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance !T Method&lt;U&gt;(!T t, !!U u) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA;generic &lt;typename U&gt;&#xA; T Method(T t, U u);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>T</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="t" Type="T" />
+ <Parameter Name="u" Type="U" />
+ </Parameters>
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <param name="t">To be added.</param>
+ <param name="u">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/MyList`1+Helper`2.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/MyList`1+Helper`2.xml
new file mode 100644
index 00000000..d3f762b4
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/MyList`1+Helper`2.xml
@@ -0,0 +1,63 @@
+<Type Name="MyList&lt;T&gt;+Helper&lt;U,V&gt;" FullName="Mono.DocTest.Generic.MyList&lt;T&gt;+Helper&lt;U,V&gt;">
+ <TypeSignature Language="C#" Value="public class MyList&lt;T&gt;.Helper&lt;U,V&gt;" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit MyList`1/Helper`2&lt;T, U, V&gt; extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ <TypeParameter Name="U" />
+ <TypeParameter Name="V" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <typeparam name="V">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Helper ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; Helper();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UseT">
+ <MemberSignature Language="C#" Value="public void UseT (T a, U b, V c);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UseT(!T a, !U b, !V c) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; void UseT(T a, U b, V c);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="a" Type="T" />
+ <Parameter Name="b" Type="U" />
+ <Parameter Name="c" Type="V" />
+ </Parameters>
+ <Docs>
+ <param name="a">To be added.</param>
+ <param name="b">To be added.</param>
+ <param name="c">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/MyList`1.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/MyList`1.xml
new file mode 100644
index 00000000..520a0633
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/MyList`1.xml
@@ -0,0 +1,209 @@
+<Type Name="MyList&lt;T&gt;" FullName="Mono.DocTest.Generic.MyList&lt;T&gt;">
+ <TypeSignature Language="C#" Value="public class MyList&lt;T&gt; : Mono.DocTest.Generic.GenericBase&lt;T&gt;, System.Collections.Generic.IEnumerable&lt;int[]&gt;" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyList`1&lt;T&gt; extends Mono.DocTest.Generic.GenericBase`1&lt;!T&gt; implements class System.Collections.Generic.IEnumerable`1&lt;int32[]&gt;, class System.Collections.IEnumerable" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="T">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("Type Parameter!")</AttributeName>
+ </Attribute>
+ </Attributes>
+ </TypeParameter>
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>Mono.DocTest.Generic.GenericBase&lt;T&gt;</BaseTypeName>
+ <BaseTypeArguments>
+ <BaseTypeArgument TypeParamName="U">T</BaseTypeArgument>
+ </BaseTypeArguments>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>System.Collections.Generic.IEnumerable&lt;System.Int32[]&gt;</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyList ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; MyList();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.Generic.IEnumerator&lt;int[]&gt; GetEnumerator ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Collections.Generic.IEnumerator`1&lt;int32[]&gt; GetEnumerator() cil managed" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.Generic.IEnumerable`1.GetEnumerator</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerator&lt;System.Int32[]&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetHelper&lt;U,V&gt;">
+ <MemberSignature Language="C#" Value="public Mono.DocTest.Generic.MyList&lt;T&gt;.Helper&lt;U,V&gt; GetHelper&lt;U,V&gt; ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.DocTest.Generic.MyList`1/Helper`2&lt;!T, !!U, !!V&gt; GetHelper&lt;U, V&gt;() cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Generic.MyList&lt;T&gt;+Helper&lt;U,V&gt;</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ <TypeParameter Name="V" />
+ </TypeParameters>
+ <Parameters />
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <typeparam name="V">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Method&lt;U&gt;">
+ <MemberSignature Language="C#" Value="public void Method&lt;U&gt; (T t, U u);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Method&lt;U&gt;(!T t, !!U u) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA;generic &lt;typename U&gt;&#xA; void Method(T t, U u);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="t" Type="T" />
+ <Parameter Name="u" Type="U" />
+ </Parameters>
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <param name="t">To be added.</param>
+ <param name="u">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RefMethod&lt;U&gt;">
+ <MemberSignature Language="C#" Value="public void RefMethod&lt;U&gt; (ref T t, ref U u);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RefMethod&lt;U&gt;(!T&amp; t, !!U&amp; u) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA;generic &lt;typename U&gt;&#xA; void RefMethod(T &amp; t, U &amp; u);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="t" Type="T&amp;" RefType="ref" />
+ <Parameter Name="u" Type="U&amp;" RefType="ref" />
+ </Parameters>
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <param name="t">To be added.</param>
+ <param name="u">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IEnumerable.GetEnumerator">
+ <MemberSignature Language="C#" Value="System.Collections.IEnumerator IEnumerable.GetEnumerator ();" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance class System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() cil managed" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.IEnumerable.GetEnumerator</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Test">
+ <MemberSignature Language="C#" Value="public void Test (T t);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Test(!T t) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; void Test(T t);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="t" Type="T" />
+ </Parameters>
+ <Docs>
+ <param name="t">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UseHelper&lt;U,V&gt;">
+ <MemberSignature Language="C#" Value="public void UseHelper&lt;U,V&gt; (Mono.DocTest.Generic.MyList&lt;T&gt;.Helper&lt;U,V&gt; helper);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UseHelper&lt;U, V&gt;(class Mono.DocTest.Generic.MyList`1/Helper`2&lt;!T, !!U, !!V&gt; helper) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ <TypeParameter Name="V" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="helper" Type="Mono.DocTest.Generic.MyList&lt;T&gt;+Helper&lt;U,V&gt;" />
+ </Parameters>
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <typeparam name="V">To be added.</typeparam>
+ <param name="helper">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/MyList`2.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/MyList`2.xml
new file mode 100644
index 00000000..e4a887c7
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest.Generic/MyList`2.xml
@@ -0,0 +1,443 @@
+<Type Name="MyList&lt;A,B&gt;" FullName="Mono.DocTest.Generic.MyList&lt;A,B&gt;">
+ <TypeSignature Language="C#" Value="public class MyList&lt;A,B&gt; : Mono.DocTest.Generic.GenericBase&lt;System.Collections.Generic.Dictionary&lt;A,B&gt;&gt;, Mono.DocTest.Generic.IFoo&lt;A&gt;, System.Collections.Generic.ICollection&lt;A&gt;, System.Collections.Generic.IEnumerable&lt;A&gt;, System.Collections.Generic.IEnumerator&lt;A&gt; where A : class, IList&lt;B&gt;, new() where B : class, A" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyList`2&lt;class .ctor (class System.Collections.Generic.IList`1&lt;!B&gt;) A, class (!A) B&gt; extends Mono.DocTest.Generic.GenericBase`1&lt;class System.Collections.Generic.Dictionary`2&lt;!A, !B&gt;&gt; implements class Mono.DocTest.Generic.IFoo`1&lt;!A&gt;, class System.Collections.Generic.ICollection`1&lt;!A&gt;, class System.Collections.Generic.IEnumerable`1&lt;!A&gt;, class System.Collections.Generic.IEnumerator`1&lt;!A&gt;, class System.Collections.IEnumerable, class System.Collections.IEnumerator, class System.IDisposable" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="A">
+ <Constraints>
+ <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute>
+ <ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute>
+ <InterfaceName>System.Collections.Generic.IList&lt;B&gt;</InterfaceName>
+ </Constraints>
+ </TypeParameter>
+ <TypeParameter Name="B">
+ <Constraints>
+ <ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute>
+ <BaseTypeName>A</BaseTypeName>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>Mono.DocTest.Generic.GenericBase&lt;System.Collections.Generic.Dictionary&lt;A,B&gt;&gt;</BaseTypeName>
+ <BaseTypeArguments>
+ <BaseTypeArgument TypeParamName="U">System.Collections.Generic.Dictionary&lt;A,B&gt;</BaseTypeArgument>
+ </BaseTypeArguments>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.DocTest.Generic.IFoo&lt;A&gt;</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.Generic.ICollection&lt;A&gt;</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.Generic.IEnumerable&lt;A&gt;</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.Generic.IEnumerator&lt;A&gt;</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <typeparam name="A">To be added.</typeparam>
+ <typeparam name="B">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyList ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; MyList();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CopyTo">
+ <MemberSignature Language="C#" Value="public void CopyTo (A[] array, int arrayIndex);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void CopyTo(!A[] array, int32 arrayIndex) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; void CopyTo(Platform::Array &lt;A&gt; ^ array, int arrayIndex);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="array" Type="A[]" />
+ <Parameter Name="arrayIndex" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="array">To be added.</param>
+ <param name="arrayIndex">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Count">
+ <MemberSignature Language="C#" Value="public int Count { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int32 Count" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; property int Count { int get(); };" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:System.Collections.Generic.ICollection`1.Count</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Current">
+ <MemberSignature Language="C#" Value="public A Current { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance !A Current" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; property A Current { A get(); };" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:System.Collections.Generic.IEnumerator`1.Current</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>A</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Dispose">
+ <MemberSignature Language="C#" Value="public void Dispose ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Dispose() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; void Dispose();" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.IDisposable.Dispose</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Foo">
+ <MemberSignature Language="C#" Value="public System.Collections.Generic.KeyValuePair&lt;System.Collections.Generic.IEnumerable&lt;A&gt;,System.Collections.Generic.IEnumerable&lt;B&gt;&gt; Foo ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype System.Collections.Generic.KeyValuePair`2&lt;class System.Collections.Generic.IEnumerable`1&lt;!A&gt;, class System.Collections.Generic.IEnumerable`1&lt;!B&gt;&gt; Foo() cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.KeyValuePair&lt;System.Collections.Generic.IEnumerable&lt;A&gt;,System.Collections.Generic.IEnumerable&lt;B&gt;&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.Generic.List&lt;A&gt;.Enumerator GetEnumerator ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype System.Collections.Generic.List`1/Enumerator&lt;!A&gt; GetEnumerator() cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.List&lt;A&gt;+Enumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mono.DocTest.Generic.IFoo&lt;A&gt;.Method&lt;U&gt;">
+ <MemberSignature Language="C#" Value="A IFoo&lt;A&gt;.Method&lt;U&gt; (A a, U u);" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance !A Mono.DocTest.Generic.IFoo&lt;A&gt;.Method&lt;U&gt;(!A a, !!U u) cil managed" />
+ <MemberSignature Language="C++ CX" Value="generic &lt;typename U&gt;&#xA; virtual A Mono.DocTest.Generic.IFoo&lt;A&gt;.Method(A a, U u) = Mono::DocTest::Generic::IFoo&lt;A&gt;::Method;" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:Mono.DocTest.Generic.IFoo`1.Method``1(`0,``0)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>A</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="a" Type="A" />
+ <Parameter Name="u" Type="U" />
+ </Parameters>
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <param name="a">To be added.</param>
+ <param name="u">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MoveNext">
+ <MemberSignature Language="C#" Value="public bool MoveNext ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MoveNext() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; bool MoveNext();" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.IEnumerator.MoveNext</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Reset">
+ <MemberSignature Language="C#" Value="public void Reset ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Reset() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; void Reset();" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.IEnumerator.Reset</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.ICollection&lt;A&gt;.Add">
+ <MemberSignature Language="C#" Value="void ICollection&lt;A&gt;.Add (A item);" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Collections.Generic.ICollection&lt;A&gt;.Add(!A item) cil managed" />
+ <MemberSignature Language="C++ CX" Value=" virtual void System.Collections.Generic.ICollection&lt;A&gt;.Add(A item) = System::Collections::Generic::ICollection&lt;A&gt;::Add;" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.Generic.ICollection`1.Add(`0)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="item" Type="A" />
+ </Parameters>
+ <Docs>
+ <param name="item">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.ICollection&lt;A&gt;.Clear">
+ <MemberSignature Language="C#" Value="void ICollection&lt;A&gt;.Clear ();" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Collections.Generic.ICollection&lt;A&gt;.Clear() cil managed" />
+ <MemberSignature Language="C++ CX" Value=" virtual void System.Collections.Generic.ICollection&lt;A&gt;.Clear() = System::Collections::Generic::ICollection&lt;A&gt;::Clear;" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.Generic.ICollection`1.Clear</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.ICollection&lt;A&gt;.Contains">
+ <MemberSignature Language="C#" Value="bool ICollection&lt;A&gt;.Contains (A item);" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool System.Collections.Generic.ICollection&lt;A&gt;.Contains(!A item) cil managed" />
+ <MemberSignature Language="C++ CX" Value=" virtual bool System.Collections.Generic.ICollection&lt;A&gt;.Contains(A item) = System::Collections::Generic::ICollection&lt;A&gt;::Contains;" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.Generic.ICollection`1.Contains(`0)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="item" Type="A" />
+ </Parameters>
+ <Docs>
+ <param name="item">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.ICollection&lt;A&gt;.IsReadOnly">
+ <MemberSignature Language="C#" Value="bool System.Collections.Generic.ICollection&lt;A&gt;.IsReadOnly { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance bool System.Collections.Generic.ICollection&lt;A&gt;.IsReadOnly" />
+ <MemberSignature Language="C++ CX" Value="property bool System.Collections.Generic.ICollection&lt;A&gt;.IsReadOnly { bool get(); };" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:System.Collections.Generic.ICollection`1.IsReadOnly</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.ICollection&lt;A&gt;.Remove">
+ <MemberSignature Language="C#" Value="bool ICollection&lt;A&gt;.Remove (A item);" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool System.Collections.Generic.ICollection&lt;A&gt;.Remove(!A item) cil managed" />
+ <MemberSignature Language="C++ CX" Value=" virtual bool System.Collections.Generic.ICollection&lt;A&gt;.Remove(A item) = System::Collections::Generic::ICollection&lt;A&gt;::Remove;" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.Generic.ICollection`1.Remove(`0)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="item" Type="A" />
+ </Parameters>
+ <Docs>
+ <param name="item">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.IEnumerable&lt;A&gt;.GetEnumerator">
+ <MemberSignature Language="C#" Value="System.Collections.Generic.IEnumerator&lt;A&gt; IEnumerable&lt;A&gt;.GetEnumerator ();" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance class System.Collections.Generic.IEnumerator`1&lt;!A&gt; System.Collections.Generic.IEnumerable&lt;A&gt;.GetEnumerator() cil managed" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.Generic.IEnumerable`1.GetEnumerator</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerator&lt;A&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.IEnumerator&lt;A&gt;.Current">
+ <MemberSignature Language="C#" Value="A System.Collections.Generic.IEnumerator&lt;A&gt;.Current { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance !A System.Collections.Generic.IEnumerator&lt;A&gt;.Current" />
+ <MemberSignature Language="C++ CX" Value="property A System.Collections.Generic.IEnumerator&lt;A&gt;.Current { A get(); };" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:System.Collections.Generic.IEnumerator`1.Current</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>A</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IEnumerable.GetEnumerator">
+ <MemberSignature Language="C#" Value="System.Collections.IEnumerator IEnumerable.GetEnumerator ();" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance class System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() cil managed" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.IEnumerable.GetEnumerator</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IEnumerator.Current">
+ <MemberSignature Language="C#" Value="object System.Collections.IEnumerator.Current { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance object System.Collections.IEnumerator.Current" />
+ <MemberSignature Language="C++ CX" Value="property Platform::Object ^ System.Collections.IEnumerator.Current { Platform::Object ^ get(); };" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:System.Collections.IEnumerator.Current</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Color.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Color.xml
new file mode 100644
index 00000000..84afcc12
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Color.xml
@@ -0,0 +1,82 @@
+<Type Name="Color" FullName="Mono.DocTest.Color">
+ <TypeSignature Language="C#" Value="public enum Color" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed Color extends System.Enum" />
+ <TypeSignature Language="C++ CX" Value="public enum class Color" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="AnotherGreen">
+ <MemberSignature Language="C#" Value="AnotherGreen" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Color AnotherGreen = int32(2)" />
+ <MemberSignature Language="C++ CX" Value="AnotherGreen" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Color</ReturnType>
+ </ReturnValue>
+ <MemberValue>2</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Blue">
+ <MemberSignature Language="C#" Value="Blue" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Color Blue = int32(1)" />
+ <MemberSignature Language="C++ CX" Value="Blue" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Color</ReturnType>
+ </ReturnValue>
+ <MemberValue>1</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Green">
+ <MemberSignature Language="C#" Value="Green" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Color Green = int32(2)" />
+ <MemberSignature Language="C++ CX" Value="Green" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Color</ReturnType>
+ </ReturnValue>
+ <MemberValue>2</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Red">
+ <MemberSignature Language="C#" Value="Red" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Color Red = int32(0)" />
+ <MemberSignature Language="C++ CX" Value="Red" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Color</ReturnType>
+ </ReturnValue>
+ <MemberValue>0</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/D.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/D.xml
new file mode 100644
index 00000000..fffe57fa
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/D.xml
@@ -0,0 +1,23 @@
+<Type Name="D" FullName="Mono.DocTest.D">
+ <TypeSignature Language="C#" Value="public delegate dynamic D(Func&lt;string,dynamic,object&gt; value);" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed D extends System.MulticastDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Parameters>
+ <Parameter Name="value" Type="System.Func&lt;System.String,System.Object,System.Object&gt;" />
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/DocAttribute.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/DocAttribute.xml
new file mode 100644
index 00000000..094bb0c4
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/DocAttribute.xml
@@ -0,0 +1,105 @@
+<Type Name="DocAttribute" FullName="Mono.DocTest.DocAttribute">
+ <TypeSignature Language="C#" Value="public class DocAttribute : Attribute" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DocAttribute extends System.Attribute" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Attribute</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.AttributeUsage(System.AttributeTargets.All)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public DocAttribute (string docs);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string docs) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; DocAttribute(Platform::String ^ docs);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="docs" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="docs">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Field">
+ <MemberSignature Language="C#" Value="public bool Field;" />
+ <MemberSignature Language="ILAsm" Value=".field public bool Field" />
+ <MemberSignature Language="C++ CX" Value="public: bool Field;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FlagsEnum">
+ <MemberSignature Language="C#" Value="public ConsoleModifiers FlagsEnum;" />
+ <MemberSignature Language="ILAsm" Value=".field public valuetype System.ConsoleModifiers FlagsEnum" />
+ <MemberSignature Language="C++ CX" Value="public: ConsoleModifiers FlagsEnum;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.ConsoleModifiers</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NonFlagsEnum">
+ <MemberSignature Language="C#" Value="public Mono.DocTest.Color NonFlagsEnum;" />
+ <MemberSignature Language="ILAsm" Value=".field public valuetype Mono.DocTest.Color NonFlagsEnum" />
+ <MemberSignature Language="C++ CX" Value="public: Mono::DocTest::Color NonFlagsEnum;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Color</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Property">
+ <MemberSignature Language="C#" Value="public Type Property { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance class System.Type Property" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; property Platform::Type ^ Property { Platform::Type ^ get(); void set(Platform::Type ^ value); };" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Type</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/DocValueType.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/DocValueType.xml
new file mode 100644
index 00000000..96340188
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/DocValueType.xml
@@ -0,0 +1,59 @@
+<Type Name="DocValueType" FullName="Mono.DocTest.DocValueType">
+ <TypeSignature Language="C#" Value="public struct DocValueType : Mono.DocTest.IProcess" />
+ <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit DocValueType extends System.ValueType implements class Mono.DocTest.IProcess" />
+ <TypeSignature Language="C++ CX" Value="public value class DocValueType : Mono::DocTest::IProcess" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.DocTest.IProcess</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="M">
+ <MemberSignature Language="C#" Value="public void M (int i);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M(int32 i) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; void M(int i);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="total">
+ <MemberSignature Language="C#" Value="public int total;" />
+ <MemberSignature Language="ILAsm" Value=".field public int32 total" />
+ <MemberSignature Language="C++ CX" Value="public: int total;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/IProcess.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/IProcess.xml
new file mode 100644
index 00000000..7ea6ad43
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/IProcess.xml
@@ -0,0 +1,15 @@
+<Type Name="IProcess" FullName="Mono.DocTest.IProcess">
+ <TypeSignature Language="C#" Value="public interface IProcess" />
+ <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IProcess" />
+ <TypeSignature Language="C++ CX" Value="public interface class IProcess" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members />
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/UseLists.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/UseLists.xml
new file mode 100644
index 00000000..27b80284
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/UseLists.xml
@@ -0,0 +1,169 @@
+<Type Name="UseLists" FullName="Mono.DocTest.UseLists">
+ <TypeSignature Language="C#" Value="public class UseLists" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit UseLists extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public UseLists ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; UseLists();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetValues&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public Mono.DocTest.Generic.MyList&lt;T&gt; GetValues&lt;T&gt; (T value) where T : struct;" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.DocTest.Generic.MyList`1&lt;!!T&gt; GetValues&lt;struct .ctor (class System.ValueType) T&gt;(!!T value) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Generic.MyList&lt;T&gt;</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T">
+ <Constraints>
+ <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute>
+ <ParameterAttribute>NotNullableValueTypeConstraint</ParameterAttribute>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="value" Type="T" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Process">
+ <MemberSignature Language="C#" Value="public void Process (Mono.DocTest.Generic.MyList&lt;int&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Process(class Mono.DocTest.Generic.MyList`1&lt;int32&gt; list) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="list" Type="Mono.DocTest.Generic.MyList&lt;System.Int32&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Process">
+ <MemberSignature Language="C#" Value="public void Process (System.Collections.Generic.List&lt;int&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Process(class System.Collections.Generic.List`1&lt;int32&gt; list) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="list" Type="System.Collections.Generic.List&lt;System.Int32&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Process">
+ <MemberSignature Language="C#" Value="public void Process (System.Collections.Generic.List&lt;Predicate&lt;int&gt;&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Process(class System.Collections.Generic.List`1&lt;class System.Predicate`1&lt;int32&gt;&gt; list) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="list" Type="System.Collections.Generic.List&lt;System.Predicate&lt;System.Int32&gt;&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Process&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public void Process&lt;T&gt; (System.Collections.Generic.List&lt;Predicate&lt;T&gt;&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Process&lt;T&gt;(class System.Collections.Generic.List`1&lt;class System.Predicate`1&lt;!!T&gt;&gt; list) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="list" Type="System.Collections.Generic.List&lt;System.Predicate&lt;T&gt;&gt;" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UseHelper&lt;T,U,V&gt;">
+ <MemberSignature Language="C#" Value="public void UseHelper&lt;T,U,V&gt; (Mono.DocTest.Generic.MyList&lt;T&gt;.Helper&lt;U,V&gt; helper);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UseHelper&lt;T, U, V&gt;(class Mono.DocTest.Generic.MyList`1/Helper`2&lt;!!T, !!U, !!V&gt; helper) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ <TypeParameter Name="U" />
+ <TypeParameter Name="V" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="helper" Type="Mono.DocTest.Generic.MyList&lt;T&gt;+Helper&lt;U,V&gt;" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <typeparam name="U">To be added.</typeparam>
+ <typeparam name="V">To be added.</typeparam>
+ <param name="helper">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+Del.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+Del.xml
new file mode 100644
index 00000000..89e90baf
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+Del.xml
@@ -0,0 +1,23 @@
+<Type Name="Widget+Del" FullName="Mono.DocTest.Widget+Del">
+ <TypeSignature Language="C#" Value="public delegate void Widget.Del(int i);" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi sealed Widget/Del extends System.MulticastDelegate" />
+ <TypeSignature Language="C++ CX" Value="public: delegate void Widget::Del(int i);" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Parameters>
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+Direction.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+Direction.xml
new file mode 100644
index 00000000..0d001902
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+Direction.xml
@@ -0,0 +1,87 @@
+<Type Name="Widget+Direction" FullName="Mono.DocTest.Widget+Direction">
+ <TypeSignature Language="C#" Value="protected internal enum Widget.Direction" />
+ <TypeSignature Language="ILAsm" Value=".class nested protected auto ansi sealed Widget/Direction extends System.Enum" />
+ <TypeSignature Language="C++ CX" Value="public protected enum class Widget::Direction" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="East">
+ <MemberSignature Language="C#" Value="East" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Widget/Direction East = int32(2)" />
+ <MemberSignature Language="C++ CX" Value="East" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget+Direction</ReturnType>
+ </ReturnValue>
+ <MemberValue>2</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="North">
+ <MemberSignature Language="C#" Value="North" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Widget/Direction North = int32(0)" />
+ <MemberSignature Language="C++ CX" Value="North" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget+Direction</ReturnType>
+ </ReturnValue>
+ <MemberValue>0</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="South">
+ <MemberSignature Language="C#" Value="South" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Widget/Direction South = int32(1)" />
+ <MemberSignature Language="C++ CX" Value="South" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget+Direction</ReturnType>
+ </ReturnValue>
+ <MemberValue>1</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="West">
+ <MemberSignature Language="C#" Value="West" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Widget/Direction West = int32(3)" />
+ <MemberSignature Language="C++ CX" Value="West" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget+Direction</ReturnType>
+ </ReturnValue>
+ <MemberValue>3</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+IMenuItem.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+IMenuItem.xml
new file mode 100644
index 00000000..1d4952d8
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+IMenuItem.xml
@@ -0,0 +1,50 @@
+<Type Name="Widget+IMenuItem" FullName="Mono.DocTest.Widget+IMenuItem">
+ <TypeSignature Language="C#" Value="public interface Widget.IMenuItem" />
+ <TypeSignature Language="ILAsm" Value=".class nested public interface auto ansi abstract Widget/IMenuItem" />
+ <TypeSignature Language="C++ CX" Value="public: interface class Widget::IMenuItem" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="A">
+ <MemberSignature Language="C#" Value="public void A ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void A() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; void A();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="B">
+ <MemberSignature Language="C#" Value="public int B { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int32 B" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; property int B { int get(); void set(int value); };" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml
new file mode 100644
index 00000000..312c8d46
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml
@@ -0,0 +1,32 @@
+<Type Name="Widget+NestedClass+Double+Triple+Quadruple" FullName="Mono.DocTest.Widget+NestedClass+Double+Triple+Quadruple">
+ <TypeSignature Language="C#" Value="public class Widget.NestedClass.Double.Triple.Quadruple" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass/Double/Triple/Quadruple extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Quadruple ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; Quadruple();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass+Double+Triple.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass+Double+Triple.xml
new file mode 100644
index 00000000..1eeee106
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass+Double+Triple.xml
@@ -0,0 +1,32 @@
+<Type Name="Widget+NestedClass+Double+Triple" FullName="Mono.DocTest.Widget+NestedClass+Double+Triple">
+ <TypeSignature Language="C#" Value="public class Widget.NestedClass.Double.Triple" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass/Double/Triple extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Triple ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; Triple();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass+Double.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass+Double.xml
new file mode 100644
index 00000000..113c7779
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass+Double.xml
@@ -0,0 +1,32 @@
+<Type Name="Widget+NestedClass+Double" FullName="Mono.DocTest.Widget+NestedClass+Double">
+ <TypeSignature Language="C#" Value="public class Widget.NestedClass.Double" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass/Double extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Double ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; Double();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass.xml
new file mode 100644
index 00000000..53370a54
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass.xml
@@ -0,0 +1,67 @@
+<Type Name="Widget+NestedClass" FullName="Mono.DocTest.Widget+NestedClass">
+ <TypeSignature Language="C#" Value="public class Widget.NestedClass" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public NestedClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; NestedClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M">
+ <MemberSignature Language="C#" Value="public void M (int i);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M(int32 i) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; void M(int i);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="value">
+ <MemberSignature Language="C#" Value="public int value;" />
+ <MemberSignature Language="ILAsm" Value=".field public int32 value" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass`1.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass`1.xml
new file mode 100644
index 00000000..b1f393be
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget+NestedClass`1.xml
@@ -0,0 +1,71 @@
+<Type Name="Widget+NestedClass&lt;T&gt;" FullName="Mono.DocTest.Widget+NestedClass&lt;T&gt;">
+ <TypeSignature Language="C#" Value="public class Widget.NestedClass&lt;T&gt;" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass`1&lt;T&gt; extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public NestedClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; NestedClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M">
+ <MemberSignature Language="C#" Value="public void M (int i);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M(int32 i) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; void M(int i);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="value">
+ <MemberSignature Language="C#" Value="public int value;" />
+ <MemberSignature Language="ILAsm" Value=".field public int32 value" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget.xml b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget.xml
new file mode 100644
index 00000000..3e773ca9
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/Mono.DocTest/Widget.xml
@@ -0,0 +1,873 @@
+<Type Name="Widget" FullName="Mono.DocTest.Widget">
+ <TypeSignature Language="C#" Value="public class Widget : Mono.DocTest.IProcess" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Widget extends System.Object implements class Mono.DocTest.IProcess" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.DocTest.IProcess</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Widget ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; Widget();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Widget (Converter&lt;string,string&gt; c);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Converter`2&lt;string, string&gt; c) cil managed" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="c" Type="System.Converter&lt;System.String,System.String&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="c">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Widget (string s);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string s) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; Widget(Platform::String ^ s);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="s" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="s">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AnEvent">
+ <MemberSignature Language="C#" Value="public event Mono.DocTest.Widget.Del AnEvent;" />
+ <MemberSignature Language="ILAsm" Value=".event class Mono.DocTest.Widget/Del AnEvent" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; event Mono::DocTest::Widget::Del ^ AnEvent;" />
+ <MemberType>Event</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("Del event")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>add: Mono.DocTest.Doc("Del add accessor")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>remove: Mono.DocTest.Doc("Del remove accessor")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget+Del</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AnotherEvent">
+ <MemberSignature Language="C#" Value="protected event Mono.DocTest.Widget.Del AnotherEvent;" />
+ <MemberSignature Language="ILAsm" Value=".event class Mono.DocTest.Widget/Del AnotherEvent" />
+ <MemberSignature Language="C++ CX" Value="protected:&#xA; event Mono::DocTest::Widget::Del ^ AnotherEvent;" />
+ <MemberType>Event</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget+Del</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="array1">
+ <MemberSignature Language="C#" Value="public long[] array1;" />
+ <MemberSignature Language="ILAsm" Value=".field public int64[] array1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int64[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="array2">
+ <MemberSignature Language="C#" Value="public Mono.DocTest.Widget[,] array2;" />
+ <MemberSignature Language="ILAsm" Value=".field public class Mono.DocTest.Widget[,] array2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget[,]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="classCtorError">
+ <MemberSignature Language="C#" Value="public static readonly string[] classCtorError;" />
+ <MemberSignature Language="ILAsm" Value=".field public static initonly string[] classCtorError" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Default">
+ <MemberSignature Language="C#" Value="public void Default (int a = 1, int b = 2);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Default(int32 a, int32 b) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="a" Type="System.Int32" />
+ <Parameter Name="b" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="a">To be added.</param>
+ <param name="b">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Default">
+ <MemberSignature Language="C#" Value="public void Default (string a = &quot;a&quot;, char b = 'b');" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Default(string a, char b) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="a" Type="System.String" />
+ <Parameter Name="b" Type="System.Char" />
+ </Parameters>
+ <Docs>
+ <param name="a">To be added.</param>
+ <param name="b">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="defaultColor">
+ <MemberSignature Language="C#" Value="protected static Mono.DocTest.Color defaultColor;" />
+ <MemberSignature Language="ILAsm" Value=".field family static valuetype Mono.DocTest.Color defaultColor" />
+ <MemberSignature Language="C++ CX" Value="protected: static Mono::DocTest::Color defaultColor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Color</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Dynamic0">
+ <MemberSignature Language="C#" Value="public dynamic Dynamic0 (dynamic a, dynamic b);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance object Dynamic0(object a, object b) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; Platform::Object ^ Dynamic0(Platform::Object ^ a, Platform::Object ^ b);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="a" Type="System.Object" />
+ <Parameter Name="b" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="a">To be added.</param>
+ <param name="b">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Dynamic1">
+ <MemberSignature Language="C#" Value="public System.Collections.Generic.Dictionary&lt;dynamic,string&gt; Dynamic1 (System.Collections.Generic.Dictionary&lt;dynamic,string&gt; value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Collections.Generic.Dictionary`2&lt;object, string&gt; Dynamic1(class System.Collections.Generic.Dictionary`2&lt;object, string&gt; value) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.Dictionary&lt;System.Object,System.String&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Collections.Generic.Dictionary&lt;System.Object,System.String&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Dynamic2">
+ <MemberSignature Language="C#" Value="public Func&lt;string,dynamic&gt; Dynamic2 (Func&lt;string,dynamic&gt; value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Func`2&lt;string, object&gt; Dynamic2(class System.Func`2&lt;string, object&gt; value) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Func&lt;System.String,System.Object&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Func&lt;System.String,System.Object&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Dynamic3">
+ <MemberSignature Language="C#" Value="public Func&lt;Func&lt;string,dynamic&gt;,Func&lt;dynamic,string&gt;&gt; Dynamic3 (Func&lt;Func&lt;string,dynamic&gt;,Func&lt;dynamic,string&gt;&gt; value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Func`2&lt;class System.Func`2&lt;string, object&gt;, class System.Func`2&lt;object, string&gt;&gt; Dynamic3(class System.Func`2&lt;class System.Func`2&lt;string, object&gt;, class System.Func`2&lt;object, string&gt;&gt; value) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Func&lt;System.Func&lt;System.String,System.Object&gt;,System.Func&lt;System.Object,System.String&gt;&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Func&lt;System.Func&lt;System.String,System.Object&gt;,System.Func&lt;System.Object,System.String&gt;&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DynamicE1">
+ <MemberSignature Language="C#" Value="public event Func&lt;dynamic&gt; DynamicE1;" />
+ <MemberSignature Language="ILAsm" Value=".event class System.Func`1&lt;object&gt; DynamicE1" />
+ <MemberType>Event</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Obsolete("why not")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>System.Func&lt;System.Object&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DynamicE2">
+ <MemberSignature Language="C#" Value="public event Func&lt;dynamic&gt; DynamicE2;" />
+ <MemberSignature Language="ILAsm" Value=".event class System.Func`1&lt;object&gt; DynamicE2" />
+ <MemberType>Event</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Func&lt;System.Object&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DynamicF">
+ <MemberSignature Language="C#" Value="public Func&lt;Func&lt;string,dynamic,string&gt;,Func&lt;dynamic,Func&lt;dynamic&gt;,string&gt;&gt; DynamicF;" />
+ <MemberSignature Language="ILAsm" Value=".field public class System.Func`2&lt;class System.Func`3&lt;string, object, string&gt;, class System.Func`3&lt;object, class System.Func`1&lt;object&gt;, string&gt;&gt; DynamicF" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Func&lt;System.Func&lt;System.String,System.Object,System.String&gt;,System.Func&lt;System.Object,System.Func&lt;System.Object&gt;,System.String&gt;&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DynamicP">
+ <MemberSignature Language="C#" Value="public Func&lt;Func&lt;string,dynamic,string&gt;,Func&lt;dynamic,Func&lt;dynamic&gt;,string&gt;&gt; DynamicP { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance class System.Func`2&lt;class System.Func`3&lt;string, object, string&gt;, class System.Func`3&lt;object, class System.Func`1&lt;object&gt;, string&gt;&gt; DynamicP" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Func&lt;System.Func&lt;System.String,System.Object,System.String&gt;,System.Func&lt;System.Object,System.Func&lt;System.Object&gt;,System.String&gt;&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Height">
+ <MemberSignature Language="C#" Value="protected long Height { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int64 Height" />
+ <MemberSignature Language="C++ CX" Value="protected:&#xA; property long long Height { long long get(); };" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("Height property")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>System.Int64</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public int this[int i] { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int32 Item(int32)" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("Item property")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>set: Mono.DocTest.Doc("Item property set accessor")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public int this[string s, int i] { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int32 Item(string, int32)" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="s" Type="System.String" />
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="s">To be added.</param>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M0">
+ <MemberSignature Language="C#" Value="public static void M0 ();" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void M0() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; static void M0();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M1">
+ <MemberSignature Language="C#" Value="public void M1 (char c, out float f, ref Mono.DocTest.DocValueType v);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M1(char c, [out] float32&amp; f, valuetype Mono.DocTest.DocValueType&amp; v) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("normal DocAttribute", Field=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("return:DocAttribute", Property=typeof(Mono.DocTest.Widget))</AttributeName>
+ </Attribute>
+ </Attributes>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="c" Type="System.Char">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("c", FlagsEnum=System.ConsoleModifiers.Alt | System.ConsoleModifiers.Control)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Parameter>
+ <Parameter Name="f" Type="System.Single&amp;" RefType="out">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("f", NonFlagsEnum=Mono.DocTest.Color.Red)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Parameter>
+ <Parameter Name="v" Type="Mono.DocTest.DocValueType&amp;" RefType="ref">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("v")</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Parameter>
+ </Parameters>
+ <Docs>
+ <param name="c">To be added.</param>
+ <param name="f">To be added.</param>
+ <param name="v">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M2">
+ <MemberSignature Language="C#" Value="public void M2 (short[] x1, int[,] x2, long[][] x3);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M2(int16[] x1, int32[,] x2, int64[][] x3) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="x1" Type="System.Int16[]" />
+ <Parameter Name="x2" Type="System.Int32[,]" />
+ <Parameter Name="x3" Type="System.Int64[][]" />
+ </Parameters>
+ <Docs>
+ <param name="x1">To be added.</param>
+ <param name="x2">To be added.</param>
+ <param name="x3">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M3">
+ <MemberSignature Language="C#" Value="protected void M3 (long[][] x3, Mono.DocTest.Widget[,,][] x4);" />
+ <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void M3(int64[][] x3, class Mono.DocTest.Widget[,,][] x4) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="x3" Type="System.Int64[][]" />
+ <Parameter Name="x4" Type="Mono.DocTest.Widget[,,][]" />
+ </Parameters>
+ <Docs>
+ <param name="x3">To be added.</param>
+ <param name="x4">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M4">
+ <MemberSignature Language="C#" Value="protected void M4 (char* pc, Mono.DocTest.Color** ppf);" />
+ <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void M4(char* pc, valuetype Mono.DocTest.Color** ppf) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="pc" Type="System.Char*" />
+ <Parameter Name="ppf" Type="Mono.DocTest.Color**" />
+ </Parameters>
+ <Docs>
+ <param name="pc">To be added.</param>
+ <param name="ppf">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M5">
+ <MemberSignature Language="C#" Value="protected void M5 (void* pv, double*[,][] pd);" />
+ <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void M5(void* pv, float64*[,][] pd) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="pv" Type="System.Void*" />
+ <Parameter Name="pd" Type="System.Double*[,][]" />
+ </Parameters>
+ <Docs>
+ <param name="pv">To be added.</param>
+ <param name="pd">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M6">
+ <MemberSignature Language="C#" Value="protected void M6 (int i, params object[] args);" />
+ <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void M6(int32 i, object[] args) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="i" Type="System.Int32" />
+ <Parameter Name="args" Type="System.Object[]">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.ParamArray</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Parameter>
+ </Parameters>
+ <Docs>
+ <param name="i">To be added.</param>
+ <param name="args">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M7">
+ <MemberSignature Language="C#" Value="public void M7 (Mono.DocTest.Widget.NestedClass.Double.Triple.Quadruple a);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M7(class Mono.DocTest.Widget/NestedClass/Double/Triple/Quadruple a) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="a" Type="Mono.DocTest.Widget+NestedClass+Double+Triple+Quadruple" />
+ </Parameters>
+ <Docs>
+ <param name="a">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="message">
+ <MemberSignature Language="C#" Value="public string message;" />
+ <MemberSignature Language="ILAsm" Value=".field public string message" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="monthlyAverage">
+ <MemberSignature Language="C#" Value="protected internal readonly double monthlyAverage;" />
+ <MemberSignature Language="ILAsm" Value=".field familyorassembly initonly float64 monthlyAverage" />
+ <MemberSignature Language="C++ CX" Value="protected public: initonly double monthlyAverage;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Addition">
+ <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget operator + (Mono.DocTest.Widget x1, Mono.DocTest.Widget x2);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname class Mono.DocTest.Widget op_Addition(class Mono.DocTest.Widget x1, class Mono.DocTest.Widget x2) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="x1" Type="Mono.DocTest.Widget" />
+ <Parameter Name="x2" Type="Mono.DocTest.Widget" />
+ </Parameters>
+ <Docs>
+ <param name="x1">To be added.</param>
+ <param name="x2">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Division">
+ <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget op_Division;" />
+ <MemberSignature Language="ILAsm" Value=".field public static class Mono.DocTest.Widget op_Division" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Explicit">
+ <MemberSignature Language="C#" Value="public static explicit operator int (Mono.DocTest.Widget x);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname int32 op_Explicit(class Mono.DocTest.Widget x) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="x" Type="Mono.DocTest.Widget" />
+ </Parameters>
+ <Docs>
+ <param name="x">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Implicit">
+ <MemberSignature Language="C#" Value="public static implicit operator long (Mono.DocTest.Widget x);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname int64 op_Implicit(class Mono.DocTest.Widget x) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int64</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="x" Type="Mono.DocTest.Widget" />
+ </Parameters>
+ <Docs>
+ <param name="x">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_UnaryPlus">
+ <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget operator + (Mono.DocTest.Widget x);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname class Mono.DocTest.Widget op_UnaryPlus(class Mono.DocTest.Widget x) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="x" Type="Mono.DocTest.Widget" />
+ </Parameters>
+ <Docs>
+ <param name="x">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="pCount">
+ <MemberSignature Language="C#" Value="public int* pCount;" />
+ <MemberSignature Language="ILAsm" Value=".field public int32* pCount" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32*</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PI">
+ <MemberSignature Language="C#" Value="protected internal const double PI = 3.14159;" />
+ <MemberSignature Language="ILAsm" Value=".field familyorassembly static literal float64 PI = (3.14159)" />
+ <MemberSignature Language="C++ CX" Value="protected public: double PI = 3.14159;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <MemberValue>3.14159</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ppValues">
+ <MemberSignature Language="C#" Value="public float** ppValues;" />
+ <MemberSignature Language="ILAsm" Value=".field public float32** ppValues" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Single**</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Width">
+ <MemberSignature Language="C#" Value="public int Width { get; protected set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int32 Width" />
+ <MemberSignature Language="C++ CX" Value="public: property int Width { public:&#xA;int get(); protected:&#xA; void set(int value); };" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("Width property")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>get: Mono.DocTest.Doc("Width get accessor")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>set: Mono.DocTest.Doc("Width set accessor")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="X">
+ <MemberSignature Language="C#" Value="protected internal short X { set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int16 X" />
+ <MemberSignature Language="C++ CX" Value="protected public:&#xA; property short X { void set(short value); };" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Y">
+ <MemberSignature Language="C#" Value="protected internal double Y { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance float64 Y" />
+ <MemberSignature Language="C++ CX" Value="protected public:&#xA; property double Y { double get(); void set(double value); };" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/NoNamespace.xml b/mdoc/Test/en.expected-cppcx2/NoNamespace.xml
new file mode 100644
index 00000000..3e27ccd0
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/NoNamespace.xml
@@ -0,0 +1,32 @@
+<Type Name="NoNamespace" FullName="NoNamespace">
+ <TypeSignature Language="C#" Value="public class NoNamespace" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit NoNamespace extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public NoNamespace ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; NoNamespace();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/System/Action`1.xml b/mdoc/Test/en.expected-cppcx2/System/Action`1.xml
new file mode 100644
index 00000000..7560590f
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/System/Action`1.xml
@@ -0,0 +1,26 @@
+<Type Name="Action&lt;T&gt;" FullName="System.Action&lt;T&gt;">
+ <TypeSignature Language="C#" Value="public delegate void Action&lt;T&gt;(T obj);" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed Action`1&lt;T&gt; extends System.MulticastDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Parameters>
+ <Parameter Name="obj" Type="T" />
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="obj">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/System/Array.xml b/mdoc/Test/en.expected-cppcx2/System/Array.xml
new file mode 100644
index 00000000..84358acc
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/System/Array.xml
@@ -0,0 +1,110 @@
+<Type Name="Array" FullName="System.Array">
+ <TypeSignature Language="C#" Value="public class Array" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Array extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Array ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA; Array();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AsReadOnly&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt; AsReadOnly&lt;T&gt; (T[] array);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.ObjectModel.ReadOnlyCollection`1&lt;!!T&gt; AsReadOnly&lt;T&gt;(!!T[] array) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt;</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="array" Type="T[]" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="array">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ConvertAll&lt;TInput,TOutput&gt;">
+ <MemberSignature Language="C#" Value="public static TOutput[] ConvertAll&lt;TInput,TOutput&gt; (TInput[] array, Converter&lt;TInput,TOutput&gt; converter);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig !!TOutput[] ConvertAll&lt;TInput, TOutput&gt;(!!TInput[] array, class System.Converter`2&lt;!!TInput, !!TOutput&gt; converter) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>TOutput[]</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="TInput" />
+ <TypeParameter Name="TOutput" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="array" Type="TInput[]" />
+ <Parameter Name="converter" Type="System.Converter&lt;TInput,TOutput&gt;" />
+ </Parameters>
+ <Docs>
+ <typeparam name="TInput">To be added.</typeparam>
+ <typeparam name="TOutput">To be added.</typeparam>
+ <param name="array">To be added.</param>
+ <param name="converter">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resize&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static void Resize&lt;T&gt; (ref T[] array, int newSize);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Resize&lt;T&gt;(!!T[]&amp; array, int32 newSize) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA;generic &lt;typename T&gt;&#xA; static void Resize(Platform::Array &lt;T&gt; ^ &amp; array, int newSize);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="array" Type="T[]&amp;" RefType="ref" />
+ <Parameter Name="newSize" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="array">To be added.</param>
+ <param name="newSize">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/System/AsyncCallback.xml b/mdoc/Test/en.expected-cppcx2/System/AsyncCallback.xml
new file mode 100644
index 00000000..deb06e91
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/System/AsyncCallback.xml
@@ -0,0 +1,22 @@
+<Type Name="AsyncCallback" FullName="System.AsyncCallback">
+ <TypeSignature Language="C#" Value="public delegate void AsyncCallback(IAsyncResult ar);" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed AsyncCallback extends System.MulticastDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Parameters>
+ <Parameter Name="ar" Type="System.IAsyncResult" />
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <param name="ar">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/System/Environment+SpecialFolder.xml b/mdoc/Test/en.expected-cppcx2/System/Environment+SpecialFolder.xml
new file mode 100644
index 00000000..6e6a9408
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/System/Environment+SpecialFolder.xml
@@ -0,0 +1,16 @@
+<Type Name="Environment+SpecialFolder" FullName="System.Environment+SpecialFolder">
+ <TypeSignature Language="C#" Value="public enum Environment.SpecialFolder" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi sealed Environment/SpecialFolder extends System.Enum" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members />
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/System/Environment.xml b/mdoc/Test/en.expected-cppcx2/System/Environment.xml
new file mode 100644
index 00000000..ba2dfd0f
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/System/Environment.xml
@@ -0,0 +1,71 @@
+<Type Name="Environment" FullName="System.Environment">
+ <TypeSignature Language="C#" Value="public static class Environment" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit Environment extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="GetFolderPath">
+ <MemberSignature Language="C#" Value="public static string GetFolderPath (Environment.SpecialFolder folder);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig string GetFolderPath(valuetype System.Environment/SpecialFolder folder) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="folder" Type="System.Environment+SpecialFolder" />
+ </Parameters>
+ <Docs>
+ <param name="folder">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsAligned&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static bool IsAligned&lt;T&gt; (this T[] vect, int index) where T : struct;" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsAligned&lt;struct .ctor (class System.ValueType) T&gt;(!!T[] vect, int32 index) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA;generic &lt;typename T&gt;&#xA; where T : value class[System::Runtime::CompilerServices::Extension]&#xA; static bool IsAligned(Platform::Array &lt;T&gt; ^ vect, int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T">
+ <Constraints>
+ <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute>
+ <ParameterAttribute>NotNullableValueTypeConstraint</ParameterAttribute>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="vect" Type="T[]" RefType="this" />
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="vect">To be added.</param>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppcx2/index.xml b/mdoc/Test/en.expected-cppcx2/index.xml
new file mode 100644
index 00000000..ccb98255
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/index.xml
@@ -0,0 +1,225 @@
+<Overview>
+ <Assemblies>
+ <Assembly Name="DocTest" Version="0.0.0.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ </Assemblies>
+ <Remarks>To be added.</Remarks>
+ <Copyright>To be added.</Copyright>
+ <Types>
+ <Namespace Name="">
+ <Type Name="NoNamespace" Kind="Class" />
+ </Namespace>
+ <Namespace Name="Mono.DocTest">
+ <Type Name="Color" Kind="Enumeration" />
+ <Type Name="D" Kind="Delegate" />
+ <Type Name="DocAttribute" Kind="Class" />
+ <Type Name="DocValueType" Kind="Structure" />
+ <Type Name="IProcess" Kind="Interface" />
+ <Type Name="UseLists" Kind="Class" />
+ <Type Name="Widget" Kind="Class" />
+ <Type Name="Widget+Del" Kind="Delegate" />
+ <Type Name="Widget+Direction" Kind="Enumeration" />
+ <Type Name="Widget+IMenuItem" Kind="Interface" />
+ <Type Name="Widget+NestedClass" Kind="Class" />
+ <Type Name="Widget+NestedClass`1" DisplayName="Widget+NestedClass&lt;T&gt;" Kind="Class" />
+ <Type Name="Widget+NestedClass+Double" Kind="Class" />
+ <Type Name="Widget+NestedClass+Double+Triple" Kind="Class" />
+ <Type Name="Widget+NestedClass+Double+Triple+Quadruple" Kind="Class" />
+ </Namespace>
+ <Namespace Name="Mono.DocTest.Generic">
+ <Type Name="Extensions" Kind="Class" />
+ <Type Name="Func`2" DisplayName="Func&lt;TArg,TRet&gt;" Kind="Delegate" />
+ <Type Name="GenericBase`1" DisplayName="GenericBase&lt;U&gt;" Kind="Class" />
+ <Type Name="GenericBase`1+FooEventArgs" DisplayName="GenericBase&lt;U&gt;+FooEventArgs" Kind="Class" />
+ <Type Name="GenericBase`1+NestedCollection" DisplayName="GenericBase&lt;U&gt;+NestedCollection" Kind="Class" />
+ <Type Name="GenericBase`1+NestedCollection+Enumerator" DisplayName="GenericBase&lt;U&gt;+NestedCollection+Enumerator" Kind="Structure" />
+ <Type Name="IFoo`1" DisplayName="IFoo&lt;T&gt;" Kind="Interface" />
+ <Type Name="MyList`1" DisplayName="MyList&lt;T&gt;" Kind="Class" />
+ <Type Name="MyList`1+Helper`2" DisplayName="MyList&lt;T&gt;+Helper&lt;U,V&gt;" Kind="Class" />
+ <Type Name="MyList`2" DisplayName="MyList&lt;A,B&gt;" Kind="Class" />
+ </Namespace>
+ <Namespace Name="System">
+ <Type Name="Action`1" DisplayName="Action&lt;T&gt;" Kind="Delegate" />
+ <Type Name="Array" Kind="Class" />
+ <Type Name="AsyncCallback" Kind="Delegate" />
+ <Type Name="Environment" Kind="Class" />
+ <Type Name="Environment+SpecialFolder" Kind="Enumeration" />
+ </Namespace>
+ </Types>
+ <Title>DocTest</Title>
+ <ExtensionMethods>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:Mono.DocTest.Generic.IFoo`1" />
+ </Targets>
+ <Member MemberName="Bar&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static void Bar&lt;T&gt; (this Mono.DocTest.Generic.IFoo&lt;T&gt; self, string s);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Bar&lt;T&gt;(class Mono.DocTest.Generic.IFoo`1&lt;!!T&gt; self, string s) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA;generic &lt;typename T&gt;&#xA;[System::Runtime::CompilerServices::Extension]&#xA; static void Bar(Mono::DocTest::Generic::IFoo&lt;T&gt; ^ self, Platform::String ^ s);" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="self" Type="Mono.DocTest.Generic.IFoo&lt;T&gt;" RefType="this" />
+ <Parameter Name="s" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="self">To be added.</param>
+ <param name="s">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.Bar``1(Mono.DocTest.Generic.IFoo{``0},System.String)" />
+ </Member>
+ </ExtensionMethod>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:System.Collections.Generic.IEnumerable`1" />
+ </Targets>
+ <Member MemberName="ForEach&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static void ForEach&lt;T&gt; (this System.Collections.Generic.IEnumerable&lt;T&gt; self, Action&lt;T&gt; a);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void ForEach&lt;T&gt;(class System.Collections.Generic.IEnumerable`1&lt;!!T&gt; self, class System.Action`1&lt;!!T&gt; a) cil managed" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="self" Type="System.Collections.Generic.IEnumerable&lt;T&gt;" RefType="this" />
+ <Parameter Name="a" Type="System.Action&lt;T&gt;" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="self">To be added.</param>
+ <param name="a">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})" />
+ </Member>
+ </ExtensionMethod>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:System.Collections.Generic.IEnumerable`1" />
+ </Targets>
+ <Member MemberName="ToDouble">
+ <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable&lt;double&gt; ToDouble (this System.Collections.Generic.IEnumerable&lt;int&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1&lt;float64&gt; ToDouble(class System.Collections.Generic.IEnumerable`1&lt;int32&gt; list) cil managed" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerable&lt;System.Double&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="list" Type="System.Collections.Generic.IEnumerable&lt;System.Int32&gt;" RefType="this" />
+ </Parameters>
+ <Docs>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ToDouble(System.Collections.Generic.IEnumerable{System.Int32})" />
+ </Member>
+ </ExtensionMethod>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:Mono.DocTest.Generic.IFoo`1" />
+ </Targets>
+ <Member MemberName="ToDouble&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static double ToDouble&lt;T&gt; (this T val) where T : Mono.DocTest.Generic.IFoo&lt;T&gt;;" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig float64 ToDouble&lt;(class Mono.DocTest.Generic.IFoo`1&lt;!!T&gt;) T&gt;(!!T val) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA;generic &lt;typename T&gt;&#xA; where T : Mono::DocTest::Generic::IFoo&lt;T&gt;[System::Runtime::CompilerServices::Extension]&#xA; static double ToDouble(T val);" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T">
+ <Constraints>
+ <InterfaceName>Mono.DocTest.Generic.IFoo&lt;T&gt;</InterfaceName>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="val" Type="T" RefType="this" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="val">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ToDouble``1(``0)" />
+ </Member>
+ </ExtensionMethod>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="System.Object" />
+ </Targets>
+ <Member MemberName="ToEnumerable&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable&lt;T&gt; ToEnumerable&lt;T&gt; (this T self);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1&lt;!!T&gt; ToEnumerable&lt;T&gt;(!!T self) cil managed" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerable&lt;T&gt;</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="self" Type="T" RefType="this" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="self">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ToEnumerable``1(``0)" />
+ </Member>
+ </ExtensionMethod>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:System.Array" />
+ </Targets>
+ <Member MemberName="IsAligned&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static bool IsAligned&lt;T&gt; (this T[] vect, int index) where T : struct;" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsAligned&lt;struct .ctor (class System.ValueType) T&gt;(!!T[] vect, int32 index) cil managed" />
+ <MemberSignature Language="C++ CX" Value="public:&#xA;generic &lt;typename T&gt;&#xA; where T : value class[System::Runtime::CompilerServices::Extension]&#xA; static bool IsAligned(Platform::Array &lt;T&gt; ^ vect, int index);" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T">
+ <Constraints>
+ <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute>
+ <ParameterAttribute>NotNullableValueTypeConstraint</ParameterAttribute>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="vect" Type="T[]" RefType="this" />
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="vect">To be added.</param>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="System.Environment" Member="M:System.Environment.IsAligned``1(``0[],System.Int32)" />
+ </Member>
+ </ExtensionMethod>
+ </ExtensionMethods>
+</Overview>
diff --git a/mdoc/Test/en.expected-cppcx2/ns-.xml b/mdoc/Test/en.expected-cppcx2/ns-.xml
new file mode 100644
index 00000000..36dfeb30
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/ns-.xml
@@ -0,0 +1,6 @@
+<Namespace Name="">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppcx2/ns-Mono.DocTest.Generic.xml b/mdoc/Test/en.expected-cppcx2/ns-Mono.DocTest.Generic.xml
new file mode 100644
index 00000000..0d3e7924
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/ns-Mono.DocTest.Generic.xml
@@ -0,0 +1,6 @@
+<Namespace Name="Mono.DocTest.Generic">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppcx2/ns-Mono.DocTest.xml b/mdoc/Test/en.expected-cppcx2/ns-Mono.DocTest.xml
new file mode 100644
index 00000000..96ab3e78
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/ns-Mono.DocTest.xml
@@ -0,0 +1,6 @@
+<Namespace Name="Mono.DocTest">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppcx2/ns-System.xml b/mdoc/Test/en.expected-cppcx2/ns-System.xml
new file mode 100644
index 00000000..c9692742
--- /dev/null
+++ b/mdoc/Test/en.expected-cppcx2/ns-System.xml
@@ -0,0 +1,6 @@
+<Namespace Name="System">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppwinrt/FrameworksIndex/One.xml b/mdoc/Test/en.expected-cppwinrt/FrameworksIndex/One.xml
new file mode 100644
index 00000000..a60754a0
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt/FrameworksIndex/One.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Framework Name="One">
+ <Namespace Name="MyFramework.MyNamespace">
+ <Type Name="MyFramework.MyNamespace.MyClass" Id="T:MyFramework.MyNamespace.MyClass">
+ <Member Id="M:MyFramework.MyNamespace.MyClass.#ctor" />
+ <Member Id="M:MyFramework.MyNamespace.MyClass.Hello(System.Int32)" />
+ <Member Id="P:MyFramework.MyNamespace.MyClass.MyProperty" />
+ <Member Id="P:MyFramework.MyNamespace.MyClass.OnlyInClassic" />
+ </Type>
+ <Type Name="MyFramework.MyNamespace.MyClassExtensions" Id="T:MyFramework.MyNamespace.MyClassExtensions">
+ <Member Id="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" />
+ </Type>
+ </Namespace>
+ <Namespace Name="MyNamespace">
+ <Type Name="MyNamespace.MyClass" Id="T:MyNamespace.MyClass">
+ <Member Id="M:MyNamespace.MyClass.#ctor" />
+ <Member Id="M:MyNamespace.MyClass.SomeMethod``1" />
+ </Type>
+ </Namespace>
+</Framework> \ No newline at end of file
diff --git a/mdoc/Test/en.expected-cppwinrt/FrameworksIndex/Two.xml b/mdoc/Test/en.expected-cppwinrt/FrameworksIndex/Two.xml
new file mode 100644
index 00000000..b697626e
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt/FrameworksIndex/Two.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Framework Name="Two">
+ <Namespace Name="MyFramework.MyOtherNamespace">
+ <Type Name="MyFramework.MyOtherNamespace.MyOtherClass" Id="T:MyFramework.MyOtherNamespace.MyOtherClass">
+ <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.#ctor" />
+ <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.Hello(System.Double)" />
+ <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.Hello(System.Int32)" />
+ <Member Id="P:MyFramework.MyOtherNamespace.MyOtherClass.MyProperty" />
+ </Type>
+ </Namespace>
+ <Namespace Name="MyNamespace">
+ <Type Name="MyNamespace.MyClass" Id="T:MyNamespace.MyClass">
+ <Member Id="M:MyNamespace.MyClass.#ctor" />
+ <Member Id="M:MyNamespace.MyClass.SomeMethod``1" />
+ </Type>
+ </Namespace>
+</Framework> \ No newline at end of file
diff --git a/mdoc/Test/en.expected-cppwinrt/MyFramework.MyNamespace/MyClass.xml b/mdoc/Test/en.expected-cppwinrt/MyFramework.MyNamespace/MyClass.xml
new file mode 100644
index 00000000..54558ac8
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt/MyFramework.MyNamespace/MyClass.xml
@@ -0,0 +1,90 @@
+<Type Name="MyClass" FullName="MyFramework.MyNamespace.MyClass">
+ <TypeSignature Language="C#" Value="public class MyClass" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyClass extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="[Windows::Foundation::Metadata::WebHostHidden]&#xA;class MyClass" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" MyClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hello">
+ <MemberSignature Language="C#" Value="public float Hello (int value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(int32 value) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="float Hello(int value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Single</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MyProperty">
+ <MemberSignature Language="C#" Value="public string MyProperty { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnlyInClassic">
+ <MemberSignature Language="C#" Value="public double OnlyInClassic { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance float64 OnlyInClassic" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt/MyFramework.MyNamespace/MyClassExtensions.xml b/mdoc/Test/en.expected-cppwinrt/MyFramework.MyNamespace/MyClassExtensions.xml
new file mode 100644
index 00000000..afdd810f
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt/MyFramework.MyNamespace/MyClassExtensions.xml
@@ -0,0 +1,40 @@
+<Type Name="MyClassExtensions" FullName="MyFramework.MyNamespace.MyClassExtensions">
+ <TypeSignature Language="C#" Value="public static class MyClassExtensions" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit MyClassExtensions extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="class MyClassExtensions abstract sealed" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="AnExtension">
+ <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt/MyFramework.MyOtherNamespace/MyOtherClass.xml b/mdoc/Test/en.expected-cppwinrt/MyFramework.MyOtherNamespace/MyOtherClass.xml
new file mode 100644
index 00000000..ff58941a
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt/MyFramework.MyOtherNamespace/MyOtherClass.xml
@@ -0,0 +1,95 @@
+<Type Name="MyOtherClass" FullName="MyFramework.MyOtherNamespace.MyOtherClass">
+ <TypeSignature Language="C#" Value="public class MyOtherClass" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyOtherClass extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="[Windows::Foundation::Metadata::WebHostHidden]&#xA;class MyOtherClass" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyOtherClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" MyOtherClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hello">
+ <MemberSignature Language="C#" Value="public float Hello (double value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(float64 value) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="float Hello(double value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Single</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Double" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hello">
+ <MemberSignature Language="C#" Value="public float Hello (int value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(int32 value) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="float Hello(int value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Single</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MyProperty">
+ <MemberSignature Language="C#" Value="public string MyProperty { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt/MyNamespace/MyClass.xml b/mdoc/Test/en.expected-cppwinrt/MyNamespace/MyClass.xml
new file mode 100644
index 00000000..8375e9d2
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt/MyNamespace/MyClass.xml
@@ -0,0 +1,57 @@
+<Type Name="MyClass" FullName="MyNamespace.MyClass">
+ <TypeSignature Language="C#" Value="public class MyClass" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyClass extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="[Windows::Foundation::Metadata::WebHostHidden]&#xA;class MyClass" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest-addNonGeneric</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" MyClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-addNonGeneric</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SomeMethod&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public string SomeMethod&lt;T&gt; ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string SomeMethod&lt;T&gt;() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="template &lt;typename T&gt;&#xA; std::wstring SomeMethod();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyName>DocTest-addNonGeneric</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters />
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt/index.xml b/mdoc/Test/en.expected-cppwinrt/index.xml
new file mode 100644
index 00000000..6abf1402
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt/index.xml
@@ -0,0 +1,72 @@
+<Overview>
+ <Assemblies>
+ <Assembly Name="DocTest-DropNS-classic" Version="0.0.0.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ <Assembly Name="DocTest-DropNS-classic-secondary" Version="0.0.0.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ <Assembly Name="DocTest-addNonGeneric" Version="0.0.0.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ </Assemblies>
+ <Remarks>To be added.</Remarks>
+ <Copyright>To be added.</Copyright>
+ <Types>
+ <Namespace Name="MyFramework.MyNamespace">
+ <Type Name="MyClass" Kind="Class" />
+ <Type Name="MyClassExtensions" Kind="Class" />
+ </Namespace>
+ <Namespace Name="MyFramework.MyOtherNamespace">
+ <Type Name="MyOtherClass" Kind="Class" />
+ </Namespace>
+ <Namespace Name="MyNamespace">
+ <Type Name="MyClass" Kind="Class" />
+ </Namespace>
+ </Types>
+ <Title>Untitled</Title>
+ <ExtensionMethods>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:MyFramework.MyNamespace.MyClass" />
+ </Targets>
+ <Member MemberName="AnExtension">
+ <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="MyFramework.MyNamespace.MyClassExtensions" Member="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" />
+ </Member>
+ </ExtensionMethod>
+ </ExtensionMethods>
+</Overview>
diff --git a/mdoc/Test/en.expected-cppwinrt/ns-MyFramework.MyNamespace.xml b/mdoc/Test/en.expected-cppwinrt/ns-MyFramework.MyNamespace.xml
new file mode 100644
index 00000000..74df75af
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt/ns-MyFramework.MyNamespace.xml
@@ -0,0 +1,6 @@
+<Namespace Name="MyFramework.MyNamespace">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppwinrt/ns-MyFramework.MyOtherNamespace.xml b/mdoc/Test/en.expected-cppwinrt/ns-MyFramework.MyOtherNamespace.xml
new file mode 100644
index 00000000..8bdef1c7
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt/ns-MyFramework.MyOtherNamespace.xml
@@ -0,0 +1,6 @@
+<Namespace Name="MyFramework.MyOtherNamespace">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppwinrt/ns-MyNamespace.xml b/mdoc/Test/en.expected-cppwinrt/ns-MyNamespace.xml
new file mode 100644
index 00000000..bd8d4316
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt/ns-MyNamespace.xml
@@ -0,0 +1,6 @@
+<Namespace Name="MyNamespace">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/Extensions.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/Extensions.xml
new file mode 100644
index 00000000..1bf2ead6
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/Extensions.xml
@@ -0,0 +1,141 @@
+<Type Name="Extensions" FullName="Mono.DocTest.Generic.Extensions">
+ <TypeSignature Language="C#" Value="public static class Extensions" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit Extensions extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="class Extensions abstract sealed" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Bar&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static void Bar&lt;T&gt; (this Mono.DocTest.Generic.IFoo&lt;T&gt; self, string s);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Bar&lt;T&gt;(class Mono.DocTest.Generic.IFoo`1&lt;!!T&gt; self, string s) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="self" Type="Mono.DocTest.Generic.IFoo&lt;T&gt;" RefType="this" />
+ <Parameter Name="s" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="self">To be added.</param>
+ <param name="s">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ForEach&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static void ForEach&lt;T&gt; (this System.Collections.Generic.IEnumerable&lt;T&gt; self, Action&lt;T&gt; a);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void ForEach&lt;T&gt;(class System.Collections.Generic.IEnumerable`1&lt;!!T&gt; self, class System.Action`1&lt;!!T&gt; a) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="self" Type="System.Collections.Generic.IEnumerable&lt;T&gt;" RefType="this" />
+ <Parameter Name="a" Type="System.Action&lt;T&gt;" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="self">To be added.</param>
+ <param name="a">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToDouble">
+ <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable&lt;double&gt; ToDouble (this System.Collections.Generic.IEnumerable&lt;int&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1&lt;float64&gt; ToDouble(class System.Collections.Generic.IEnumerable`1&lt;int32&gt; list) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerable&lt;System.Double&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="list" Type="System.Collections.Generic.IEnumerable&lt;System.Int32&gt;" RefType="this" />
+ </Parameters>
+ <Docs>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToDouble&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static double ToDouble&lt;T&gt; (this T val) where T : Mono.DocTest.Generic.IFoo&lt;T&gt;;" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig float64 ToDouble&lt;(class Mono.DocTest.Generic.IFoo`1&lt;!!T&gt;) T&gt;(!!T val) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T">
+ <Constraints>
+ <InterfaceName>Mono.DocTest.Generic.IFoo&lt;T&gt;</InterfaceName>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="val" Type="T" RefType="this" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="val">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToEnumerable&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable&lt;T&gt; ToEnumerable&lt;T&gt; (this T self);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1&lt;!!T&gt; ToEnumerable&lt;T&gt;(!!T self) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerable&lt;T&gt;</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="self" Type="T" RefType="this" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="self">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/Func`2.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/Func`2.xml
new file mode 100644
index 00000000..2d8dcf09
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/Func`2.xml
@@ -0,0 +1,64 @@
+<Type Name="Func&lt;TArg,TRet&gt;" FullName="Mono.DocTest.Generic.Func&lt;TArg,TRet&gt;">
+ <TypeSignature Language="C#" Value="public delegate TRet Func&lt;in TArg,out TRet&gt;(TArg a) where TArg : Exception;" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed Func`2&lt;(class System.Exception) - TArg, + TRet&gt; extends System.MulticastDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="TArg">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("arg!")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Constraints>
+ <ParameterAttribute>Contravariant</ParameterAttribute>
+ <BaseTypeName>System.Exception</BaseTypeName>
+ </Constraints>
+ </TypeParameter>
+ <TypeParameter Name="TRet">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("ret!")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Constraints>
+ <ParameterAttribute>Covariant</ParameterAttribute>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("method")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Parameters>
+ <Parameter Name="a" Type="TArg">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("arg-actual")</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Parameter>
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>TRet</ReturnType>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("return", Field=false)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </ReturnValue>
+ <Docs>
+ <typeparam name="TArg">To be added.</typeparam>
+ <typeparam name="TRet">To be added.</typeparam>
+ <param name="a">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml
new file mode 100644
index 00000000..ca321ae4
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml
@@ -0,0 +1,35 @@
+<Type Name="GenericBase&lt;U&gt;+FooEventArgs" FullName="Mono.DocTest.Generic.GenericBase&lt;U&gt;+FooEventArgs">
+ <TypeSignature Language="C#" Value="public class GenericBase&lt;U&gt;.FooEventArgs : EventArgs" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit GenericBase`1/FooEventArgs&lt;U&gt; extends System.EventArgs" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.EventArgs</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public FooEventArgs ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" FooEventArgs();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml
new file mode 100644
index 00000000..5f23c02a
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml
@@ -0,0 +1,21 @@
+<Type Name="GenericBase&lt;U&gt;+NestedCollection+Enumerator" FullName="Mono.DocTest.Generic.GenericBase&lt;U&gt;+NestedCollection+Enumerator">
+ <TypeSignature Language="C#" Value="protected internal struct GenericBase&lt;U&gt;.NestedCollection.Enumerator" />
+ <TypeSignature Language="ILAsm" Value=".class nested protected sequential ansi sealed beforefieldinit GenericBase`1/NestedCollection/Enumerator&lt;U&gt; extends System.ValueType" />
+ <TypeSignature Language="C++ WINRT" Value="struct GenericBase&lt;U&gt;::NestedCollection::Enumerator" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members />
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml
new file mode 100644
index 00000000..94b96ef0
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml
@@ -0,0 +1,36 @@
+<Type Name="GenericBase&lt;U&gt;+NestedCollection" FullName="Mono.DocTest.Generic.GenericBase&lt;U&gt;+NestedCollection">
+ <TypeSignature Language="C#" Value="public class GenericBase&lt;U&gt;.NestedCollection" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit GenericBase`1/NestedCollection&lt;U&gt; extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="[Windows::Foundation::Metadata::WebHostHidden]&#xA;class GenericBase&lt;U&gt;::NestedCollection" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public NestedCollection ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" NestedCollection();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1.xml
new file mode 100644
index 00000000..0ba0b7aa
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/GenericBase`1.xml
@@ -0,0 +1,151 @@
+<Type Name="GenericBase&lt;U&gt;" FullName="Mono.DocTest.Generic.GenericBase&lt;U&gt;">
+ <TypeSignature Language="C#" Value="public class GenericBase&lt;U&gt;" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit GenericBase`1&lt;U&gt; extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="template &lt;typename U&gt;&#xA;[Windows::Foundation::Metadata::WebHostHidden]&#xA;class GenericBase" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public GenericBase ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" GenericBase();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="BaseMethod&lt;S&gt;">
+ <MemberSignature Language="C#" Value="public U BaseMethod&lt;S&gt; (S genericParameter);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance !U BaseMethod&lt;S&gt;(!!S genericParameter) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="template &lt;typename S&gt;&#xA; U BaseMethod(S genericParameter);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>U</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="S">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("S")</AttributeName>
+ </Attribute>
+ </Attributes>
+ </TypeParameter>
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="genericParameter" Type="S" />
+ </Parameters>
+ <Docs>
+ <typeparam name="S">To be added.</typeparam>
+ <param name="genericParameter">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ConstField1">
+ <MemberSignature Language="C#" Value="public const int ConstField1;" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal int32 ConstField1" />
+ <MemberSignature Language="C++ WINRT" Value="int ConstField1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ItemChanged">
+ <MemberSignature Language="C#" Value="public event Action&lt;Mono.DocTest.Generic.MyList&lt;U&gt;,Mono.DocTest.Generic.MyList&lt;U&gt;.Helper&lt;U,U&gt;&gt; ItemChanged;" />
+ <MemberSignature Language="ILAsm" Value=".event class System.Action`2&lt;class Mono.DocTest.Generic.MyList`1&lt;!U&gt;, class Mono.DocTest.Generic.MyList`1/Helper`2&lt;!U, !U, !U&gt;&gt; ItemChanged" />
+ <MemberType>Event</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Action&lt;Mono.DocTest.Generic.MyList&lt;U&gt;,Mono.DocTest.Generic.MyList&lt;U&gt;+Helper&lt;U,U&gt;&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MyEvent">
+ <MemberSignature Language="C#" Value="public event EventHandler&lt;Mono.DocTest.Generic.GenericBase&lt;U&gt;.FooEventArgs&gt; MyEvent;" />
+ <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1&lt;class Mono.DocTest.Generic.GenericBase`1/FooEventArgs&lt;!U&gt;&gt; MyEvent" />
+ <MemberType>Event</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.EventHandler&lt;Mono.DocTest.Generic.GenericBase&lt;U&gt;+FooEventArgs&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Explicit">
+ <MemberSignature Language="C#" Value="public static explicit operator U (Mono.DocTest.Generic.GenericBase&lt;U&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname !U op_Explicit(class Mono.DocTest.Generic.GenericBase`1&lt;!U&gt; list) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" static explicit operator U(Mono::DocTest::Generic::GenericBase&lt;U&gt; const &amp; list);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>U</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="list" Type="Mono.DocTest.Generic.GenericBase&lt;U&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="StaticField1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.DocTest.Generic.GenericBase&lt;U&gt; StaticField1;" />
+ <MemberSignature Language="ILAsm" Value=".field public static initonly class Mono.DocTest.Generic.GenericBase`1&lt;!U&gt; StaticField1" />
+ <MemberSignature Language="C++ WINRT" Value="static initonly Mono::DocTest::Generic::GenericBase&lt;U&gt; StaticField1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Generic.GenericBase&lt;U&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/IFoo`1.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/IFoo`1.xml
new file mode 100644
index 00000000..c3ed871d
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/IFoo`1.xml
@@ -0,0 +1,47 @@
+<Type Name="IFoo&lt;T&gt;" FullName="Mono.DocTest.Generic.IFoo&lt;T&gt;">
+ <TypeSignature Language="C#" Value="public interface IFoo&lt;T&gt;" />
+ <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IFoo`1&lt;T&gt;" />
+ <TypeSignature Language="C++ WINRT" Value="template &lt;typename T&gt;&#xA;__interface IFoo" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Interfaces />
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Method&lt;U&gt;">
+ <MemberSignature Language="C#" Value="public T Method&lt;U&gt; (T t, U u);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance !T Method&lt;U&gt;(!T t, !!U u) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="template &lt;typename U&gt;&#xA; T Method(T t, U u);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>T</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="t" Type="T" />
+ <Parameter Name="u" Type="U" />
+ </Parameters>
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <param name="t">To be added.</param>
+ <param name="u">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/MyList`1+Helper`2.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/MyList`1+Helper`2.xml
new file mode 100644
index 00000000..bc6635e3
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/MyList`1+Helper`2.xml
@@ -0,0 +1,64 @@
+<Type Name="MyList&lt;T&gt;+Helper&lt;U,V&gt;" FullName="Mono.DocTest.Generic.MyList&lt;T&gt;+Helper&lt;U,V&gt;">
+ <TypeSignature Language="C#" Value="public class MyList&lt;T&gt;.Helper&lt;U,V&gt;" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit MyList`1/Helper`2&lt;T, U, V&gt; extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="template &lt;typename U, typename V&gt;&#xA;[Windows::Foundation::Metadata::WebHostHidden]&#xA;class MyList&lt;T&gt;::Helper" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ <TypeParameter Name="U" />
+ <TypeParameter Name="V" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <typeparam name="V">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Helper ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" Helper();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UseT">
+ <MemberSignature Language="C#" Value="public void UseT (T a, U b, V c);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UseT(!T a, !U b, !V c) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void UseT(T a, U b, V c);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="a" Type="T" />
+ <Parameter Name="b" Type="U" />
+ <Parameter Name="c" Type="V" />
+ </Parameters>
+ <Docs>
+ <param name="a">To be added.</param>
+ <param name="b">To be added.</param>
+ <param name="c">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/MyList`1.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/MyList`1.xml
new file mode 100644
index 00000000..5497edfc
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/MyList`1.xml
@@ -0,0 +1,211 @@
+<Type Name="MyList&lt;T&gt;" FullName="Mono.DocTest.Generic.MyList&lt;T&gt;">
+ <TypeSignature Language="C#" Value="public class MyList&lt;T&gt; : Mono.DocTest.Generic.GenericBase&lt;T&gt;, System.Collections.Generic.IEnumerable&lt;int[]&gt;" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyList`1&lt;T&gt; extends Mono.DocTest.Generic.GenericBase`1&lt;!T&gt; implements class System.Collections.Generic.IEnumerable`1&lt;int32[]&gt;, class System.Collections.IEnumerable" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="T">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("Type Parameter!")</AttributeName>
+ </Attribute>
+ </Attributes>
+ </TypeParameter>
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>Mono.DocTest.Generic.GenericBase&lt;T&gt;</BaseTypeName>
+ <BaseTypeArguments>
+ <BaseTypeArgument TypeParamName="U">T</BaseTypeArgument>
+ </BaseTypeArguments>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>System.Collections.Generic.IEnumerable&lt;System.Int32[]&gt;</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyList ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" MyList();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.Generic.IEnumerator&lt;int[]&gt; GetEnumerator ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Collections.Generic.IEnumerator`1&lt;int32[]&gt; GetEnumerator() cil managed" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.Generic.IEnumerable`1.GetEnumerator</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerator&lt;System.Int32[]&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetHelper&lt;U,V&gt;">
+ <MemberSignature Language="C#" Value="public Mono.DocTest.Generic.MyList&lt;T&gt;.Helper&lt;U,V&gt; GetHelper&lt;U,V&gt; ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.DocTest.Generic.MyList`1/Helper`2&lt;!T, !!U, !!V&gt; GetHelper&lt;U, V&gt;() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="template &lt;typename U, typename V&gt;&#xA; Mono::DocTest::Generic::MyList&lt;T&gt;::Helper&lt;U, V&gt; GetHelper();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Generic.MyList&lt;T&gt;+Helper&lt;U,V&gt;</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ <TypeParameter Name="V" />
+ </TypeParameters>
+ <Parameters />
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <typeparam name="V">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Method&lt;U&gt;">
+ <MemberSignature Language="C#" Value="public void Method&lt;U&gt; (T t, U u);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Method&lt;U&gt;(!T t, !!U u) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="template &lt;typename U&gt;&#xA; void Method(T t, U u);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="t" Type="T" />
+ <Parameter Name="u" Type="U" />
+ </Parameters>
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <param name="t">To be added.</param>
+ <param name="u">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RefMethod&lt;U&gt;">
+ <MemberSignature Language="C#" Value="public void RefMethod&lt;U&gt; (ref T t, ref U u);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RefMethod&lt;U&gt;(!T&amp; t, !!U&amp; u) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="template &lt;typename U&gt;&#xA; void RefMethod(T &amp; t, U &amp; u);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="t" Type="T&amp;" RefType="ref" />
+ <Parameter Name="u" Type="U&amp;" RefType="ref" />
+ </Parameters>
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <param name="t">To be added.</param>
+ <param name="u">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IEnumerable.GetEnumerator">
+ <MemberSignature Language="C#" Value="System.Collections.IEnumerator IEnumerable.GetEnumerator ();" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance class System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() cil managed" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.IEnumerable.GetEnumerator</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Test">
+ <MemberSignature Language="C#" Value="public void Test (T t);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Test(!T t) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void Test(T t);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="t" Type="T" />
+ </Parameters>
+ <Docs>
+ <param name="t">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UseHelper&lt;U,V&gt;">
+ <MemberSignature Language="C#" Value="public void UseHelper&lt;U,V&gt; (Mono.DocTest.Generic.MyList&lt;T&gt;.Helper&lt;U,V&gt; helper);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UseHelper&lt;U, V&gt;(class Mono.DocTest.Generic.MyList`1/Helper`2&lt;!T, !!U, !!V&gt; helper) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="template &lt;typename U, typename V&gt;&#xA; void UseHelper(Mono::DocTest::Generic::MyList&lt;T&gt;::Helper&lt;U, V&gt; const &amp; helper);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ <TypeParameter Name="V" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="helper" Type="Mono.DocTest.Generic.MyList&lt;T&gt;+Helper&lt;U,V&gt;" />
+ </Parameters>
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <typeparam name="V">To be added.</typeparam>
+ <param name="helper">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/MyList`2.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/MyList`2.xml
new file mode 100644
index 00000000..0b76c4a6
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest.Generic/MyList`2.xml
@@ -0,0 +1,438 @@
+<Type Name="MyList&lt;A,B&gt;" FullName="Mono.DocTest.Generic.MyList&lt;A,B&gt;">
+ <TypeSignature Language="C#" Value="public class MyList&lt;A,B&gt; : Mono.DocTest.Generic.GenericBase&lt;System.Collections.Generic.Dictionary&lt;A,B&gt;&gt;, Mono.DocTest.Generic.IFoo&lt;A&gt;, System.Collections.Generic.ICollection&lt;A&gt;, System.Collections.Generic.IEnumerable&lt;A&gt;, System.Collections.Generic.IEnumerator&lt;A&gt; where A : class, IList&lt;B&gt;, new() where B : class, A" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyList`2&lt;class .ctor (class System.Collections.Generic.IList`1&lt;!B&gt;) A, class (!A) B&gt; extends Mono.DocTest.Generic.GenericBase`1&lt;class System.Collections.Generic.Dictionary`2&lt;!A, !B&gt;&gt; implements class Mono.DocTest.Generic.IFoo`1&lt;!A&gt;, class System.Collections.Generic.ICollection`1&lt;!A&gt;, class System.Collections.Generic.IEnumerable`1&lt;!A&gt;, class System.Collections.Generic.IEnumerator`1&lt;!A&gt;, class System.Collections.IEnumerable, class System.Collections.IEnumerator, class System.IDisposable" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="A">
+ <Constraints>
+ <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute>
+ <ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute>
+ <InterfaceName>System.Collections.Generic.IList&lt;B&gt;</InterfaceName>
+ </Constraints>
+ </TypeParameter>
+ <TypeParameter Name="B">
+ <Constraints>
+ <ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute>
+ <BaseTypeName>A</BaseTypeName>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>Mono.DocTest.Generic.GenericBase&lt;System.Collections.Generic.Dictionary&lt;A,B&gt;&gt;</BaseTypeName>
+ <BaseTypeArguments>
+ <BaseTypeArgument TypeParamName="U">System.Collections.Generic.Dictionary&lt;A,B&gt;</BaseTypeArgument>
+ </BaseTypeArguments>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.DocTest.Generic.IFoo&lt;A&gt;</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.Generic.ICollection&lt;A&gt;</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.Generic.IEnumerable&lt;A&gt;</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.Generic.IEnumerator&lt;A&gt;</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <typeparam name="A">To be added.</typeparam>
+ <typeparam name="B">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MyList ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" MyList();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CopyTo">
+ <MemberSignature Language="C#" Value="public void CopyTo (A[] array, int arrayIndex);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void CopyTo(!A[] array, int32 arrayIndex) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void CopyTo(std::Array &lt;A&gt; const &amp; array, int arrayIndex);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="array" Type="A[]" />
+ <Parameter Name="arrayIndex" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="array">To be added.</param>
+ <param name="arrayIndex">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Count">
+ <MemberSignature Language="C#" Value="public int Count { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int32 Count" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:System.Collections.Generic.ICollection`1.Count</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Current">
+ <MemberSignature Language="C#" Value="public A Current { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance !A Current" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:System.Collections.Generic.IEnumerator`1.Current</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>A</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Dispose">
+ <MemberSignature Language="C#" Value="public void Dispose ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Dispose() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void Dispose();" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.IDisposable.Dispose</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Foo">
+ <MemberSignature Language="C#" Value="public System.Collections.Generic.KeyValuePair&lt;System.Collections.Generic.IEnumerable&lt;A&gt;,System.Collections.Generic.IEnumerable&lt;B&gt;&gt; Foo ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype System.Collections.Generic.KeyValuePair`2&lt;class System.Collections.Generic.IEnumerable`1&lt;!A&gt;, class System.Collections.Generic.IEnumerable`1&lt;!B&gt;&gt; Foo() cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.KeyValuePair&lt;System.Collections.Generic.IEnumerable&lt;A&gt;,System.Collections.Generic.IEnumerable&lt;B&gt;&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.Generic.List&lt;A&gt;.Enumerator GetEnumerator ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype System.Collections.Generic.List`1/Enumerator&lt;!A&gt; GetEnumerator() cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.List&lt;A&gt;+Enumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mono.DocTest.Generic.IFoo&lt;A&gt;.Method&lt;U&gt;">
+ <MemberSignature Language="C#" Value="A IFoo&lt;A&gt;.Method&lt;U&gt; (A a, U u);" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance !A Mono.DocTest.Generic.IFoo&lt;A&gt;.Method&lt;U&gt;(!A a, !!U u) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="template &lt;typename U&gt;&#xA; A Mono.DocTest.Generic.IFoo&lt;A&gt;.Method(A a, U u);" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:Mono.DocTest.Generic.IFoo`1.Method``1(`0,``0)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>A</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="U" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="a" Type="A" />
+ <Parameter Name="u" Type="U" />
+ </Parameters>
+ <Docs>
+ <typeparam name="U">To be added.</typeparam>
+ <param name="a">To be added.</param>
+ <param name="u">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MoveNext">
+ <MemberSignature Language="C#" Value="public bool MoveNext ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MoveNext() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="bool MoveNext();" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.IEnumerator.MoveNext</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Reset">
+ <MemberSignature Language="C#" Value="public void Reset ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Reset() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void Reset();" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.IEnumerator.Reset</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.ICollection&lt;A&gt;.Add">
+ <MemberSignature Language="C#" Value="void ICollection&lt;A&gt;.Add (A item);" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Collections.Generic.ICollection&lt;A&gt;.Add(!A item) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void System.Collections.Generic.ICollection&lt;A&gt;.Add(A item);" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.Generic.ICollection`1.Add(`0)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="item" Type="A" />
+ </Parameters>
+ <Docs>
+ <param name="item">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.ICollection&lt;A&gt;.Clear">
+ <MemberSignature Language="C#" Value="void ICollection&lt;A&gt;.Clear ();" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Collections.Generic.ICollection&lt;A&gt;.Clear() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void System.Collections.Generic.ICollection&lt;A&gt;.Clear();" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.Generic.ICollection`1.Clear</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.ICollection&lt;A&gt;.Contains">
+ <MemberSignature Language="C#" Value="bool ICollection&lt;A&gt;.Contains (A item);" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool System.Collections.Generic.ICollection&lt;A&gt;.Contains(!A item) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="bool System.Collections.Generic.ICollection&lt;A&gt;.Contains(A item);" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.Generic.ICollection`1.Contains(`0)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="item" Type="A" />
+ </Parameters>
+ <Docs>
+ <param name="item">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.ICollection&lt;A&gt;.IsReadOnly">
+ <MemberSignature Language="C#" Value="bool System.Collections.Generic.ICollection&lt;A&gt;.IsReadOnly { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance bool System.Collections.Generic.ICollection&lt;A&gt;.IsReadOnly" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:System.Collections.Generic.ICollection`1.IsReadOnly</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.ICollection&lt;A&gt;.Remove">
+ <MemberSignature Language="C#" Value="bool ICollection&lt;A&gt;.Remove (A item);" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool System.Collections.Generic.ICollection&lt;A&gt;.Remove(!A item) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="bool System.Collections.Generic.ICollection&lt;A&gt;.Remove(A item);" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.Generic.ICollection`1.Remove(`0)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="item" Type="A" />
+ </Parameters>
+ <Docs>
+ <param name="item">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.IEnumerable&lt;A&gt;.GetEnumerator">
+ <MemberSignature Language="C#" Value="System.Collections.Generic.IEnumerator&lt;A&gt; IEnumerable&lt;A&gt;.GetEnumerator ();" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance class System.Collections.Generic.IEnumerator`1&lt;!A&gt; System.Collections.Generic.IEnumerable&lt;A&gt;.GetEnumerator() cil managed" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.Generic.IEnumerable`1.GetEnumerator</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerator&lt;A&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.IEnumerator&lt;A&gt;.Current">
+ <MemberSignature Language="C#" Value="A System.Collections.Generic.IEnumerator&lt;A&gt;.Current { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance !A System.Collections.Generic.IEnumerator&lt;A&gt;.Current" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:System.Collections.Generic.IEnumerator`1.Current</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>A</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IEnumerable.GetEnumerator">
+ <MemberSignature Language="C#" Value="System.Collections.IEnumerator IEnumerable.GetEnumerator ();" />
+ <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance class System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() cil managed" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:System.Collections.IEnumerable.GetEnumerator</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IEnumerator.Current">
+ <MemberSignature Language="C#" Value="object System.Collections.IEnumerator.Current { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance object System.Collections.IEnumerator.Current" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:System.Collections.IEnumerator.Current</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Color.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Color.xml
new file mode 100644
index 00000000..75a454f5
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Color.xml
@@ -0,0 +1,82 @@
+<Type Name="Color" FullName="Mono.DocTest.Color">
+ <TypeSignature Language="C#" Value="public enum Color" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed Color extends System.Enum" />
+ <TypeSignature Language="C++ WINRT" Value="enum Color" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="AnotherGreen">
+ <MemberSignature Language="C#" Value="AnotherGreen" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Color AnotherGreen = int32(2)" />
+ <MemberSignature Language="C++ WINRT" Value="AnotherGreen" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Color</ReturnType>
+ </ReturnValue>
+ <MemberValue>2</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Blue">
+ <MemberSignature Language="C#" Value="Blue" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Color Blue = int32(1)" />
+ <MemberSignature Language="C++ WINRT" Value="Blue" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Color</ReturnType>
+ </ReturnValue>
+ <MemberValue>1</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Green">
+ <MemberSignature Language="C#" Value="Green" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Color Green = int32(2)" />
+ <MemberSignature Language="C++ WINRT" Value="Green" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Color</ReturnType>
+ </ReturnValue>
+ <MemberValue>2</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Red">
+ <MemberSignature Language="C#" Value="Red" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Color Red = int32(0)" />
+ <MemberSignature Language="C++ WINRT" Value="Red" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Color</ReturnType>
+ </ReturnValue>
+ <MemberValue>0</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/D.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/D.xml
new file mode 100644
index 00000000..fffe57fa
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/D.xml
@@ -0,0 +1,23 @@
+<Type Name="D" FullName="Mono.DocTest.D">
+ <TypeSignature Language="C#" Value="public delegate dynamic D(Func&lt;string,dynamic,object&gt; value);" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed D extends System.MulticastDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Parameters>
+ <Parameter Name="value" Type="System.Func&lt;System.String,System.Object,System.Object&gt;" />
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/DocAttribute.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/DocAttribute.xml
new file mode 100644
index 00000000..279e67b0
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/DocAttribute.xml
@@ -0,0 +1,103 @@
+<Type Name="DocAttribute" FullName="Mono.DocTest.DocAttribute">
+ <TypeSignature Language="C#" Value="public class DocAttribute : Attribute" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DocAttribute extends System.Attribute" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Attribute</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.AttributeUsage(System.AttributeTargets.All)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public DocAttribute (string docs);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string docs) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" DocAttribute(std::wstring const &amp; docs);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="docs" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="docs">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Field">
+ <MemberSignature Language="C#" Value="public bool Field;" />
+ <MemberSignature Language="ILAsm" Value=".field public bool Field" />
+ <MemberSignature Language="C++ WINRT" Value="bool Field;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FlagsEnum">
+ <MemberSignature Language="C#" Value="public ConsoleModifiers FlagsEnum;" />
+ <MemberSignature Language="ILAsm" Value=".field public valuetype System.ConsoleModifiers FlagsEnum" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.ConsoleModifiers</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NonFlagsEnum">
+ <MemberSignature Language="C#" Value="public Mono.DocTest.Color NonFlagsEnum;" />
+ <MemberSignature Language="ILAsm" Value=".field public valuetype Mono.DocTest.Color NonFlagsEnum" />
+ <MemberSignature Language="C++ WINRT" Value="Mono::DocTest::Color NonFlagsEnum;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Color</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Property">
+ <MemberSignature Language="C#" Value="public Type Property { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance class System.Type Property" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Type</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/DocValueType.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/DocValueType.xml
new file mode 100644
index 00000000..61df663c
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/DocValueType.xml
@@ -0,0 +1,59 @@
+<Type Name="DocValueType" FullName="Mono.DocTest.DocValueType">
+ <TypeSignature Language="C#" Value="public struct DocValueType : Mono.DocTest.IProcess" />
+ <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit DocValueType extends System.ValueType implements class Mono.DocTest.IProcess" />
+ <TypeSignature Language="C++ WINRT" Value="struct DocValueType : Mono::DocTest::IProcess" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.DocTest.IProcess</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="M">
+ <MemberSignature Language="C#" Value="public void M (int i);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M(int32 i) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void M(int i);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="total">
+ <MemberSignature Language="C#" Value="public int total;" />
+ <MemberSignature Language="ILAsm" Value=".field public int32 total" />
+ <MemberSignature Language="C++ WINRT" Value="int total;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/IProcess.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/IProcess.xml
new file mode 100644
index 00000000..7a013c31
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/IProcess.xml
@@ -0,0 +1,15 @@
+<Type Name="IProcess" FullName="Mono.DocTest.IProcess">
+ <TypeSignature Language="C#" Value="public interface IProcess" />
+ <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IProcess" />
+ <TypeSignature Language="C++ WINRT" Value="__interface IProcess" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members />
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/UseLists.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/UseLists.xml
new file mode 100644
index 00000000..b19b1ea8
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/UseLists.xml
@@ -0,0 +1,171 @@
+<Type Name="UseLists" FullName="Mono.DocTest.UseLists">
+ <TypeSignature Language="C#" Value="public class UseLists" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit UseLists extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="[Windows::Foundation::Metadata::WebHostHidden]&#xA;class UseLists" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public UseLists ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" UseLists();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetValues&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public Mono.DocTest.Generic.MyList&lt;T&gt; GetValues&lt;T&gt; (T value) where T : struct;" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.DocTest.Generic.MyList`1&lt;!!T&gt; GetValues&lt;struct .ctor (class System.ValueType) T&gt;(!!T value) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Generic.MyList&lt;T&gt;</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T">
+ <Constraints>
+ <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute>
+ <ParameterAttribute>NotNullableValueTypeConstraint</ParameterAttribute>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="value" Type="T" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Process">
+ <MemberSignature Language="C#" Value="public void Process (Mono.DocTest.Generic.MyList&lt;int&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Process(class Mono.DocTest.Generic.MyList`1&lt;int32&gt; list) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="list" Type="Mono.DocTest.Generic.MyList&lt;System.Int32&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Process">
+ <MemberSignature Language="C#" Value="public void Process (System.Collections.Generic.List&lt;int&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Process(class System.Collections.Generic.List`1&lt;int32&gt; list) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="list" Type="System.Collections.Generic.List&lt;System.Int32&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Process">
+ <MemberSignature Language="C#" Value="public void Process (System.Collections.Generic.List&lt;Predicate&lt;int&gt;&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Process(class System.Collections.Generic.List`1&lt;class System.Predicate`1&lt;int32&gt;&gt; list) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="list" Type="System.Collections.Generic.List&lt;System.Predicate&lt;System.Int32&gt;&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Process&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public void Process&lt;T&gt; (System.Collections.Generic.List&lt;Predicate&lt;T&gt;&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Process&lt;T&gt;(class System.Collections.Generic.List`1&lt;class System.Predicate`1&lt;!!T&gt;&gt; list) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="list" Type="System.Collections.Generic.List&lt;System.Predicate&lt;T&gt;&gt;" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UseHelper&lt;T,U,V&gt;">
+ <MemberSignature Language="C#" Value="public void UseHelper&lt;T,U,V&gt; (Mono.DocTest.Generic.MyList&lt;T&gt;.Helper&lt;U,V&gt; helper);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UseHelper&lt;T, U, V&gt;(class Mono.DocTest.Generic.MyList`1/Helper`2&lt;!!T, !!U, !!V&gt; helper) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="template &lt;typename T, typename U, typename V&gt;&#xA; void UseHelper(Mono::DocTest::Generic::MyList&lt;T&gt;::Helper&lt;U, V&gt; const &amp; helper);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ <TypeParameter Name="U" />
+ <TypeParameter Name="V" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="helper" Type="Mono.DocTest.Generic.MyList&lt;T&gt;+Helper&lt;U,V&gt;" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <typeparam name="U">To be added.</typeparam>
+ <typeparam name="V">To be added.</typeparam>
+ <param name="helper">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+Del.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+Del.xml
new file mode 100644
index 00000000..e3ad767a
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+Del.xml
@@ -0,0 +1,22 @@
+<Type Name="Widget+Del" FullName="Mono.DocTest.Widget+Del">
+ <TypeSignature Language="C#" Value="public delegate void Widget.Del(int i);" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi sealed Widget/Del extends System.MulticastDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Parameters>
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+Direction.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+Direction.xml
new file mode 100644
index 00000000..f3339666
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+Direction.xml
@@ -0,0 +1,87 @@
+<Type Name="Widget+Direction" FullName="Mono.DocTest.Widget+Direction">
+ <TypeSignature Language="C#" Value="protected internal enum Widget.Direction" />
+ <TypeSignature Language="ILAsm" Value=".class nested protected auto ansi sealed Widget/Direction extends System.Enum" />
+ <TypeSignature Language="C++ WINRT" Value="enum Widget::Direction" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="East">
+ <MemberSignature Language="C#" Value="East" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Widget/Direction East = int32(2)" />
+ <MemberSignature Language="C++ WINRT" Value="East" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget+Direction</ReturnType>
+ </ReturnValue>
+ <MemberValue>2</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="North">
+ <MemberSignature Language="C#" Value="North" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Widget/Direction North = int32(0)" />
+ <MemberSignature Language="C++ WINRT" Value="North" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget+Direction</ReturnType>
+ </ReturnValue>
+ <MemberValue>0</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="South">
+ <MemberSignature Language="C#" Value="South" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Widget/Direction South = int32(1)" />
+ <MemberSignature Language="C++ WINRT" Value="South" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget+Direction</ReturnType>
+ </ReturnValue>
+ <MemberValue>1</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="West">
+ <MemberSignature Language="C#" Value="West" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Widget/Direction West = int32(3)" />
+ <MemberSignature Language="C++ WINRT" Value="West" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget+Direction</ReturnType>
+ </ReturnValue>
+ <MemberValue>3</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+IMenuItem.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+IMenuItem.xml
new file mode 100644
index 00000000..80f81a36
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+IMenuItem.xml
@@ -0,0 +1,49 @@
+<Type Name="Widget+IMenuItem" FullName="Mono.DocTest.Widget+IMenuItem">
+ <TypeSignature Language="C#" Value="public interface Widget.IMenuItem" />
+ <TypeSignature Language="ILAsm" Value=".class nested public interface auto ansi abstract Widget/IMenuItem" />
+ <TypeSignature Language="C++ WINRT" Value="__interface Widget::IMenuItem" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="A">
+ <MemberSignature Language="C#" Value="public void A ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void A() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void A();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="B">
+ <MemberSignature Language="C#" Value="public int B { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int32 B" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml
new file mode 100644
index 00000000..d28fdc25
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml
@@ -0,0 +1,33 @@
+<Type Name="Widget+NestedClass+Double+Triple+Quadruple" FullName="Mono.DocTest.Widget+NestedClass+Double+Triple+Quadruple">
+ <TypeSignature Language="C#" Value="public class Widget.NestedClass.Double.Triple.Quadruple" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass/Double/Triple/Quadruple extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="[Windows::Foundation::Metadata::WebHostHidden]&#xA;class Widget::NestedClass::Double::Triple::Quadruple" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Quadruple ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" Quadruple();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass+Double+Triple.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass+Double+Triple.xml
new file mode 100644
index 00000000..ff81a398
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass+Double+Triple.xml
@@ -0,0 +1,33 @@
+<Type Name="Widget+NestedClass+Double+Triple" FullName="Mono.DocTest.Widget+NestedClass+Double+Triple">
+ <TypeSignature Language="C#" Value="public class Widget.NestedClass.Double.Triple" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass/Double/Triple extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="[Windows::Foundation::Metadata::WebHostHidden]&#xA;class Widget::NestedClass::Double::Triple" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Triple ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" Triple();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass+Double.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass+Double.xml
new file mode 100644
index 00000000..4e1bae80
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass+Double.xml
@@ -0,0 +1,33 @@
+<Type Name="Widget+NestedClass+Double" FullName="Mono.DocTest.Widget+NestedClass+Double">
+ <TypeSignature Language="C#" Value="public class Widget.NestedClass.Double" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass/Double extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="[Windows::Foundation::Metadata::WebHostHidden]&#xA;class Widget::NestedClass::Double" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Double ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" Double();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass.xml
new file mode 100644
index 00000000..80136bf9
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass.xml
@@ -0,0 +1,68 @@
+<Type Name="Widget+NestedClass" FullName="Mono.DocTest.Widget+NestedClass">
+ <TypeSignature Language="C#" Value="public class Widget.NestedClass" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public NestedClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" NestedClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M">
+ <MemberSignature Language="C#" Value="public void M (int i);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M(int32 i) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void M(int i);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="value">
+ <MemberSignature Language="C#" Value="public int value;" />
+ <MemberSignature Language="ILAsm" Value=".field public int32 value" />
+ <MemberSignature Language="C++ WINRT" Value="int value;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass`1.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass`1.xml
new file mode 100644
index 00000000..51c7907a
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget+NestedClass`1.xml
@@ -0,0 +1,72 @@
+<Type Name="Widget+NestedClass&lt;T&gt;" FullName="Mono.DocTest.Widget+NestedClass&lt;T&gt;">
+ <TypeSignature Language="C#" Value="public class Widget.NestedClass&lt;T&gt;" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass`1&lt;T&gt; extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public NestedClass ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" NestedClass();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M">
+ <MemberSignature Language="C#" Value="public void M (int i);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M(int32 i) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void M(int i);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="value">
+ <MemberSignature Language="C#" Value="public int value;" />
+ <MemberSignature Language="ILAsm" Value=".field public int32 value" />
+ <MemberSignature Language="C++ WINRT" Value="int value;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget.xml b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget.xml
new file mode 100644
index 00000000..70ce513c
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/Mono.DocTest/Widget.xml
@@ -0,0 +1,887 @@
+<Type Name="Widget" FullName="Mono.DocTest.Widget">
+ <TypeSignature Language="C#" Value="public class Widget : Mono.DocTest.IProcess" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Widget extends System.Object implements class Mono.DocTest.IProcess" />
+ <TypeSignature Language="C++ WINRT" Value="[Windows::Foundation::Metadata::WebHostHidden]&#xA;class Widget : Mono::DocTest::IProcess" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.DocTest.IProcess</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Widget ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" Widget();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Widget (Converter&lt;string,string&gt; c);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Converter`2&lt;string, string&gt; c) cil managed" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="c" Type="System.Converter&lt;System.String,System.String&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="c">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Widget (string s);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string s) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" Widget(std::wstring const &amp; s);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="s" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="s">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AnEvent">
+ <MemberSignature Language="C#" Value="public event Mono.DocTest.Widget.Del AnEvent;" />
+ <MemberSignature Language="ILAsm" Value=".event class Mono.DocTest.Widget/Del AnEvent" />
+ <MemberType>Event</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("Del event")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>add: Mono.DocTest.Doc("Del add accessor")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>remove: Mono.DocTest.Doc("Del remove accessor")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget+Del</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AnotherEvent">
+ <MemberSignature Language="C#" Value="protected event Mono.DocTest.Widget.Del AnotherEvent;" />
+ <MemberSignature Language="ILAsm" Value=".event class Mono.DocTest.Widget/Del AnotherEvent" />
+ <MemberType>Event</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget+Del</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="array1">
+ <MemberSignature Language="C#" Value="public long[] array1;" />
+ <MemberSignature Language="ILAsm" Value=".field public int64[] array1" />
+ <MemberSignature Language="C++ WINRT" Value="std::Array &lt;long&gt; array1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int64[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="array2">
+ <MemberSignature Language="C#" Value="public Mono.DocTest.Widget[,] array2;" />
+ <MemberSignature Language="ILAsm" Value=".field public class Mono.DocTest.Widget[,] array2" />
+ <MemberSignature Language="C++ WINRT" Value="std::Array &lt;Mono::DocTest::Widget const &amp;, 2&gt; array2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget[,]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="classCtorError">
+ <MemberSignature Language="C#" Value="public static readonly string[] classCtorError;" />
+ <MemberSignature Language="ILAsm" Value=".field public static initonly string[] classCtorError" />
+ <MemberSignature Language="C++ WINRT" Value="static initonly std::Array &lt;std::wstring const &amp;&gt; classCtorError;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Default">
+ <MemberSignature Language="C#" Value="public void Default (int a = 1, int b = 2);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Default(int32 a, int32 b) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void Default(int a = 1, int b = 2);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="a" Type="System.Int32" />
+ <Parameter Name="b" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="a">To be added.</param>
+ <param name="b">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Default">
+ <MemberSignature Language="C#" Value="public void Default (string a = &quot;a&quot;, char b = 'b');" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Default(string a, char b) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void Default(std::wstring const &amp; a = &quot;a&quot;, char b = 'b');" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="a" Type="System.String" />
+ <Parameter Name="b" Type="System.Char" />
+ </Parameters>
+ <Docs>
+ <param name="a">To be added.</param>
+ <param name="b">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="defaultColor">
+ <MemberSignature Language="C#" Value="protected static Mono.DocTest.Color defaultColor;" />
+ <MemberSignature Language="ILAsm" Value=".field family static valuetype Mono.DocTest.Color defaultColor" />
+ <MemberSignature Language="C++ WINRT" Value="static Mono::DocTest::Color defaultColor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Color</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Dynamic0">
+ <MemberSignature Language="C#" Value="public dynamic Dynamic0 (dynamic a, dynamic b);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance object Dynamic0(object a, object b) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="winrt::Windows::Foundation::IInspectable Dynamic0(winrt::Windows::Foundation::IInspectable const &amp; a, winrt::Windows::Foundation::IInspectable const &amp; b);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="a" Type="System.Object" />
+ <Parameter Name="b" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="a">To be added.</param>
+ <param name="b">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Dynamic1">
+ <MemberSignature Language="C#" Value="public System.Collections.Generic.Dictionary&lt;dynamic,string&gt; Dynamic1 (System.Collections.Generic.Dictionary&lt;dynamic,string&gt; value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Collections.Generic.Dictionary`2&lt;object, string&gt; Dynamic1(class System.Collections.Generic.Dictionary`2&lt;object, string&gt; value) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.Dictionary&lt;System.Object,System.String&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Collections.Generic.Dictionary&lt;System.Object,System.String&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Dynamic2">
+ <MemberSignature Language="C#" Value="public Func&lt;string,dynamic&gt; Dynamic2 (Func&lt;string,dynamic&gt; value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Func`2&lt;string, object&gt; Dynamic2(class System.Func`2&lt;string, object&gt; value) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Func&lt;System.String,System.Object&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Func&lt;System.String,System.Object&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Dynamic3">
+ <MemberSignature Language="C#" Value="public Func&lt;Func&lt;string,dynamic&gt;,Func&lt;dynamic,string&gt;&gt; Dynamic3 (Func&lt;Func&lt;string,dynamic&gt;,Func&lt;dynamic,string&gt;&gt; value);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Func`2&lt;class System.Func`2&lt;string, object&gt;, class System.Func`2&lt;object, string&gt;&gt; Dynamic3(class System.Func`2&lt;class System.Func`2&lt;string, object&gt;, class System.Func`2&lt;object, string&gt;&gt; value) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Func&lt;System.Func&lt;System.String,System.Object&gt;,System.Func&lt;System.Object,System.String&gt;&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Func&lt;System.Func&lt;System.String,System.Object&gt;,System.Func&lt;System.Object,System.String&gt;&gt;" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DynamicE1">
+ <MemberSignature Language="C#" Value="public event Func&lt;dynamic&gt; DynamicE1;" />
+ <MemberSignature Language="ILAsm" Value=".event class System.Func`1&lt;object&gt; DynamicE1" />
+ <MemberType>Event</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Obsolete("why not")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>System.Func&lt;System.Object&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DynamicE2">
+ <MemberSignature Language="C#" Value="public event Func&lt;dynamic&gt; DynamicE2;" />
+ <MemberSignature Language="ILAsm" Value=".event class System.Func`1&lt;object&gt; DynamicE2" />
+ <MemberType>Event</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Func&lt;System.Object&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DynamicF">
+ <MemberSignature Language="C#" Value="public Func&lt;Func&lt;string,dynamic,string&gt;,Func&lt;dynamic,Func&lt;dynamic&gt;,string&gt;&gt; DynamicF;" />
+ <MemberSignature Language="ILAsm" Value=".field public class System.Func`2&lt;class System.Func`3&lt;string, object, string&gt;, class System.Func`3&lt;object, class System.Func`1&lt;object&gt;, string&gt;&gt; DynamicF" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Func&lt;System.Func&lt;System.String,System.Object,System.String&gt;,System.Func&lt;System.Object,System.Func&lt;System.Object&gt;,System.String&gt;&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DynamicP">
+ <MemberSignature Language="C#" Value="public Func&lt;Func&lt;string,dynamic,string&gt;,Func&lt;dynamic,Func&lt;dynamic&gt;,string&gt;&gt; DynamicP { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance class System.Func`2&lt;class System.Func`3&lt;string, object, string&gt;, class System.Func`3&lt;object, class System.Func`1&lt;object&gt;, string&gt;&gt; DynamicP" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Func&lt;System.Func&lt;System.String,System.Object,System.String&gt;,System.Func&lt;System.Object,System.Func&lt;System.Object&gt;,System.String&gt;&gt;</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Height">
+ <MemberSignature Language="C#" Value="protected long Height { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int64 Height" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("Height property")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>System.Int64</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public int this[int i] { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int32 Item(int32)" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("Item property")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>set: Mono.DocTest.Doc("Item property set accessor")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public int this[string s, int i] { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int32 Item(string, int32)" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="s" Type="System.String" />
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="s">To be added.</param>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M0">
+ <MemberSignature Language="C#" Value="public static void M0 ();" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void M0() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" static void M0();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M1">
+ <MemberSignature Language="C#" Value="public void M1 (char c, out float f, ref Mono.DocTest.DocValueType v);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M1(char c, [out] float32&amp; f, valuetype Mono.DocTest.DocValueType&amp; v) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void M1(char c, [Runtime::InteropServices::Out] float &amp; f, Mono::DocTest::DocValueType &amp; v);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("normal DocAttribute", Field=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("return:DocAttribute", Property=typeof(Mono.DocTest.Widget))</AttributeName>
+ </Attribute>
+ </Attributes>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="c" Type="System.Char">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("c", FlagsEnum=System.ConsoleModifiers.Alt | System.ConsoleModifiers.Control)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Parameter>
+ <Parameter Name="f" Type="System.Single&amp;" RefType="out">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("f", NonFlagsEnum=Mono.DocTest.Color.Red)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Parameter>
+ <Parameter Name="v" Type="Mono.DocTest.DocValueType&amp;" RefType="ref">
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("v")</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Parameter>
+ </Parameters>
+ <Docs>
+ <param name="c">To be added.</param>
+ <param name="f">To be added.</param>
+ <param name="v">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M2">
+ <MemberSignature Language="C#" Value="public void M2 (short[] x1, int[,] x2, long[][] x3);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M2(int16[] x1, int32[,] x2, int64[][] x3) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void M2(std::Array &lt;short&gt; const &amp; x1, std::Array &lt;int, 2&gt; const &amp; x2, std::Array &lt;std::Array &lt;long&gt; const &amp;&gt; const &amp; x3);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="x1" Type="System.Int16[]" />
+ <Parameter Name="x2" Type="System.Int32[,]" />
+ <Parameter Name="x3" Type="System.Int64[][]" />
+ </Parameters>
+ <Docs>
+ <param name="x1">To be added.</param>
+ <param name="x2">To be added.</param>
+ <param name="x3">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M3">
+ <MemberSignature Language="C#" Value="protected void M3 (long[][] x3, Mono.DocTest.Widget[,,][] x4);" />
+ <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void M3(int64[][] x3, class Mono.DocTest.Widget[,,][] x4) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void M3(std::Array &lt;std::Array &lt;long&gt; const &amp;&gt; const &amp; x3, std::Array &lt;std::Array &lt;Mono::DocTest::Widget const &amp;, 3&gt; const &amp;&gt; const &amp; x4);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="x3" Type="System.Int64[][]" />
+ <Parameter Name="x4" Type="Mono.DocTest.Widget[,,][]" />
+ </Parameters>
+ <Docs>
+ <param name="x3">To be added.</param>
+ <param name="x4">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M4">
+ <MemberSignature Language="C#" Value="protected void M4 (char* pc, Mono.DocTest.Color** ppf);" />
+ <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void M4(char* pc, valuetype Mono.DocTest.Color** ppf) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void M4(char* pc, Mono::DocTest::Color** ppf);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="pc" Type="System.Char*" />
+ <Parameter Name="ppf" Type="Mono.DocTest.Color**" />
+ </Parameters>
+ <Docs>
+ <param name="pc">To be added.</param>
+ <param name="ppf">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M5">
+ <MemberSignature Language="C#" Value="protected void M5 (void* pv, double*[,][] pd);" />
+ <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void M5(void* pv, float64*[,][] pd) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void M5(void* pv, std::Array &lt;std::Array &lt;double*, 2&gt; const &amp;&gt; const &amp; pd);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="pv" Type="System.Void*" />
+ <Parameter Name="pd" Type="System.Double*[,][]" />
+ </Parameters>
+ <Docs>
+ <param name="pv">To be added.</param>
+ <param name="pd">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M6">
+ <MemberSignature Language="C#" Value="protected void M6 (int i, params object[] args);" />
+ <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void M6(int32 i, object[] args) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="i" Type="System.Int32" />
+ <Parameter Name="args" Type="System.Object[]">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.ParamArray</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Parameter>
+ </Parameters>
+ <Docs>
+ <param name="i">To be added.</param>
+ <param name="args">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="M7">
+ <MemberSignature Language="C#" Value="public void M7 (Mono.DocTest.Widget.NestedClass.Double.Triple.Quadruple a);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M7(class Mono.DocTest.Widget/NestedClass/Double/Triple/Quadruple a) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="void M7(Mono::DocTest::Widget::NestedClass::Double::Triple::Quadruple const &amp; a);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="a" Type="Mono.DocTest.Widget+NestedClass+Double+Triple+Quadruple" />
+ </Parameters>
+ <Docs>
+ <param name="a">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="message">
+ <MemberSignature Language="C#" Value="public string message;" />
+ <MemberSignature Language="ILAsm" Value=".field public string message" />
+ <MemberSignature Language="C++ WINRT" Value="std::wstring message;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="monthlyAverage">
+ <MemberSignature Language="C#" Value="protected internal readonly double monthlyAverage;" />
+ <MemberSignature Language="ILAsm" Value=".field familyorassembly initonly float64 monthlyAverage" />
+ <MemberSignature Language="C++ WINRT" Value="initonly double monthlyAverage;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Addition">
+ <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget operator + (Mono.DocTest.Widget x1, Mono.DocTest.Widget x2);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname class Mono.DocTest.Widget op_Addition(class Mono.DocTest.Widget x1, class Mono.DocTest.Widget x2) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" static Mono::DocTest::Widget operator +(Mono::DocTest::Widget const &amp; x1, Mono::DocTest::Widget const &amp; x2);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="x1" Type="Mono.DocTest.Widget" />
+ <Parameter Name="x2" Type="Mono.DocTest.Widget" />
+ </Parameters>
+ <Docs>
+ <param name="x1">To be added.</param>
+ <param name="x2">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Division">
+ <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget op_Division;" />
+ <MemberSignature Language="ILAsm" Value=".field public static class Mono.DocTest.Widget op_Division" />
+ <MemberSignature Language="C++ WINRT" Value="static Mono::DocTest::Widget op_Division;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Explicit">
+ <MemberSignature Language="C#" Value="public static explicit operator int (Mono.DocTest.Widget x);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname int32 op_Explicit(class Mono.DocTest.Widget x) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" static explicit operator int(Mono::DocTest::Widget const &amp; x);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="x" Type="Mono.DocTest.Widget" />
+ </Parameters>
+ <Docs>
+ <param name="x">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Implicit">
+ <MemberSignature Language="C#" Value="public static implicit operator long (Mono.DocTest.Widget x);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname int64 op_Implicit(class Mono.DocTest.Widget x) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" static operator long(Mono::DocTest::Widget const &amp; x);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int64</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="x" Type="Mono.DocTest.Widget" />
+ </Parameters>
+ <Docs>
+ <param name="x">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_UnaryPlus">
+ <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget operator + (Mono.DocTest.Widget x);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname class Mono.DocTest.Widget op_UnaryPlus(class Mono.DocTest.Widget x) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" static Mono::DocTest::Widget operator +(Mono::DocTest::Widget const &amp; x);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.DocTest.Widget</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="x" Type="Mono.DocTest.Widget" />
+ </Parameters>
+ <Docs>
+ <param name="x">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="pCount">
+ <MemberSignature Language="C#" Value="public int* pCount;" />
+ <MemberSignature Language="ILAsm" Value=".field public int32* pCount" />
+ <MemberSignature Language="C++ WINRT" Value="int* pCount;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32*</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PI">
+ <MemberSignature Language="C#" Value="protected internal const double PI = 3.14159;" />
+ <MemberSignature Language="ILAsm" Value=".field familyorassembly static literal float64 PI = (3.14159)" />
+ <MemberSignature Language="C++ WINRT" Value="double PI = 3.14159;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <MemberValue>3.14159</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ppValues">
+ <MemberSignature Language="C#" Value="public float** ppValues;" />
+ <MemberSignature Language="ILAsm" Value=".field public float32** ppValues" />
+ <MemberSignature Language="C++ WINRT" Value="float** ppValues;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Single**</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Width">
+ <MemberSignature Language="C#" Value="public int Width { get; protected set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int32 Width" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.DocTest.Doc("Width property")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>get: Mono.DocTest.Doc("Width get accessor")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>set: Mono.DocTest.Doc("Width set accessor")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="X">
+ <MemberSignature Language="C#" Value="protected internal short X { set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int16 X" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Y">
+ <MemberSignature Language="C#" Value="protected internal double Y { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance float64 Y" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/NoNamespace.xml b/mdoc/Test/en.expected-cppwinrt2/NoNamespace.xml
new file mode 100644
index 00000000..0fb65919
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/NoNamespace.xml
@@ -0,0 +1,33 @@
+<Type Name="NoNamespace" FullName="NoNamespace">
+ <TypeSignature Language="C#" Value="public class NoNamespace" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit NoNamespace extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="[Windows::Foundation::Metadata::WebHostHidden]&#xA;class NoNamespace" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public NoNamespace ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" NoNamespace();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/System/Action`1.xml b/mdoc/Test/en.expected-cppwinrt2/System/Action`1.xml
new file mode 100644
index 00000000..7560590f
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/System/Action`1.xml
@@ -0,0 +1,26 @@
+<Type Name="Action&lt;T&gt;" FullName="System.Action&lt;T&gt;">
+ <TypeSignature Language="C#" Value="public delegate void Action&lt;T&gt;(T obj);" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed Action`1&lt;T&gt; extends System.MulticastDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Parameters>
+ <Parameter Name="obj" Type="T" />
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="obj">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/System/Array.xml b/mdoc/Test/en.expected-cppwinrt2/System/Array.xml
new file mode 100644
index 00000000..587c67c9
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/System/Array.xml
@@ -0,0 +1,110 @@
+<Type Name="Array" FullName="System.Array">
+ <TypeSignature Language="C#" Value="public class Array" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Array extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Array ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+ <MemberSignature Language="C++ WINRT" Value=" Array();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AsReadOnly&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt; AsReadOnly&lt;T&gt; (T[] array);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.ObjectModel.ReadOnlyCollection`1&lt;!!T&gt; AsReadOnly&lt;T&gt;(!!T[] array) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt;</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="array" Type="T[]" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="array">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ConvertAll&lt;TInput,TOutput&gt;">
+ <MemberSignature Language="C#" Value="public static TOutput[] ConvertAll&lt;TInput,TOutput&gt; (TInput[] array, Converter&lt;TInput,TOutput&gt; converter);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig !!TOutput[] ConvertAll&lt;TInput, TOutput&gt;(!!TInput[] array, class System.Converter`2&lt;!!TInput, !!TOutput&gt; converter) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>TOutput[]</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="TInput" />
+ <TypeParameter Name="TOutput" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="array" Type="TInput[]" />
+ <Parameter Name="converter" Type="System.Converter&lt;TInput,TOutput&gt;" />
+ </Parameters>
+ <Docs>
+ <typeparam name="TInput">To be added.</typeparam>
+ <typeparam name="TOutput">To be added.</typeparam>
+ <param name="array">To be added.</param>
+ <param name="converter">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resize&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static void Resize&lt;T&gt; (ref T[] array, int newSize);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Resize&lt;T&gt;(!!T[]&amp; array, int32 newSize) cil managed" />
+ <MemberSignature Language="C++ WINRT" Value="template &lt;typename T&gt;&#xA; static void Resize(std::Array &lt;T&gt; const &amp; &amp; array, int newSize);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="array" Type="T[]&amp;" RefType="ref" />
+ <Parameter Name="newSize" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="array">To be added.</param>
+ <param name="newSize">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/System/AsyncCallback.xml b/mdoc/Test/en.expected-cppwinrt2/System/AsyncCallback.xml
new file mode 100644
index 00000000..deb06e91
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/System/AsyncCallback.xml
@@ -0,0 +1,22 @@
+<Type Name="AsyncCallback" FullName="System.AsyncCallback">
+ <TypeSignature Language="C#" Value="public delegate void AsyncCallback(IAsyncResult ar);" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed AsyncCallback extends System.MulticastDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Parameters>
+ <Parameter Name="ar" Type="System.IAsyncResult" />
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <param name="ar">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/System/Environment+SpecialFolder.xml b/mdoc/Test/en.expected-cppwinrt2/System/Environment+SpecialFolder.xml
new file mode 100644
index 00000000..6e6a9408
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/System/Environment+SpecialFolder.xml
@@ -0,0 +1,16 @@
+<Type Name="Environment+SpecialFolder" FullName="System.Environment+SpecialFolder">
+ <TypeSignature Language="C#" Value="public enum Environment.SpecialFolder" />
+ <TypeSignature Language="ILAsm" Value=".class nested public auto ansi sealed Environment/SpecialFolder extends System.Enum" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members />
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/System/Environment.xml b/mdoc/Test/en.expected-cppwinrt2/System/Environment.xml
new file mode 100644
index 00000000..a3508bbf
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/System/Environment.xml
@@ -0,0 +1,70 @@
+<Type Name="Environment" FullName="System.Environment">
+ <TypeSignature Language="C#" Value="public static class Environment" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit Environment extends System.Object" />
+ <AssemblyInfo>
+ <AssemblyName>DocTest</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="GetFolderPath">
+ <MemberSignature Language="C#" Value="public static string GetFolderPath (Environment.SpecialFolder folder);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig string GetFolderPath(valuetype System.Environment/SpecialFolder folder) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="folder" Type="System.Environment+SpecialFolder" />
+ </Parameters>
+ <Docs>
+ <param name="folder">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsAligned&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static bool IsAligned&lt;T&gt; (this T[] vect, int index) where T : struct;" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsAligned&lt;struct .ctor (class System.ValueType) T&gt;(!!T[] vect, int32 index) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T">
+ <Constraints>
+ <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute>
+ <ParameterAttribute>NotNullableValueTypeConstraint</ParameterAttribute>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="vect" Type="T[]" RefType="this" />
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="vect">To be added.</param>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/en.expected-cppwinrt2/index.xml b/mdoc/Test/en.expected-cppwinrt2/index.xml
new file mode 100644
index 00000000..8deff9a6
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/index.xml
@@ -0,0 +1,222 @@
+<Overview>
+ <Assemblies>
+ <Assembly Name="DocTest" Version="0.0.0.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ </Assemblies>
+ <Remarks>To be added.</Remarks>
+ <Copyright>To be added.</Copyright>
+ <Types>
+ <Namespace Name="">
+ <Type Name="NoNamespace" Kind="Class" />
+ </Namespace>
+ <Namespace Name="Mono.DocTest">
+ <Type Name="Color" Kind="Enumeration" />
+ <Type Name="D" Kind="Delegate" />
+ <Type Name="DocAttribute" Kind="Class" />
+ <Type Name="DocValueType" Kind="Structure" />
+ <Type Name="IProcess" Kind="Interface" />
+ <Type Name="UseLists" Kind="Class" />
+ <Type Name="Widget" Kind="Class" />
+ <Type Name="Widget+Del" Kind="Delegate" />
+ <Type Name="Widget+Direction" Kind="Enumeration" />
+ <Type Name="Widget+IMenuItem" Kind="Interface" />
+ <Type Name="Widget+NestedClass" Kind="Class" />
+ <Type Name="Widget+NestedClass`1" DisplayName="Widget+NestedClass&lt;T&gt;" Kind="Class" />
+ <Type Name="Widget+NestedClass+Double" Kind="Class" />
+ <Type Name="Widget+NestedClass+Double+Triple" Kind="Class" />
+ <Type Name="Widget+NestedClass+Double+Triple+Quadruple" Kind="Class" />
+ </Namespace>
+ <Namespace Name="Mono.DocTest.Generic">
+ <Type Name="Extensions" Kind="Class" />
+ <Type Name="Func`2" DisplayName="Func&lt;TArg,TRet&gt;" Kind="Delegate" />
+ <Type Name="GenericBase`1" DisplayName="GenericBase&lt;U&gt;" Kind="Class" />
+ <Type Name="GenericBase`1+FooEventArgs" DisplayName="GenericBase&lt;U&gt;+FooEventArgs" Kind="Class" />
+ <Type Name="GenericBase`1+NestedCollection" DisplayName="GenericBase&lt;U&gt;+NestedCollection" Kind="Class" />
+ <Type Name="GenericBase`1+NestedCollection+Enumerator" DisplayName="GenericBase&lt;U&gt;+NestedCollection+Enumerator" Kind="Structure" />
+ <Type Name="IFoo`1" DisplayName="IFoo&lt;T&gt;" Kind="Interface" />
+ <Type Name="MyList`1" DisplayName="MyList&lt;T&gt;" Kind="Class" />
+ <Type Name="MyList`1+Helper`2" DisplayName="MyList&lt;T&gt;+Helper&lt;U,V&gt;" Kind="Class" />
+ <Type Name="MyList`2" DisplayName="MyList&lt;A,B&gt;" Kind="Class" />
+ </Namespace>
+ <Namespace Name="System">
+ <Type Name="Action`1" DisplayName="Action&lt;T&gt;" Kind="Delegate" />
+ <Type Name="Array" Kind="Class" />
+ <Type Name="AsyncCallback" Kind="Delegate" />
+ <Type Name="Environment" Kind="Class" />
+ <Type Name="Environment+SpecialFolder" Kind="Enumeration" />
+ </Namespace>
+ </Types>
+ <Title>DocTest</Title>
+ <ExtensionMethods>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:Mono.DocTest.Generic.IFoo`1" />
+ </Targets>
+ <Member MemberName="Bar&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static void Bar&lt;T&gt; (this Mono.DocTest.Generic.IFoo&lt;T&gt; self, string s);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Bar&lt;T&gt;(class Mono.DocTest.Generic.IFoo`1&lt;!!T&gt; self, string s) cil managed" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="self" Type="Mono.DocTest.Generic.IFoo&lt;T&gt;" RefType="this" />
+ <Parameter Name="s" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="self">To be added.</param>
+ <param name="s">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.Bar``1(Mono.DocTest.Generic.IFoo{``0},System.String)" />
+ </Member>
+ </ExtensionMethod>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:System.Collections.Generic.IEnumerable`1" />
+ </Targets>
+ <Member MemberName="ForEach&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static void ForEach&lt;T&gt; (this System.Collections.Generic.IEnumerable&lt;T&gt; self, Action&lt;T&gt; a);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void ForEach&lt;T&gt;(class System.Collections.Generic.IEnumerable`1&lt;!!T&gt; self, class System.Action`1&lt;!!T&gt; a) cil managed" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="self" Type="System.Collections.Generic.IEnumerable&lt;T&gt;" RefType="this" />
+ <Parameter Name="a" Type="System.Action&lt;T&gt;" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="self">To be added.</param>
+ <param name="a">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})" />
+ </Member>
+ </ExtensionMethod>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:System.Collections.Generic.IEnumerable`1" />
+ </Targets>
+ <Member MemberName="ToDouble">
+ <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable&lt;double&gt; ToDouble (this System.Collections.Generic.IEnumerable&lt;int&gt; list);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1&lt;float64&gt; ToDouble(class System.Collections.Generic.IEnumerable`1&lt;int32&gt; list) cil managed" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerable&lt;System.Double&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="list" Type="System.Collections.Generic.IEnumerable&lt;System.Int32&gt;" RefType="this" />
+ </Parameters>
+ <Docs>
+ <param name="list">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ToDouble(System.Collections.Generic.IEnumerable{System.Int32})" />
+ </Member>
+ </ExtensionMethod>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:Mono.DocTest.Generic.IFoo`1" />
+ </Targets>
+ <Member MemberName="ToDouble&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static double ToDouble&lt;T&gt; (this T val) where T : Mono.DocTest.Generic.IFoo&lt;T&gt;;" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig float64 ToDouble&lt;(class Mono.DocTest.Generic.IFoo`1&lt;!!T&gt;) T&gt;(!!T val) cil managed" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Double</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T">
+ <Constraints>
+ <InterfaceName>Mono.DocTest.Generic.IFoo&lt;T&gt;</InterfaceName>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="val" Type="T" RefType="this" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="val">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ToDouble``1(``0)" />
+ </Member>
+ </ExtensionMethod>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="System.Object" />
+ </Targets>
+ <Member MemberName="ToEnumerable&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable&lt;T&gt; ToEnumerable&lt;T&gt; (this T self);" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1&lt;!!T&gt; ToEnumerable&lt;T&gt;(!!T self) cil managed" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerable&lt;T&gt;</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T" />
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="self" Type="T" RefType="this" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="self">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ToEnumerable``1(``0)" />
+ </Member>
+ </ExtensionMethod>
+ <ExtensionMethod>
+ <Targets>
+ <Target Type="T:System.Array" />
+ </Targets>
+ <Member MemberName="IsAligned&lt;T&gt;">
+ <MemberSignature Language="C#" Value="public static bool IsAligned&lt;T&gt; (this T[] vect, int index) where T : struct;" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsAligned&lt;struct .ctor (class System.ValueType) T&gt;(!!T[] vect, int32 index) cil managed" />
+ <MemberType>ExtensionMethod</MemberType>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <TypeParameters>
+ <TypeParameter Name="T">
+ <Constraints>
+ <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute>
+ <ParameterAttribute>NotNullableValueTypeConstraint</ParameterAttribute>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Constraints>
+ </TypeParameter>
+ </TypeParameters>
+ <Parameters>
+ <Parameter Name="vect" Type="T[]" RefType="this" />
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <typeparam name="T">To be added.</typeparam>
+ <param name="vect">To be added.</param>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ </Docs>
+ <Link Type="System.Environment" Member="M:System.Environment.IsAligned``1(``0[],System.Int32)" />
+ </Member>
+ </ExtensionMethod>
+ </ExtensionMethods>
+</Overview>
diff --git a/mdoc/Test/en.expected-cppwinrt2/ns-.xml b/mdoc/Test/en.expected-cppwinrt2/ns-.xml
new file mode 100644
index 00000000..36dfeb30
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/ns-.xml
@@ -0,0 +1,6 @@
+<Namespace Name="">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppwinrt2/ns-Mono.DocTest.Generic.xml b/mdoc/Test/en.expected-cppwinrt2/ns-Mono.DocTest.Generic.xml
new file mode 100644
index 00000000..0d3e7924
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/ns-Mono.DocTest.Generic.xml
@@ -0,0 +1,6 @@
+<Namespace Name="Mono.DocTest.Generic">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppwinrt2/ns-Mono.DocTest.xml b/mdoc/Test/en.expected-cppwinrt2/ns-Mono.DocTest.xml
new file mode 100644
index 00000000..96ab3e78
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/ns-Mono.DocTest.xml
@@ -0,0 +1,6 @@
+<Namespace Name="Mono.DocTest">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/en.expected-cppwinrt2/ns-System.xml b/mdoc/Test/en.expected-cppwinrt2/ns-System.xml
new file mode 100644
index 00000000..c9692742
--- /dev/null
+++ b/mdoc/Test/en.expected-cppwinrt2/ns-System.xml
@@ -0,0 +1,6 @@
+<Namespace Name="System">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/Namespace2/Class2.xml b/mdoc/Test/ex.expected-cppwinrtuwp/Namespace2/Class2.xml
new file mode 100644
index 00000000..8980b6b6
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/Namespace2/Class2.xml
@@ -0,0 +1,35 @@
+<Type Name="Class2" FullName="Namespace2.Class2">
+ <TypeSignature Language="C#" Value="public class Class2 : Windows.UI.Xaml.Application" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi Class2 extends Windows.UI.Xaml.Application" />
+ <TypeSignature Language="C++ WINRT" Value="class Class2 : winrt::Windows::UI::Xaml::Application" />
+ <AssemblyInfo>
+ <AssemblyName>UwpTestWinRtComponentCpp</AssemblyName>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Windows.UI.Xaml.Application</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Composable(typeof(Namespace2.__IClass2ProtectedFactory), Windows.Foundation.Metadata.CompositionType.Protected, 1)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Version(1)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.WebHostHidden</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members />
+</Type>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/Namespace2/Class3.xml b/mdoc/Test/ex.expected-cppwinrtuwp/Namespace2/Class3.xml
new file mode 100644
index 00000000..b8d1519f
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/Namespace2/Class3.xml
@@ -0,0 +1,71 @@
+<Type Name="Class3" FullName="Namespace2.Class3">
+ <TypeSignature Language="C#" Value="public sealed class Class3 : Windows.UI.Xaml.Application" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed Class3 extends Windows.UI.Xaml.Application" />
+ <TypeSignature Language="C++ WINRT" Value="class Class3 sealed : winrt::Windows::UI::Xaml::Application" />
+ <AssemblyInfo>
+ <AssemblyName>UwpTestWinRtComponentCpp</AssemblyName>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Windows.UI.Xaml.Application</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Version(1)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.WebHostHidden</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="ArrayOfTypeProperty">
+ <MemberSignature Language="C#" Value="public Type[] ArrayOfTypeProperty { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance class System.Type[] ArrayOfTypeProperty" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:Namespace2.__IClass3PublicNonVirtuals.ArrayOfTypeProperty</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Type[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LongProperty">
+ <MemberSignature Language="C#" Value="public long LongProperty { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance int64 LongProperty" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:Namespace2.__IClass3PublicNonVirtuals.LongProperty</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int64</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/Namespace2/Class4.xml b/mdoc/Test/ex.expected-cppwinrtuwp/Namespace2/Class4.xml
new file mode 100644
index 00000000..9a0ddfe2
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/Namespace2/Class4.xml
@@ -0,0 +1,40 @@
+<Type Name="Class4" FullName="Namespace2.Class4">
+ <TypeSignature Language="C#" Value="public struct Class4" />
+ <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed Class4 extends System.ValueType" />
+ <TypeSignature Language="C++ WINRT" Value="struct Class4" />
+ <AssemblyInfo>
+ <AssemblyName>UwpTestWinRtComponentCpp</AssemblyName>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Version(1)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="StringField">
+ <MemberSignature Language="C#" Value="public string StringField;" />
+ <MemberSignature Language="ILAsm" Value=".field public string StringField" />
+ <MemberSignature Language="C++ WINRT" Value="std::wstring StringField;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/Namespace222/App.xml b/mdoc/Test/ex.expected-cppwinrtuwp/Namespace222/App.xml
new file mode 100644
index 00000000..10c2206e
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/Namespace222/App.xml
@@ -0,0 +1,226 @@
+<Type Name="App" FullName="Namespace222.App">
+ <TypeSignature Language="C#" Value="public sealed class App : Windows.ApplicationModel.Core.IFrameworkView" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed App extends System.Object implements class Windows.ApplicationModel.Core.IFrameworkView" />
+ <TypeSignature Language="C++ WINRT" Value="class App sealed : winrt::Windows::ApplicationModel::Core::IFrameworkView" />
+ <AssemblyInfo>
+ <AssemblyName>UwpTestWinRtComponentCpp</AssemblyName>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Windows.ApplicationModel.Core.IFrameworkView</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Activatable(1)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Version(1)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public App ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() runtime managed" />
+ <MemberSignature Language="C++ WINRT" Value=" App();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Overload("CreateInstance1")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Initialize">
+ <MemberSignature Language="C#" Value="public void Initialize (Windows.ApplicationModel.Core.CoreApplicationView applicationView);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Initialize([in]class Windows.ApplicationModel.Core.CoreApplicationView applicationView) runtime managed" />
+ <MemberSignature Language="C++ WINRT" Value="void Initialize(winrt::Windows::ApplicationModel::Core::CoreApplicationView const &amp; applicationView);" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:Windows.ApplicationModel.Core.IFrameworkView.Initialize(Windows.ApplicationModel.Core.CoreApplicationView)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="applicationView" Type="Windows.ApplicationModel.Core.CoreApplicationView" />
+ </Parameters>
+ <Docs>
+ <param name="applicationView">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Load">
+ <MemberSignature Language="C#" Value="public void Load (string entryPoint);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Load([in]string entryPoint) runtime managed" />
+ <MemberSignature Language="C++ WINRT" Value="void Load(std::wstring const &amp; entryPoint);" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:Windows.ApplicationModel.Core.IFrameworkView.Load(System.String)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="entryPoint" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="entryPoint">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="m_activated">
+ <MemberSignature Language="C#" Value="public Windows.UI.Core.CoreWindow m_activated { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance class Windows.UI.Core.CoreWindow m_activated" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:Namespace222.__IAppPublicNonVirtuals.m_activated</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Windows.UI.Core.CoreWindow</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="m_target">
+ <MemberSignature Language="C#" Value="public Windows.UI.Composition.CompositionTarget m_target { get; set; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance class Windows.UI.Composition.CompositionTarget m_target" />
+ <MemberType>Property</MemberType>
+ <Implements>
+ <InterfaceMember>P:Namespace222.__IAppPublicNonVirtuals.m_target</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Windows.UI.Composition.CompositionTarget</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Run">
+ <MemberSignature Language="C#" Value="public void Run ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Run() runtime managed" />
+ <MemberSignature Language="C++ WINRT" Value="void Run();" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:Windows.ApplicationModel.Core.IFrameworkView.Run</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetWindow">
+ <MemberSignature Language="C#" Value="public void SetWindow (Windows.UI.Core.CoreWindow window);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetWindow([in]class Windows.UI.Core.CoreWindow window) runtime managed" />
+ <MemberSignature Language="C++ WINRT" Value="void SetWindow(winrt::Windows::UI::Core::CoreWindow const &amp; window);" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:Windows.ApplicationModel.Core.IFrameworkView.SetWindow(Windows.UI.Core.CoreWindow)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="window" Type="Windows.UI.Core.CoreWindow" />
+ </Parameters>
+ <Docs>
+ <param name="window">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetWindow1">
+ <MemberSignature Language="C#" Value="public void SetWindow1 (Windows.UI.Core.CoreWindow window);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetWindow1([in]class Windows.UI.Core.CoreWindow window) runtime managed" />
+ <MemberSignature Language="C++ WINRT" Value="void SetWindow1(winrt::Windows::UI::Core::CoreWindow const &amp; window);" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:Namespace222.__IAppPublicNonVirtuals.SetWindow1(Windows.UI.Core.CoreWindow)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="window" Type="Windows.UI.Core.CoreWindow" />
+ </Parameters>
+ <Docs>
+ <param name="window">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Uninitialize">
+ <MemberSignature Language="C#" Value="public void Uninitialize ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Uninitialize() runtime managed" />
+ <MemberSignature Language="C++ WINRT" Value="void Uninitialize();" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:Windows.ApplicationModel.Core.IFrameworkView.Uninitialize</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/Class1.xml b/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/Class1.xml
new file mode 100644
index 00000000..d6bd50be
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/Class1.xml
@@ -0,0 +1,146 @@
+<Type Name="Class1" FullName="UwpTestWinRtComponentCpp.Class1">
+ <TypeSignature Language="C#" Value="public sealed class Class1" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed Class1 extends System.Object" />
+ <TypeSignature Language="C++ WINRT" Value="class Class1 sealed" />
+ <AssemblyInfo>
+ <AssemblyName>UwpTestWinRtComponentCpp</AssemblyName>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Activatable(1)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Version(1)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Class1 ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() runtime managed" />
+ <MemberSignature Language="C++ WINRT" Value=" Class1();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Overload("CreateInstance1")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ComputeResult">
+ <MemberSignature Language="C#" Value="public Windows.Foundation.Collections.IVector&lt;double&gt; ComputeResult (double input);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Windows.Foundation.Collections.IVector`1&lt;float64&gt; ComputeResult([in]float64 input) runtime managed" />
+ <MemberSignature Language="C++ WINRT" Value="winrt::Windows::Foundation::Collections::IVector&lt;double&gt; ComputeResult(double input);" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:UwpTestWinRtComponentCpp.__IClass1PublicNonVirtuals.ComputeResult(System.Double)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Windows.Foundation.Collections.IVector&lt;System.Double&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="input" Type="System.Double" />
+ </Parameters>
+ <Docs>
+ <param name="input">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetPrimesOrdered">
+ <MemberSignature Language="C#" Value="public Windows.Foundation.IAsyncOperationWithProgress&lt;Windows.Foundation.Collections.IVector&lt;int&gt;,double&gt; GetPrimesOrdered (int first, int last);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Windows.Foundation.IAsyncOperationWithProgress`2&lt;class Windows.Foundation.Collections.IVector`1&lt;int32&gt;, float64&gt; GetPrimesOrdered([in]int32 first, [in]int32 last) runtime managed" />
+ <MemberSignature Language="C++ WINRT" Value="winrt::Windows::Foundation::IAsyncOperationWithProgress&lt;Windows::Foundation::Collections::IVector&lt;int&gt;, double&gt; GetPrimesOrdered(int first, int last);" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:UwpTestWinRtComponentCpp.__IClass1PublicNonVirtuals.GetPrimesOrdered(System.Int32,System.Int32)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Windows.Foundation.IAsyncOperationWithProgress&lt;Windows.Foundation.Collections.IVector&lt;System.Int32&gt;,System.Double&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="first" Type="System.Int32" />
+ <Parameter Name="last" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="first">To be added.</param>
+ <param name="last">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetPrimesUnordered">
+ <MemberSignature Language="C#" Value="public Windows.Foundation.IAsyncActionWithProgress&lt;double&gt; GetPrimesUnordered (int first, int last);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Windows.Foundation.IAsyncActionWithProgress`1&lt;float64&gt; GetPrimesUnordered([in]int32 first, [in]int32 last) runtime managed" />
+ <MemberSignature Language="C++ WINRT" Value="winrt::Windows::Foundation::IAsyncActionWithProgress&lt;double&gt; GetPrimesUnordered(int first, int last);" />
+ <MemberType>Method</MemberType>
+ <Implements>
+ <InterfaceMember>M:UwpTestWinRtComponentCpp.__IClass1PublicNonVirtuals.GetPrimesUnordered(System.Int32,System.Int32)</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Windows.Foundation.IAsyncActionWithProgress&lt;System.Double&gt;</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="first" Type="System.Int32" />
+ <Parameter Name="last" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="first">To be added.</param>
+ <param name="last">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="primeFoundEvent">
+ <MemberSignature Language="C#" Value="public event UwpTestWinRtComponentCpp.PrimeFoundHandler primeFoundEvent;" />
+ <MemberSignature Language="ILAsm" Value=".event class UwpTestWinRtComponentCpp.PrimeFoundHandler primeFoundEvent" />
+ <MemberType>Event</MemberType>
+ <Implements>
+ <InterfaceMember>E:UwpTestWinRtComponentCpp.__IClass1PublicNonVirtuals.primeFoundEvent</InterfaceMember>
+ </Implements>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>UwpTestWinRtComponentCpp.PrimeFoundHandler</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/Color1.xml b/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/Color1.xml
new file mode 100644
index 00000000..bf46d806
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/Color1.xml
@@ -0,0 +1,55 @@
+<Type Name="Color1" FullName="UwpTestWinRtComponentCpp.Color1">
+ <TypeSignature Language="C#" Value="public enum Color1" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed Color1 extends System.Enum" />
+ <TypeSignature Language="C++ WINRT" Value="enum Color1" />
+ <AssemblyInfo>
+ <AssemblyName>UwpTestWinRtComponentCpp</AssemblyName>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Version(1)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Blue">
+ <MemberSignature Language="C#" Value="Blue" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype UwpTestWinRtComponentCpp.Color1 Blue = int32(1)" />
+ <MemberSignature Language="C++ WINRT" Value="Blue" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>UwpTestWinRtComponentCpp.Color1</ReturnType>
+ </ReturnValue>
+ <MemberValue>1</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Red">
+ <MemberSignature Language="C#" Value="Red" />
+ <MemberSignature Language="ILAsm" Value=".field public static literal valuetype UwpTestWinRtComponentCpp.Color1 Red = int32(0)" />
+ <MemberSignature Language="C++ WINRT" Value="Red" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>UwpTestWinRtComponentCpp.Color1</ReturnType>
+ </ReturnValue>
+ <MemberValue>0</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/CustomAttribute1.xml b/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/CustomAttribute1.xml
new file mode 100644
index 00000000..3d5326a3
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/CustomAttribute1.xml
@@ -0,0 +1,74 @@
+<Type Name="CustomAttribute1" FullName="UwpTestWinRtComponentCpp.CustomAttribute1">
+ <TypeSignature Language="C#" Value="public sealed class CustomAttribute1 : Attribute" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed CustomAttribute1 extends System.Attribute" />
+ <AssemblyInfo>
+ <AssemblyName>UwpTestWinRtComponentCpp</AssemblyName>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Attribute</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Version(1)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public CustomAttribute1 ();" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() runtime managed" />
+ <MemberSignature Language="C++ WINRT" Value=" CustomAttribute1();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Overload("CreateInstance1")</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Field1">
+ <MemberSignature Language="C#" Value="public bool Field1;" />
+ <MemberSignature Language="ILAsm" Value=".field public bool Field1" />
+ <MemberSignature Language="C++ WINRT" Value="bool Field1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Field2">
+ <MemberSignature Language="C#" Value="public Windows.Foundation.HResult Field2;" />
+ <MemberSignature Language="ILAsm" Value=".field public valuetype Windows.Foundation.HResult Field2" />
+ <MemberSignature Language="C++ WINRT" Value="winrt::Windows::Foundation::HResult Field2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Windows.Foundation.HResult</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/PrimeFoundHandler.xml b/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/PrimeFoundHandler.xml
new file mode 100644
index 00000000..2e4c00ac
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/PrimeFoundHandler.xml
@@ -0,0 +1,30 @@
+<Type Name="PrimeFoundHandler" FullName="UwpTestWinRtComponentCpp.PrimeFoundHandler">
+ <TypeSignature Language="C#" Value="public delegate void PrimeFoundHandler(int result);" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed PrimeFoundHandler extends System.MulticastDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>UwpTestWinRtComponentCpp</AssemblyName>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Guid(1538629431, 28309, 13279, 150, 105, 205, 62, 250, 110, 149, 1)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Version(1)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Parameters>
+ <Parameter Name="result" Type="System.Int32" />
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <param name="result">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/PrimeFoundHandlerWithSpecificType.xml b/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/PrimeFoundHandlerWithSpecificType.xml
new file mode 100644
index 00000000..310f46d1
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/PrimeFoundHandlerWithSpecificType.xml
@@ -0,0 +1,30 @@
+<Type Name="PrimeFoundHandlerWithSpecificType" FullName="UwpTestWinRtComponentCpp.PrimeFoundHandlerWithSpecificType">
+ <TypeSignature Language="C#" Value="public delegate void PrimeFoundHandlerWithSpecificType(IMap&lt;double,float&gt; result);" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed PrimeFoundHandlerWithSpecificType extends System.MulticastDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>UwpTestWinRtComponentCpp</AssemblyName>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Guid(603281085, 10445, 12788, 160, 94, 209, 35, 22, 179, 109, 110)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Version(1)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Parameters>
+ <Parameter Name="result" Type="Windows.Foundation.Collections.IMap&lt;System.Double,System.Single&gt;" />
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <param name="result">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/SomethingHappenedEventHandler.xml b/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/SomethingHappenedEventHandler.xml
new file mode 100644
index 00000000..3f01111a
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/UwpTestWinRtComponentCpp/SomethingHappenedEventHandler.xml
@@ -0,0 +1,32 @@
+<Type Name="SomethingHappenedEventHandler" FullName="UwpTestWinRtComponentCpp.SomethingHappenedEventHandler">
+ <TypeSignature Language="C#" Value="public delegate void SomethingHappenedEventHandler(Class1 sender, string s);" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed SomethingHappenedEventHandler extends System.MulticastDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>UwpTestWinRtComponentCpp</AssemblyName>
+ <AssemblyVersion>255.255.255.255</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Delegate</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Guid(2298425249, 32140, 14992, 141, 140, 226, 207, 230, 43, 42, 170)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>Windows.Foundation.Metadata.Version(1)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Parameters>
+ <Parameter Name="sender" Type="UwpTestWinRtComponentCpp.Class1" />
+ <Parameter Name="s" Type="System.String" />
+ </Parameters>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <param name="sender">To be added.</param>
+ <param name="s">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Type>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/index.xml b/mdoc/Test/ex.expected-cppwinrtuwp/index.xml
new file mode 100644
index 00000000..e170436e
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/index.xml
@@ -0,0 +1,26 @@
+<Overview>
+ <Assemblies>
+ <Assembly Name="UwpTestWinRtComponentCpp" Version="255.255.255.255" />
+ </Assemblies>
+ <Remarks>To be added.</Remarks>
+ <Copyright>To be added.</Copyright>
+ <Types>
+ <Namespace Name="Namespace2">
+ <Type Name="Class2" Kind="Class" />
+ <Type Name="Class3" Kind="Class" />
+ <Type Name="Class4" Kind="Structure" />
+ </Namespace>
+ <Namespace Name="Namespace222">
+ <Type Name="App" Kind="Class" />
+ </Namespace>
+ <Namespace Name="UwpTestWinRtComponentCpp">
+ <Type Name="Class1" Kind="Class" />
+ <Type Name="Color1" Kind="Enumeration" />
+ <Type Name="CustomAttribute1" Kind="Class" />
+ <Type Name="PrimeFoundHandler" Kind="Delegate" />
+ <Type Name="PrimeFoundHandlerWithSpecificType" Kind="Delegate" />
+ <Type Name="SomethingHappenedEventHandler" Kind="Delegate" />
+ </Namespace>
+ </Types>
+ <Title>UwpTestWinRtComponentCpp</Title>
+</Overview>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/ns-Namespace2.xml b/mdoc/Test/ex.expected-cppwinrtuwp/ns-Namespace2.xml
new file mode 100644
index 00000000..9078f3ef
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/ns-Namespace2.xml
@@ -0,0 +1,6 @@
+<Namespace Name="Namespace2">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/ns-Namespace222.xml b/mdoc/Test/ex.expected-cppwinrtuwp/ns-Namespace222.xml
new file mode 100644
index 00000000..f80f6d94
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/ns-Namespace222.xml
@@ -0,0 +1,6 @@
+<Namespace Name="Namespace222">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
diff --git a/mdoc/Test/ex.expected-cppwinrtuwp/ns-UwpTestWinRtComponentCpp.xml b/mdoc/Test/ex.expected-cppwinrtuwp/ns-UwpTestWinRtComponentCpp.xml
new file mode 100644
index 00000000..ee65eaef
--- /dev/null
+++ b/mdoc/Test/ex.expected-cppwinrtuwp/ns-UwpTestWinRtComponentCpp.xml
@@ -0,0 +1,6 @@
+<Namespace Name="UwpTestWinRtComponentCpp">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>