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
diff options
context:
space:
mode:
authorJoel Martinez <joelmartinez@gmail.com>2017-09-26 00:02:38 +0300
committerJoel Martinez <joelmartinez@gmail.com>2017-09-26 17:07:35 +0300
commitf51d2af552e63de7d72555a5c61d9c2a28b7faa0 (patch)
treef1216de7785a096e833d1e05b2c2f0df3a74658c /mdoc
parentff03c7b41d441ebd7a5a73e5d02c8ca5c5590218 (diff)
mdoc: IL signatures now reflect ref, in, and out modifiers.
Closes #118
Diffstat (limited to 'mdoc')
-rw-r--r--mdoc/Consts.cs2
-rw-r--r--mdoc/Makefile25
-rw-r--r--mdoc/Mono.Documentation/monodocer.cs10
-rw-r--r--mdoc/Test/en.expected-fx-import/Mono.DocTest.Generic/MyList`1.xml2
-rw-r--r--mdoc/Test/en.expected-fx-import/Mono.DocTest/Widget.xml2
-rw-r--r--mdoc/Test/en.expected-fx-import/System/Array.xml2
-rw-r--r--mdoc/Test/en.expected-operators/mdoc.Test.SampleClasses/TestClass.xml21
-rw-r--r--mdoc/Test/en.expected.delete/Mono.DocTest.Generic/MyList`1.xml2
-rw-r--r--mdoc/Test/en.expected.delete/Mono.DocTest/Widget.xml2
-rw-r--r--mdoc/Test/en.expected.delete/System/Array.xml2
-rw-r--r--mdoc/Test/en.expected.importecmadoc/System/Array.xml2
-rw-r--r--mdoc/Test/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml2
-rw-r--r--mdoc/Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml2
-rw-r--r--mdoc/Test/en.expected.importslashdoc/System/Array.xml2
-rw-r--r--mdoc/Test/en.expected.since/Mono.DocTest.Generic/MyList`1.xml2
-rw-r--r--mdoc/Test/en.expected.since/Mono.DocTest/Widget.xml2
-rw-r--r--mdoc/Test/en.expected.since/System/Array.xml2
-rw-r--r--mdoc/Test/en.expected/Mono.DocTest.Generic/MyList`1.xml2
-rw-r--r--mdoc/Test/en.expected/Mono.DocTest/Widget.xml2
-rw-r--r--mdoc/Test/en.expected/System/Array.xml2
-rw-r--r--mdoc/mdoc.Test/FormatterTests.cs8
-rw-r--r--mdoc/mdoc.Test/SampleClasses/TestClass.cs1
22 files changed, 75 insertions, 24 deletions
diff --git a/mdoc/Consts.cs b/mdoc/Consts.cs
index 43f87e32..666e14ee 100644
--- a/mdoc/Consts.cs
+++ b/mdoc/Consts.cs
@@ -3,6 +3,6 @@ namespace Mono.Documentation
{
public static class Consts
{
- public static string MonoVersion = "5.0.0.24";
+ public static string MonoVersion = "5.0.0.25";
}
}
diff --git a/mdoc/Makefile b/mdoc/Makefile
index 0ac26278..5bb56f29 100644
--- a/mdoc/Makefile
+++ b/mdoc/Makefile
@@ -360,8 +360,8 @@ check-monodocer-importecmadoc:
-o Test/en.actual Test/DocTest.dll
$(DIFF) Test/en.expected.importecmadoc Test/en.actual
-.PHONY: check-monodocer-import-fx
-check-monodocer-import-fx: Test/DocTest.dll-v1 Test/DocTest-DropNS-classic-secondary.dll Test/DocTest-DropNS-classic.dll
+.PHONY: check-monodocer-import-fx-work
+check-monodocer-import-fx-work: Test/DocTest.dll-v1 Test/DocTest-DropNS-classic-secondary.dll Test/DocTest-DropNS-classic.dll
rm -Rf Test/en.actual
rm -Rf Test/fx-import
mkdir Test/fx-import
@@ -375,21 +375,36 @@ check-monodocer-import-fx: Test/DocTest.dll-v1 Test/DocTest-DropNS-classic-secon
cp Test/DocTest.xml Test/fx-import/TestEcmaDocs.xml
cp Test/CLILibraryTypes.dtd Test/fx-import/
cp Test/fx-import-configuration.xml Test/fx-import/frameworks.xml
- #$(MONO) $(PROGRAM) fx-bootstrap Test/fx-import
$(MONO) $(PROGRAM) update -o Test/en.actual -frameworks Test/fx-import
+
+.PHONY: check-monodocer-import-fx
+check-monodocer-import-fx: check-monodocer-import-fx-work
$(DIFF) Test/en.expected-fx-import Test/en.actual
+.PHONY: check-monodocer-import-fx-update
+check-monodocer-import-fx-update: check-monodocer-import-fx-work
+ rm -Rf Test/en.expected-fx-import
+ mv Test/en.actual Test/en.expected-fx-import
+
Test/TestClass.dll:
$(CSCOMPILE) $(TEST_CSCFLAGS) -unsafe -debug -optimize -target:library -out:$@ mdoc.Test/SampleClasses/Test*.cs
-.PHONY: check-monodocer-operators
-check-monodocer-operators: Test/TestClass.dll
+.PHONY: check-monodocer-operators-work
+check-monodocer-operators-work: Test/TestClass.dll
rm -Rf Test/en.actual
$(MONO) $(PROGRAM) update Test/TestClass.dll -o Test/en.actual
cp mdoc.Test/SampleClasses/TestClass-OldOpSig.xml Test/en.actual/mdoc.Test.SampleClasses/TestClass.xml
$(MONO) $(PROGRAM) update Test/TestClass.dll -o Test/en.actual
+
+.PHONY: check-monodocer-operators
+check-monodocer-operators: check-monodocer-operators-work
$(DIFF) Test/en.expected-operators Test/en.actual
+.PHONY: check-monodocer-operators-update
+check-monodocer-operators-update: check-monodocer-operators-work
+ rm -Rf Test/en.expected-operators
+ mv Test/en.actual Test/en.expected-operators
+
check-mdoc-export-html-update:
find Test/html.expected -name \*.html -exec rm "{}" \;
$(MONO) $(PROGRAM) export-html -o Test/html.expected \
diff --git a/mdoc/Mono.Documentation/monodocer.cs b/mdoc/Mono.Documentation/monodocer.cs
index 7c6e800e..b7c8520f 100644
--- a/mdoc/Mono.Documentation/monodocer.cs
+++ b/mdoc/Mono.Documentation/monodocer.cs
@@ -5054,12 +5054,18 @@ public class ILFullMemberFormatter : MemberFormatter {
buf.Append ('(');
bool first = true;
for (int i = 0; i < method.Parameters.Count; ++i) {
+ var param = method.Parameters[i];
if (!first)
buf.Append (", ");
first = false;
- _AppendTypeName (buf, method.Parameters [i].ParameterType, new DynamicParserContext (method.Parameters [i]));
+
+ if (param.IsOut) buf.Append ("[out] ");
+ else if (param.IsIn) buf.Append ("[in]");
+
+ _AppendTypeName (buf, param.ParameterType, new DynamicParserContext (param));
+ if (param.ParameterType.IsByReference) buf.Append ("&");
buf.Append (' ');
- buf.Append (method.Parameters [i].Name);
+ buf.Append (param.Name);
}
buf.Append (')');
if (method.IsIL)
diff --git a/mdoc/Test/en.expected-fx-import/Mono.DocTest.Generic/MyList`1.xml b/mdoc/Test/en.expected-fx-import/Mono.DocTest.Generic/MyList`1.xml
index 2f0b9d44..57096b5a 100644
--- a/mdoc/Test/en.expected-fx-import/Mono.DocTest.Generic/MyList`1.xml
+++ b/mdoc/Test/en.expected-fx-import/Mono.DocTest.Generic/MyList`1.xml
@@ -120,7 +120,7 @@
</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 t, !!U u) cil managed" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RefMethod&lt;U&gt;(!T&amp; t, !!U&amp; u) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>DocTest</AssemblyName>
diff --git a/mdoc/Test/en.expected-fx-import/Mono.DocTest/Widget.xml b/mdoc/Test/en.expected-fx-import/Mono.DocTest/Widget.xml
index 3fabedad..999b01ae 100644
--- a/mdoc/Test/en.expected-fx-import/Mono.DocTest/Widget.xml
+++ b/mdoc/Test/en.expected-fx-import/Mono.DocTest/Widget.xml
@@ -510,7 +510,7 @@
</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, float32 f, valuetype Mono.DocTest.DocValueType v) cil managed" />
+ <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>
<AssemblyName>DocTest</AssemblyName>
diff --git a/mdoc/Test/en.expected-fx-import/System/Array.xml b/mdoc/Test/en.expected-fx-import/System/Array.xml
index e3510ab0..ab04cd84 100644
--- a/mdoc/Test/en.expected-fx-import/System/Array.xml
+++ b/mdoc/Test/en.expected-fx-import/System/Array.xml
@@ -84,7 +84,7 @@
</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[] array, int32 newSize) cil managed" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Resize&lt;T&gt;(!!T[]&amp; array, int32 newSize) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>DocTest</AssemblyName>
diff --git a/mdoc/Test/en.expected-operators/mdoc.Test.SampleClasses/TestClass.xml b/mdoc/Test/en.expected-operators/mdoc.Test.SampleClasses/TestClass.xml
index 58d53f12..c7e71d02 100644
--- a/mdoc/Test/en.expected-operators/mdoc.Test.SampleClasses/TestClass.xml
+++ b/mdoc/Test/en.expected-operators/mdoc.Test.SampleClasses/TestClass.xml
@@ -644,5 +644,26 @@
<remarks>To be added.</remarks>
</Docs>
</Member>
+ <Member MemberName="RefAndOut">
+ <MemberSignature Language="C#" Value="public void RefAndOut (ref int a, out int b);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RefAndOut(int32&amp; a, [out] int32&amp; 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&amp;" RefType="ref" />
+ <Parameter Name="b" Type="System.Int32&amp;" RefType="out" />
+ </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>
</Members>
</Type>
diff --git a/mdoc/Test/en.expected.delete/Mono.DocTest.Generic/MyList`1.xml b/mdoc/Test/en.expected.delete/Mono.DocTest.Generic/MyList`1.xml
index 548d09c6..148f6f14 100644
--- a/mdoc/Test/en.expected.delete/Mono.DocTest.Generic/MyList`1.xml
+++ b/mdoc/Test/en.expected.delete/Mono.DocTest.Generic/MyList`1.xml
@@ -98,7 +98,7 @@
</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 t, !!U u) cil managed" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RefMethod&lt;U&gt;(!T&amp; t, !!U&amp; u) cil managed" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
diff --git a/mdoc/Test/en.expected.delete/Mono.DocTest/Widget.xml b/mdoc/Test/en.expected.delete/Mono.DocTest/Widget.xml
index e4108a35..4875ed80 100644
--- a/mdoc/Test/en.expected.delete/Mono.DocTest/Widget.xml
+++ b/mdoc/Test/en.expected.delete/Mono.DocTest/Widget.xml
@@ -737,7 +737,7 @@
</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, float32 f, valuetype Mono.DocTest.DocValueType v) cil managed" />
+ <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>
<Attributes>
<Attribute>
diff --git a/mdoc/Test/en.expected.delete/System/Array.xml b/mdoc/Test/en.expected.delete/System/Array.xml
index c38f7249..62486742 100644
--- a/mdoc/Test/en.expected.delete/System/Array.xml
+++ b/mdoc/Test/en.expected.delete/System/Array.xml
@@ -75,7 +75,7 @@
</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[] array, int32 newSize) cil managed" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Resize&lt;T&gt;(!!T[]&amp; array, int32 newSize) cil managed" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
diff --git a/mdoc/Test/en.expected.importecmadoc/System/Array.xml b/mdoc/Test/en.expected.importecmadoc/System/Array.xml
index 91084a09..1f7549a9 100644
--- a/mdoc/Test/en.expected.importecmadoc/System/Array.xml
+++ b/mdoc/Test/en.expected.importecmadoc/System/Array.xml
@@ -177,7 +177,7 @@ and the second dimension indexed by 1, 2, and 3. </para>
</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[] array, int32 newSize) cil managed" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Resize&lt;T&gt;(!!T[]&amp; array, int32 newSize) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
diff --git a/mdoc/Test/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml b/mdoc/Test/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml
index 82b4148e..96e7fb1b 100644
--- a/mdoc/Test/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml
+++ b/mdoc/Test/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml
@@ -116,7 +116,7 @@
</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 t, !!U u) cil managed" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RefMethod&lt;U&gt;(!T&amp; t, !!U&amp; u) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
diff --git a/mdoc/Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml b/mdoc/Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml
index eb481223..7dd0c869 100644
--- a/mdoc/Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml
+++ b/mdoc/Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml
@@ -851,7 +851,7 @@
</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, float32 f, valuetype Mono.DocTest.DocValueType v) cil managed" />
+ <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>
diff --git a/mdoc/Test/en.expected.importslashdoc/System/Array.xml b/mdoc/Test/en.expected.importslashdoc/System/Array.xml
index 1f221eb2..b218507b 100644
--- a/mdoc/Test/en.expected.importslashdoc/System/Array.xml
+++ b/mdoc/Test/en.expected.importslashdoc/System/Array.xml
@@ -85,7 +85,7 @@
</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[] array, int32 newSize) cil managed" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Resize&lt;T&gt;(!!T[]&amp; array, int32 newSize) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
diff --git a/mdoc/Test/en.expected.since/Mono.DocTest.Generic/MyList`1.xml b/mdoc/Test/en.expected.since/Mono.DocTest.Generic/MyList`1.xml
index 50cd32ce..78decebe 100644
--- a/mdoc/Test/en.expected.since/Mono.DocTest.Generic/MyList`1.xml
+++ b/mdoc/Test/en.expected.since/Mono.DocTest.Generic/MyList`1.xml
@@ -116,7 +116,7 @@
</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 t, !!U u) cil managed" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RefMethod&lt;U&gt;(!T&amp; t, !!U&amp; u) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
diff --git a/mdoc/Test/en.expected.since/Mono.DocTest/Widget.xml b/mdoc/Test/en.expected.since/Mono.DocTest/Widget.xml
index c6865957..a70a7e29 100644
--- a/mdoc/Test/en.expected.since/Mono.DocTest/Widget.xml
+++ b/mdoc/Test/en.expected.since/Mono.DocTest/Widget.xml
@@ -831,7 +831,7 @@
</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, float32 f, valuetype Mono.DocTest.DocValueType v) cil managed" />
+ <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>
diff --git a/mdoc/Test/en.expected.since/System/Array.xml b/mdoc/Test/en.expected.since/System/Array.xml
index 77998109..cab9b591 100644
--- a/mdoc/Test/en.expected.since/System/Array.xml
+++ b/mdoc/Test/en.expected.since/System/Array.xml
@@ -89,7 +89,7 @@
</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[] array, int32 newSize) cil managed" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Resize&lt;T&gt;(!!T[]&amp; array, int32 newSize) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
diff --git a/mdoc/Test/en.expected/Mono.DocTest.Generic/MyList`1.xml b/mdoc/Test/en.expected/Mono.DocTest.Generic/MyList`1.xml
index 71d07cfd..d723d126 100644
--- a/mdoc/Test/en.expected/Mono.DocTest.Generic/MyList`1.xml
+++ b/mdoc/Test/en.expected/Mono.DocTest.Generic/MyList`1.xml
@@ -111,7 +111,7 @@
</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 t, !!U u) cil managed" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RefMethod&lt;U&gt;(!T&amp; t, !!U&amp; u) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
diff --git a/mdoc/Test/en.expected/Mono.DocTest/Widget.xml b/mdoc/Test/en.expected/Mono.DocTest/Widget.xml
index 231dc9a0..a61c0f63 100644
--- a/mdoc/Test/en.expected/Mono.DocTest/Widget.xml
+++ b/mdoc/Test/en.expected/Mono.DocTest/Widget.xml
@@ -807,7 +807,7 @@
</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, float32 f, valuetype Mono.DocTest.DocValueType v) cil managed" />
+ <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>
diff --git a/mdoc/Test/en.expected/System/Array.xml b/mdoc/Test/en.expected/System/Array.xml
index 1f221eb2..b218507b 100644
--- a/mdoc/Test/en.expected/System/Array.xml
+++ b/mdoc/Test/en.expected/System/Array.xml
@@ -85,7 +85,7 @@
</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[] array, int32 newSize) cil managed" />
+ <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Resize&lt;T&gt;(!!T[]&amp; array, int32 newSize) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
diff --git a/mdoc/mdoc.Test/FormatterTests.cs b/mdoc/mdoc.Test/FormatterTests.cs
index d29a6e07..799ad138 100644
--- a/mdoc/mdoc.Test/FormatterTests.cs
+++ b/mdoc/mdoc.Test/FormatterTests.cs
@@ -191,6 +191,14 @@ namespace mdoc.Test
var sig = formatter.GetDeclaration (member);
Assert.AreEqual ("public void DoSomethingWithParams (params int[] values);", sig);
}
+ [Test]
+ public void IL_RefAndOut ()
+ {
+ var member = GetMethod<TestClass> (m => m.Name == "RefAndOut");
+ var formatter = new ILFullMemberFormatter ();
+ var sig = formatter.GetDeclaration (member);
+ Assert.AreEqual (".method public hidebysig instance void RefAndOut(int32& a, [out] int32& b) cil managed", sig);
+ }
#region Helper Methods
string RealTypeName(string name){
diff --git a/mdoc/mdoc.Test/SampleClasses/TestClass.cs b/mdoc/mdoc.Test/SampleClasses/TestClass.cs
index 71b25694..44354596 100644
--- a/mdoc/mdoc.Test/SampleClasses/TestClass.cs
+++ b/mdoc/mdoc.Test/SampleClasses/TestClass.cs
@@ -44,5 +44,6 @@ namespace mdoc.Test.SampleClasses
public static explicit operator TestClass (int c1) { return new TestClass (); }
public void DoSomethingWithParams (params int[] values) { }
+ public void RefAndOut (ref int a, out int b) { b = 1; }
}
}