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 <jbevain@gmail.com>2015-06-01 19:07:50 +0300
committerJb Evain <jbevain@gmail.com>2015-06-01 19:19:05 +0300
commitfd8f1b0886605234e0e045d922eea929ecacd7c6 (patch)
treefc4ec6ee24968f6f656a5940d6dcb6968c784b06
parent64e7378355454323ad9d3cc148ebac8519440e0e (diff)
Fix for #225. ANR.Culture should not return neutral as it turns out
-rw-r--r--Mono.Cecil/AssemblyNameReference.cs6
-rw-r--r--Test/Mono.Cecil.Tests/AssemblyTests.cs2
-rw-r--r--Test/Mono.Cecil.Tests/ImportReflectionTests.cs12
3 files changed, 16 insertions, 4 deletions
diff --git a/Mono.Cecil/AssemblyNameReference.cs b/Mono.Cecil/AssemblyNameReference.cs
index 35b077f..a202e91 100644
--- a/Mono.Cecil/AssemblyNameReference.cs
+++ b/Mono.Cecil/AssemblyNameReference.cs
@@ -39,7 +39,7 @@ namespace Mono.Cecil {
}
public string Culture {
- get { return string.IsNullOrEmpty (culture) ? "neutral" : culture; }
+ get { return culture; }
set {
culture = value;
full_name = null;
@@ -152,7 +152,7 @@ namespace Mono.Cecil {
builder.Append (version.ToString (fieldCount: 4));
builder.Append (sep);
builder.Append ("Culture=");
- builder.Append (Culture);
+ builder.Append (string.IsNullOrEmpty (culture) ? "neutral" : culture);
builder.Append (sep);
builder.Append ("PublicKeyToken=");
@@ -194,7 +194,7 @@ namespace Mono.Cecil {
name.Version = new Version (parts [1]);
break;
case "culture":
- name.Culture = parts [1];
+ name.Culture = parts [1] == "neutral" ? "" : parts [1];
break;
case "publickeytoken":
var pk_token = parts [1];
diff --git a/Test/Mono.Cecil.Tests/AssemblyTests.cs b/Test/Mono.Cecil.Tests/AssemblyTests.cs
index 8a9f632..e7af8d4 100644
--- a/Test/Mono.Cecil.Tests/AssemblyTests.cs
+++ b/Test/Mono.Cecil.Tests/AssemblyTests.cs
@@ -18,7 +18,7 @@ namespace Mono.Cecil.Tests {
Assert.IsNotNull (name);
Assert.AreEqual ("hello", name.Name);
- Assert.AreEqual ("neutral", name.Culture);
+ Assert.AreEqual ("", name.Culture);
Assert.AreEqual (new Version (0, 0, 0, 0), name.Version);
Assert.AreEqual (AssemblyHashAlgorithm.SHA1, name.HashAlgorithm);
});
diff --git a/Test/Mono.Cecil.Tests/ImportReflectionTests.cs b/Test/Mono.Cecil.Tests/ImportReflectionTests.cs
index 87d9277..c83e5b7 100644
--- a/Test/Mono.Cecil.Tests/ImportReflectionTests.cs
+++ b/Test/Mono.Cecil.Tests/ImportReflectionTests.cs
@@ -121,6 +121,18 @@ namespace Mono.Cecil.Tests {
Assert.AreEqual ("FooBar", concat ("Foo", "Bar"));
}
+ [Test]
+ public void GeneratedAssemblyCulture ()
+ {
+ var id = Compile<Func<int, int>> ((module, body) => {
+ var il = body.GetILProcessor ();
+ il.Emit (OpCodes.Ldarg_0);
+ il.Emit (OpCodes.Ret);
+ });
+
+ Assert.AreEqual ("", id.Method.DeclaringType.Assembly.GetName ().CultureName);
+ }
+
public class Generic<T> {
public T Field;