2010-02-12 Jb Evain <jbevain@novell.com>
authorJb Evain <jbevain@gmail.com>
Thu, 11 Feb 2010 23:25:23 +0000 (23:25 -0000)
committerJb Evain <jbevain@gmail.com>
Thu, 11 Feb 2010 23:25:23 +0000 (23:25 -0000)
* AssemblyStripper.cs: properly set the rva of methods with
no body.

svn path=/trunk/mcs/; revision=151565

mcs/class/Mono.Cecil/ChangeLog
mcs/class/Mono.Cecil/Mono.Cecil/AssemblyStripper.cs

index cfd6d7b07061e7f58d868e12987b8ce3b5171cee..28839cb5cf8427b0ffd2f627c9598a4686028276 100644 (file)
@@ -1,3 +1,8 @@
+2010-02-12  Jb Evain  <jbevain@novell.com>
+
+       * AssemblyStripper.cs: properly set the rva of methods with
+       no body.
+
 2010-01-06     Rodrigo B. de Oliveira <rodrigo@unity.com>
 
        * Mono.Cecil.csproj
index f8e577e56b9a094ced60197cf9b401dcff95334a..77e72e181d8e21fe1dcd36453349b099f8bf3732 100644 (file)
@@ -150,11 +150,14 @@ namespace Mono.Cecil {
 
                                MethodDefinition method = (MethodDefinition) assembly.MainModule.LookupByToken (methodToken);
 
-                               method_rva = method_rva != RVA.Zero
-                                       ? method_rva
-                                       : reflection_writer.CodeWriter.WriteMethodBody (method);
-
-                               methodRow.RVA = method_rva;
+                               if (method.HasBody) {
+                                       method_rva = method_rva != RVA.Zero
+                                               ? method_rva
+                                               : reflection_writer.CodeWriter.WriteMethodBody (method);
+
+                                       methodRow.RVA = method_rva;
+                               } else
+                                       methodRow.RVA = RVA.Zero;
                        }
                }