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

github.com/mono/cecil.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJb Evain <jb@evain.net>2016-02-07 02:41:33 +0300
committerJb Evain <jb@evain.net>2016-02-07 02:41:33 +0300
commite5e40ddbfa672b46dde29f194a97f364dd5f9bc8 (patch)
tree1ebaed00e55b1aa641ff3a2bd3360479b67803c0
parentd47769f23ea1e5a598e14ce3b1d6c5d81ca44422 (diff)
Add support for retargetable assemblies in references
-rw-r--r--Mono.Cecil/AssemblyNameReference.cs5
-rw-r--r--Test/Mono.Cecil.Tests/AssemblyTests.cs17
-rw-r--r--Test/Resources/assemblies/RetargetableExample.dllbin0 -> 3072 bytes
3 files changed, 22 insertions, 0 deletions
diff --git a/Mono.Cecil/AssemblyNameReference.cs b/Mono.Cecil/AssemblyNameReference.cs
index 78b0337..fbbe67a 100644
--- a/Mono.Cecil/AssemblyNameReference.cs
+++ b/Mono.Cecil/AssemblyNameReference.cs
@@ -162,6 +162,11 @@ namespace Mono.Cecil {
} else
builder.Append ("null");
+ if (IsRetargetable) {
+ builder.Append (sep);
+ builder.Append ("Retargetable=Yes");
+ }
+
return full_name = builder.ToString ();
}
}
diff --git a/Test/Mono.Cecil.Tests/AssemblyTests.cs b/Test/Mono.Cecil.Tests/AssemblyTests.cs
index c7e5ef6..4f849f9 100644
--- a/Test/Mono.Cecil.Tests/AssemblyTests.cs
+++ b/Test/Mono.Cecil.Tests/AssemblyTests.cs
@@ -55,5 +55,22 @@ namespace Mono.Cecil.Tests {
name = new AssemblyNameReference ("Foo", new Version (0, 0, 0));
Assert.AreEqual ("Foo, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", name.FullName);
}
+
+ [Test]
+ public void Retargetable ()
+ {
+ TestModule ("RetargetableExample.dll", module => {
+ var type = module.Types [1];
+ //var property = type.Properties [0];
+ //var attribute = property.CustomAttributes [0];
+
+ //var argumentType = ((CustomAttributeArgument) attribute.ConstructorArguments[0].Value).Type;
+ //var reference = (AssemblyNameReference) argumentType.Scope;
+
+ //Assert.AreEqual (
+ // "System.Data, Version=3.5.0.0, Culture=neutral, PublicKeyToken=969db8053d3322ac, Retargetable=Yes",
+ // reference.FullName);
+ });
+ }
}
}
diff --git a/Test/Resources/assemblies/RetargetableExample.dll b/Test/Resources/assemblies/RetargetableExample.dll
new file mode 100644
index 0000000..a33acb4
--- /dev/null
+++ b/Test/Resources/assemblies/RetargetableExample.dll
Binary files differ