diff options
-rw-r--r-- | Test/Mono.Cecil.Tests/MethodTests.cs | 14 | ||||
-rw-r--r-- | Test/Resources/cs/Generics.cs | 10 |
2 files changed, 24 insertions, 0 deletions
diff --git a/Test/Mono.Cecil.Tests/MethodTests.cs b/Test/Mono.Cecil.Tests/MethodTests.cs index c807464..55fcd23 100644 --- a/Test/Mono.Cecil.Tests/MethodTests.cs +++ b/Test/Mono.Cecil.Tests/MethodTests.cs @@ -155,5 +155,19 @@ namespace Mono.Cecil.Tests { Assert.AreEqual (1, foo_reference.GetSentinelPosition ()); } + + [TestCSharp ("Generics.cs")] + public void MethodRefDeclaredOnGenerics (ModuleDefinition module) + { + var type = module.GetType ("Tamtam"); + var beta = type.GetMethod ("Beta"); + var charlie = type.GetMethod ("Charlie"); + + var new_list_beta = (MethodReference) beta.Body.Instructions [0].Operand; + var new_list_charlie = (MethodReference) charlie.Body.Instructions [0].Operand; + + Assert.AreEqual ("System.Collections.Generic.List`1<TBeta>", new_list_beta.DeclaringType.FullName); + Assert.AreEqual ("System.Collections.Generic.List`1<TCharlie>", new_list_charlie.DeclaringType.FullName); + } } } diff --git a/Test/Resources/cs/Generics.cs b/Test/Resources/cs/Generics.cs index 40d377b..5c7d5ad 100644 --- a/Test/Resources/cs/Generics.cs +++ b/Test/Resources/cs/Generics.cs @@ -47,6 +47,16 @@ class Tamtam { { Foo (2); } + + static List<TBeta> Beta<TBeta> () + { + return new List<TBeta> (); + } + + static List<TCharlie> Charlie<TCharlie> () + { + return new List<TCharlie> (); + } } class It { |